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

The bonus rewards in Call of Duty: Modern Warfare for watching Twitch streams offer is back.

To celebrate the start of Season 1 of Call of Duty: Modern Warfare, Activision is teaming up with Twitch again to enable drops for select COD Partner streams. Watching select streamers will let you get additional bonus content in game.

With the multitude of new content available to watch on Twitch, we’ve got some in-game rewards you can earn for tuning in. Watch Modern Warfare from December 3 at 10AM PT to December 10 at 10AM PT on Twitch to earn rewards, then equip them in-game and jump into all the action of Season One.

Here’s the steps to watching and earning Modern Warfare rewards on Twitch:

  • Step 1: Get a Call of Duty Account: Registering for a Call of Duty account is a relatively easy process that gives you some awesome benefits. Accounts make it possible for cross-play to be enabled in Modern Warfare, and you’ll receive all the latest intel and personalized stats. Get an account by going here. If you already have an account, you’re all set.
  • Step 2: Link and Re-link: Once you have a Call of Duty account, connect it to your Twitch Account, so you can start earning!
    • Go here to link your Call of Duty and Twitch accounts. 
    • If you already have a Twitch account, you must re-link. Re-linking ensures you have enabled the correct permissions, so you can earn rewards. Go here to re-link your Call of Duty and Twitch accounts.
  • Step 3: Watch and Earn: Then, you’ll need to head to Twitch and get a look at the streamers who are playing Modern Warfare. On drop eligible streams you’ll see a callout that “drops are enabled”, so you know you are officially watching and earning. From there, click the stream and enjoy the gameplay. You can watch multiple streamers or one stream but as long as they are “drop eligible” your total watch time will be tallied up, so you can earn rewards.
  • Step 4: Get the Goods: So, you’ve watched some awesome gameplay of Season One of Modern Warfare and want to know what’s headed to your inventory? Details below:
    • Watching 1 hour – earns a 30 min Double XP token
    • Watching 2 hours – earns the ‘Wings of Valor’ emblem
    • Watching 3 hours – earns the ‘Best in Class’ spray
    • Watching 4 hours – earns the ‘Hand Cannon’ animated calling card

This is available from December 3 at 10AM PT through December 10 at 10AM PT.

SOURCE: Activision

comments below