As browser autoplay policies evolve to create a better video experience for viewers, it has become increasingly challenging for publishers, especially those that monetize their content, to ensure consistency. Safari 11 was first to take a strong stance by giving viewers the power to prevent videos from starting automatically. In JW 8.1, we implemented functionality to pause playback instantly when the browser blocks an autoplaying video. With the impending release of Chrome 66 in April, we invested a lot of time in simplifying the expected behavior so that we can provide viewers the right feedback to know if and when they need to interact with the player to start playing, while also mitigating the impact on our publishers’ ability to monetize their content. In JW 8.2, the player will react to the combination of the browser’s restrictions and the publisher’s setup configuration by autoplaying with or without sound, or falling back to a click-to-play player.
Release Date: April 24, 2018
For IMA, fixed an issue with a mute-state incompatibility between Browser Autoplay Policies and Video Player Bidding, where autostart-muted ads might incorrectly fail to play even though the browser would allow it.
Release Date: April 16, 2018
For Video Player Bidding, created a new mediation option when the SpotX bidder is in use ‘jwpspotx’ which allows SpotX to act as the primary adserver.
Updated the FreeWheel ad plugin to start sending video playback events to the adserver.
Created a new timeout config option for the IMA ad plugin ‘vastLoadTimeout’ and extended the default to 10 seconds from 5.
Fixed an issue preventing DASH streams from being cast from the idle state.
Release Date: April 4, 2018
We’re optimizing the click-to-play button to drive more plays for our publishers. Some customers may notice their play button is more stylized than before.
When the player is within range of the live edge, viewers will now see the video position at the end of the timeslider. Previously, a slight gap erroneously implied the viewer was not at the edge.
Created a new 'startOnSeek' ad rule. This can be used in conjunction with seek() in lieu of a play event to define a start position and begin playback. This prevents viewers from being bombarded with ads when starting content playback from somewhere other than the content’s beginning.
Expanded Video Player Bidding functionality to the VAST plugin. Video Player Bidding was initially only available for IMA plugin.
For Video Player Bidding, created a new mediation layer ‘JWPDFP’ that combines both existing mediation layers (JWP and DFP), allowing the SpotX bidder to take advantage of the benefits of both mediation layers.
Fixed an issue causing the recommendations shelf to appear over ads.
Fixed an issue causing the live icon to flicker on and off when a viewer falls behind the edge in a DVR/live stream.
Fixed an issue in IE and Edge where the stretching configuration option was not respected if set to a value other than “uniform.”
Fixed an issue with live videos causing the position in the control bar to change constantly within a few second range, which negatively impacted the viewer experience.
Fixed an issue with captions not working in 360 videos in Safari.
Fixed an issue causing the page to scroll to a random point when players embedded with an iframe were clicked using Safari on iOS.
Fixed an issue where the VAST [ERRORCODE] macro was not being automatically filled if present at the root of the XML rather than within the element in the InLine or Wrapper elements.
Release Date: March 21, 2018
Updated the player to check for browser-level autoplay restrictions.
Updated the player to autoplay with sound if possible, autoplay muted if possible when there are no ads, or autoplay muted ads if autoplayadsmuted: true is set. The player will fall back to click-to-play after exhausting all autoplay options.
Added the ability to start playback from a non-zero position. You can register seek as a function of the ready or playlistItem events, so that the player starts playing from a specific point.
Added support for DASH streams on desktop Safari. NOTE: DASH streams are not supported on iOS Safari, nor with Airplay on desktop devices.
Added user agent detection for UC browser, where previously it was reported as Chrome. UC browser can be detected using the getEnvironment() API.
Implemented licenseResponseFilter for DASH streams and Fairplay. These methods allow customers to modify or access responses from license requests. This is needed for license wrapping implementations.
Added a new API method, getCurrentTime(), which exposes the current time value of content. For on-demand streams, currentTime will be the same as the position. For live or DVR streams, the currentTime will not be modified based on duration or seekable range.
Improved the user experience on mobile devices by allowing the viewer to pause playback of videos that autostart muted without unmuting first.
Expanded media preloading capabilities to preload subsequent media before the current media ends. As is the case with preloading media that will play after an ad break, this behavior will only occur when the preload configuration option is set to metadata (default) or auto. Players with preload set to none won’t load content in the background.
Improved accessibility for the recommendations shelf so that viewers can interact with it using a keyboard or screen reader. Viewers can use the left and right keys to paginate through the shelf and the escape key to close the shelf when not in fullscreen mode.
Passed the results of the autoplay restrictions check to the ad plugin using the two new fields in the IMA ad request, 'setAdWillAutoPlay' and 'setAdWillPlayMuted'. This is necessary for AdX/AdSesnse. FreeWheel
Added the adLoading parameter to the adError event.
Updated the requestTimeout configuration option to work.
Added the streamType: live configuration option for denoting live streams with FreeWheel ads.
Improved the user experience by making the player click-to-play when the browser suppresses autostart.
Fixed an issue causing the pause event to trigger twice when serving a mid-roll ad.
Fixed an issue preventing the controls from fading away if you mouse out of the player over the controls.
Fixed a bug with VTT captions reducing the horizontal space for captions, which drastically increased the number of lines of text per caption.
Fixed an issue where the player did not successfully cast playlists if the JSON file was greater than 56.2kb in size due to a memory restriction on chromecast devices