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

Call of Duty: Ghosts was met with pretty bad reviews for what is touted as the biggest FPS in the world. Review scores fell behind EA’s Battlefield 4, and many sites called Ghosts a “step backward in the franchise”.

But, that doesn’t affect sales numbers, according to a new report from  Doug Creutz of Cowen & Company, who notes that while Metacritic scores for Call of Duty: Ghosts are hovering around the 74. Regardless of what the reviewers say of Ghosts, Call of Duty will continue to sell at an enormous rate.

“We think CoD has become such an embedded franchise that it is somewhat review-proof,” he said. “We think of CoD as being like EA’s Madden NFL, which continues to sell similar unit numbers year in and year out, regardless of reviews; Madden’s Metacritic has ranged as low as 78 in recent years. Given that CoD changes only incrementally from year to year, we think reviewers have become increasingly less likely to give very high review scores due to a certain degree of ennui with the franchise.”

Even though Battlefield 4 exceeded Ghosts in reviews, that game isn’t selling very much for current-gen. The analyst says that Call of Duty’s biggest competition will be coming in Spring 2014 with Destiny (an Activision game) and Titanfall (EA’s game).

“Our concern lies more with next year, when Call of Duty will face competition from several new next-gen shooters, including EA’s Titanfall and Activision’s own Destiny,” said the analyst.

SOURCE: GiBiz

comments below