// 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 effect = has been clicked
var closed = true; // CHANGED
// flag determing who 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
isScrollTimeout = false;
}, 80);
}});

Activision and the Call of Duty ™ Endowment have announced a new promotion of this year's Veteran's Day and celebrate the non profit organization's 10 year anniversary.

Only on Monday, November 11, 2019, you can earn bonus Call of Duty Endowment Cosmetic content in Call of Duty: Modern Warfare by watching select streams on Twitch. Ensure your Call of Duty profiles and Twitch accounts are properly.

If you watch for one hour, you will get 30 minutes of Double XP in Call of Duty: Modern Warfare. If you watch for two hours, you will get a call calling card Call of Duty: Modern Warfare.

Here's the list of streamers that will have drops enabled on November 11.

Modern Warfare on November 11, in honor of Veterans Day in the United States, The Call of Duty Endowment and only on this day, Get a 2XP Token (30 Minutes) for watching one hour of content, and the "Ode to the Brave" animated calling card for watching two hours of content,

SOURCE: Activision