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

It’s almost time for the launch of Call of Duty: Infinite Warfare and Call of Duty: Modern Warfare Remastered! As we head closer to that date, we wanted to write a post with details on file sizes and pre-loading of the game.

PlayStation 4:

Infinite Warfare on PlayStation 4 is a 44.6GB download. Modern Warfare Remastered is a 37.2GB download. The file size may slightly vary based upon your region.

Pre-loading of Infinite Warfare (and Modern Warfare Remastered, if you bought Digital Deluxe or Digital Legacy) is now live across all regions.

In addition to the games, on PS4, pre-loading is also available for the preorder bonuses of Infinite Warfare, including Terminal Bonus Map and the Zombies in Spaceland Personalization Pack. PS4 players also get a free Infinite Warfare and Modern Warfare Remastered theme.


Xbox One:

Infinite Warfare on Xbox One is a 52.1GB download. Modern Warfare Remastered is a 45.85GB download.

Pre-loading of Infinite Warfare (and Modern Warfare Remastered, if you bought Digital Deluxe or Digital Legacy) is live now on Xbox One in all regions. If you have bought the title digitally, check your Library to see if the pre-load has started.

In addition to the games, on Xbox One, pre-loading is also available for the preorder bonuses of Infinite Warfare, including Terminal Bonus Map and the Zombies in Spaceland Personalization Pack.


PC:

Pre-loading of Infinite Warfare and Modern Warfare Remastered is now live on PC! Visit your Steam app to learn more about pre-loading the game before November 4 launch.


The game will unlock at midnight local time on November 4. In North America, the game unlocks on November 3 at 9PM Pacific, 11PM Central, and November 4 at 12AM for those on East Coast.

As we get closer to launch, be sure to follow us on Twitter for the latest news!

Feature image via @Kustommzz.

comments below