// 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); }; });

A new update is coming to Call of Duty Black Ops 4 on PC that will address issues with long lobby wait times for certain game modes.

On April 16, the Core playlists on PC will be segmented into Team Deathmatch, Search & Destroy, Mercenary Deathmatch Moshpit, Objective Moshpit, and Lone Wolf Moshpit.

The idea here is that with more focused playlist, players will be able to spend more time playing instead of waiting.

The full update can be seen below but remember, this is only for PC players, not console:

Our next Curated Playlists update arrives tomorrow, April 16th, and we plan to include the following changes.

Match Start Requirements

To further improve wait times in non-peak hours, we are reducing the minimum number of players required to start a match in the following Moshpits: Core Mercenary Deathmatch, Core Objective, Hardcore Deathmatch, and Hardcore Objective.

We believe this will help players across all regions and time zones get into matches quicker to spend more time playing. We will continue to monitor your feedback and watch the wait time data.

New Lone Wolf Moshpit

Whether you’re an army of one or waiting for your crew, we believe this new playlist will fit right into your schedule. We’re blending Free For All, One In The Chamber, Gun Game, and Heist together into our brand new Lone Wolf playlist. No parties allowed.

Read on below for more details:


  • Core Playlist Availability
    • Team Deathmatch
    • Search & Destroy
    • Mercenary Deathmatch Moshpit
      • Team Deathmatch
      • Kill Confirmed
    • Objective Moshpit
      • Control
      • Hardpoint
      • Domination
      • Safeguard
    • Lone Wolf Moshpit
      • Free For All
      • One In The Chamber
      • Gun Game
      • Heist
  • Match Start Requirements
    • Reduced Mercenary Deathmatch Moshpit match start requirements to 8 players from 10.
    • Reduced Hardcore Deathmatch Moshpit match start requirements to 8 players from 10.
    • Reduced Objective Moshpit match start requirements to 6 players from 8.
    • Reduced Hardcore Objective Moshpit match start requirements to 6 players from 8.


  • Match Start Requirements
    • Reduced match start requirements to 80 players from 100 in current and future Blackout modes when applicable.

Our Curated Playlist program continues to evolve with in-game data and community feedback. Please continue to share your constructive feedback right here on Reddit and Twitter.


comments below