// initialize jwplayer var playerInstance = jwplayer('player'); // player dom elements var playerContainerEl = document.querySelector('.player-container'); // returns video player position from top of document function getElementOffsetTop(el) { var boundingClientRect = el.getBoundingClientRect(); var bodyEl = document.body; var docEl = document.documentElement; var scrollTop = window.pageYOffset || docEl.scrollTop || bodyEl.scrollTop; var clientTop = docEl.clientTop || bodyEl.clientTop || 0; return Math.round(boundingClientRect.top + scrollTop - clientTop); } // returns the current y scroll position function getScrollTop() { var docEl = document.documentElement; return (window.pageYOffset || docEl.scrollTop) - (docEl.clientTop || 0); } // configure jwplayer instance playerInstance.setup({ autostart: true, playlist: 'https://cdn.jwplayer.com/v2/playlists/mYdavspX', primary: 'html5', setFullscreen: true, width: '100%' }); // when jwplayer instance is ready playerInstance.on('ready', function() { var config = playerInstance.getConfig(); var utils = playerInstance.utils; // get height of player element var playerHeight = config.containerHeight; // flag determining whether close has been clicked var closed = true; // CHANGED // flag determing whether player is playing var playing = false; // ADDED // eventhandler for when close button is being pressed document.getElementsByClassName('icon-close')[0].addEventListener('click', () => { closed = true; onScrollViewHandler(); }); playerInstance.on('play', function() { closed = false; playing = true; // ADDED }).on('pause', function () { playing = false; // ADDED }).on('adPlay', function() { closed = false; // ADDED playing = true; // ADDED }).on('adPause', function() { playing = false; // ADDED }); // get player element position from top of document var playerOffsetTop = getElementOffsetTop(playerContainerEl); // set player container to match height of actual video element playerContainerEl.style.height = playerHeight + 'px'; // below we handle window scroll event without killing performance function onScrollViewHandler() { var minimized = getScrollTop() >= playerOffsetTop; if (closed && minimized) { minimized = false; jwplayer().pause(); playing = false; // ADDED } else if (!minimized && !playing) { closed = true; // ADDED } utils.toggleClass(playerContainerEl, 'player-minimize', minimized); // update the player's size so the controls are adjusted playerInstance.resize(); } // namespace for whether or not we are waiting for setTimeout() to finish var isScrollTimeout = false; // window onscroll event handler window.onscroll = function() { // skip if we're waiting on a scroll update timeout to finish if (isScrollTimeout) return; // flag that a new timeout will begin isScrollTimeout = true; // otherwise, call scroll event view handler onScrollViewHandler(); // set new timeout setTimeout(function() { // reset timeout flag to false (no longer waiting) isScrollTimeout = false; }, 80); }; });

David Vonderhaar has gone to Twitter to acknowledge a lag spike bug that occurs when players join or leave Xbox Live parties. 

Treyarch’s Game Design Director, David Vonderhaar, has been doing a good job of keeping the community up to date on Call of Duty Black Ops 4’s development process. From comments on the Blackout map itself to upcoming features, his tweets keep the players informed.

On November 28, Vonderhaar went to Twitter to reply to @Jzggernaut’s question regarding a fix to a lag spike issue on Xbox One.

The user asks if they plan on addressing why the game suffers lag spikes when players are joining or leaving Xbox Live parties. Vonderhaar replied by saying that it needs more work and is bothering him as well.

The exchange can be seen here:

While this issue has been brought up by the community as far back as August of this year during the game’s beta, this is first time it has publicly been addressed by the development staff.

More specifically, lag spiking is when your game’s connection strength drops from four green bars, to one red bar for several seconds, and then back up. This can impact matches severely if the player is in the middle of a heated gun fight, and they start lagging unexpectedly.

Since this issue happens when players are leaving and joining Xbox Live parties, a way to avoid it would be to set your party status to private, and tell party members to give you a heads up before leaving.

Although Vonderhaar has stated it needs more work, there is still no time table as to when Treyarch will fix this bug.

comments below