1.15.0 (2020-03-04)
Bug Fixes
- ads: Added
waiting
event to be dispatched while loading Ads; fixed conditionals to show/hide loader (f26c25f) - ads: Added conditional to avoid autoplay when an error occurs attempting to play Ads (3a61f62)
- ads: Added missing call to initialize() method after an error occurred and having multiple Ads to play; added new event listener to resize Ads when media has been loaded (74039e9)
- ads: Added missing callback on mobile devices to load Ads correctly (39bae5b)
- ads: Added missing conditional to destroy correctly Ads when single URL is being passed via an array (a2e840a)
- ads: Added missing workflow for mobile Ads to resume correctly media and display middle and postroll Ads correctly (ea61843)
- ads: Added more conditionals to check errors from trying to determine if a string is a valid XML or not (728290e)
- ads: Added new conditional to play media if error was detected on Ads; added missing docs (a7c97c7)
- ads: Added workflow to prevent video to starts playing before the Ad (5cde1a4)
- ads: Addressed first issues with iOS when playing Ads inline (2051df6)
- ads: Cleaned up styles for Ads, simplified method to resize Ads and added missing conditional to indicate their view mode (618dfd2)
- ads: Dispatched new event to show loading state on ads; fixed dimensions on Ad when starting to play; fixed typo in waiting event (e16c6a1)
- ads: Expanded conditional to start media after Ad has been played if there is no
seekable
info; added missing event for HLS media (918aaa8) - ads: Fixed Ads workflow when playing midroll Ads not updating properly Play button (2d1bbc8)
- ads: Fixed issue when player is not recovering after Ads error (4b8a0d3)
- ads: Fixed issue where double requests to media were made non-mobile devices after Ads ended (d791f54)
- ads: Fixed issue with DASH not setting sources properly when interacting with Ads; fixed autoplay workflow with Ads (482771e)
- ads: Fixed workflow to autoplay Ads in iOS by playing them muted initially (5fca8f9)
- ads: Fixed workflow when dealing with a list of Ads URLs; removed unnecessary workflow to end media when Ad is completed (66dddea)
- ads: Modified error conditional and displaying of error; added missing workflow on
loadedmetadata
event to check if more Ad URLs need to be loaded (72caef6) - ads: Refactor workflow on Ads to ensure they will play in mobile devices correctly; fixed styles for Ads and removed tooltip from mobile devices (f0ae7ec)
- ads: Removed event listener once Ad has been destroyed (c5f645f)
- ads: Removed event that caused only one Ad to be played in iOS; hid captions when Ads are playing in mobile devices and improved loading of sources in demo (6cbbaa1)
- ads: Removed event that caused only one Ad to be played in iOS; hid captions when Ads are playing in mobile devices and improved loading of sources in demo (eb0e8e9)
- ads: Test autoplay capabilities inside Ads only if
autoStart
is set totrue
(7e15a84) - ads: Updated documentation for Ads (b4ca1fc)
- captions: Added missing conditional to avoid issues if caption layer is not ready to show captions (10e5bba)
- captions: Added missing workflow to check if hours were present in closed captions time codes; updated README file to indicate how to integrate closed captioning (ddb621b)
- captions: Added missing workflow to set the proper caption language as data-* attribute when clicking on Caption toggle button; fixed package import (76f1ec6)
- captions: Added new styles to deal with iOS native captions when using fullscreen and removed unnecessary ones (044c5f0)
- captions: Added workflow to only include tracks with captions and subitems in the Settings element if there are more than 2 captions available (b97c0dc)
- captions: Added workflow to verify that tracks match the
track
tag(s) (if any) to avoid extra TextTracks to be included (f424dbd) - captions: Changed way to generate menu caption items when
detachMenu
is true due to issues with nodes being removed asyncronously (026ae98) - captions: Fixed workflow to prepare captions correctly by removing assignment of current caption to the first one (a6aa9bf)
- config: modified config elements to create bundles correctly (81941cb)
- controls: Added missing workflow for mobile devices to avoid hiding controls (8689291)
- controls: Added new class to indicate position of the custom controls; ensured that all items in right position are prepended rather than appended (c3066ab)
- controls: Ensured that fullscreen is the last icon on the control bar; added missing documentation (70e19c1)
- controls: Synced play event with timeout option to hide at the same time controls and play button (4073e4f)
- css: Added new styles to fix issues in IE11 and display captions on iOS properly when not using
playsinline
attribute (b48baba) - css: Adjusted styles to remove ticks in IE11 and added missing CSS property on volume bar (f659903)
- css: Fixed minor style for time rail to get correct focus on audio player (5bdae42)
- Definitions: Removed
export
keywords and fixed header to pass tests (c1616c0) - demo: Removed ES6 arrow function for better compatibility (98a8530)
- demo: Reverted demo to original state (57f341c)
- docs: Added CSS rule for text (a74b0cb)
- docs: Added missing form element and integrated workflow to consider audio in embed iframe (8193786)
- docs: Added missing URL element to obtain proper permalink (d230422)
- docs: Fixed style for iframe (f9781be)
- docs: Re-added old folder for player docs and fixed NPM commands (b580a05)
- documentation: Fixed documentation and changed order of certain methods for consistency, and refactor type definition (b5258b3)
- documentation: Fixed typos (66f2aed)
- documentation: More verbosity in JS snippet to clarify possible values (68e7bd7)
- events: Fixed Ads error event due to typo; removed default
onError
content (d6312db) - fullscreen: Fixed issues related to non-standard methods for fullscreen (2a95d4c)
- hls: Use long URL to avoid 404 in source map for HLS.js (f0685c8)
- media: Fixed workflow to enhance custom media to a more reduced approach (c3f2c9e)
- media: Improved the workflow to start and stop loading of HLS sources depending of autoplay/preload attributes (dfda5cd)
- package: Downgrade cssnano version (1bdd562)
- package: Fixed README URL (bf02e0b)
- package: update deepmerge to version 3.0.0 (50c148a)
- package: Updated packages and fixed names for
main
,style
andtypes
elements (2c2c97a) - player: Added
requestAnimationFrame
andcancelAnimationFrame
for resize events (87ec25c) - player: Added conditional to test if container of player exists to remove callback effectively (e78c1ef)
- player: Added control position as part of each one of the controls class names to allow more advanced styling (82a0634)
- player: Added default value when no options are passed to the player (aed189f)
- player: Added missing action to remove class from Captions button when hiding captions (56dbe99)
- player: Added missing condition to captions button to remove class; fixed issues with WebPack and unit tests (5c01eb2)
- player: Added missing conditional to avoid attempting to build player when element does not exist (da497eb)
- player: Added missing conditional to avoid issues when clicking multiple times on Settings; changed browser to test locally (c3cc4b5)
- player: Added missing conditional to remove event correctly (6bb7c71)
- player: Added missing conditional to set an empty source when none is present (3bd81b1)
- player: Added missing conditionals to allow big pause button to play video (f59c144)
- player: Added missing conditionals to avoid hiding controls when paused and on regular media; fixed typo on stylesheet (3e68e7c)
- player: Added missing conditionals to set proper config on HLS and Dash players; changed test source to use HTTPS (874f932)
- player: Added missing event and avoid default behavior on play button (2cc1d93)
- player: Added missing events to display/hide loader image (c2e8d0a)
- player: Added missing tabindex for Mute button (feb3b35)
- player: Added missing try/catch blocks to execute exceptions properly (0762c3d)
- player: Added missing workflow to allow player to toggle fullscreen if user is in fullscreen mode and controls are recreated (2b48fe9)
- player: Added missing workflow to check if media has finished playing when Ad stopped playing on post roll to destroy Ads completely (0716b52)
- player: Added missing workflow to hide other menus when selecting another (fa01773)
- player: Added play event to hide control bar (e1884bb)
- player: Added proper tooltip on play button when it is paused (051e23c)
- player: Borrowed snippet to test if HLS.js is truly supported on browser (a8090e1)
- player: Changed
hidden
todisabled
mode to avoid displaying native captions on MS Edge (9dac443) - player: Changed default setting for speed to current media one to allow user to use a different one (34bb41a)
- player: Changed paths for packages to give proper support to IE11 (b926dc6)
- player: Changed target to execute keydown event to main wrapper to use keyboard successfully (b2b2893)
- player: Deactivated
Levels
by default; added new source for playlist (b7de69c) - player: Enhanced events for iPhone to support fullscreen (88a5624)
- player: Expanded conditional to allow rendering settings speed by default (fe5a271)
- player: Expanded conditionals to test if media is HLS or Dash using also MIME types (cd3c72c)
- player: Favored native captions in inline mode after the user has enabled fullscreen in iOS (fca7fa1)
- player: Fix data-* attribute to indicate active caption language (49a24b2)
- player: Fixed
fill
effect by using more CSS properties to enable proper resizing using that effect (8112984) - player: Fixed Accessibility issues found in the player via Wave (f1200ea)
- player: Fixed callback to autoplay workflow based on iOS and Safari policies to autoplay on mute (abae7bd)
- player: Fixed duration issues when duration is Infinity (057a6cb)
- player: Fixed error when running tests on Travis (aaee1ea)
- player: Fixed issue with non-existing Ads options (e15cf09)
- player: Fixed issue with not being able to pause video by touching screen on iPad and fixed fullscreen presentation (1166bef)
- player: Fixed position of tooltip and fixed issue related to promise not being executed correctly (#120) (3a0dd5c)
- player: Fixed typo and added workflow to just update captions when track with same srclang and kind existed previously (0bab31e)
- player: Fixed typo when checking for captions detected and added assignment of default caption at higher level (41f7875)
- player: Fixed typos when creating event and added documentation about it (e180e46)
- player: Fixed way to attach/dispatch HLS events for hls.js (129b68f)
- player: Fixed way to create events to pass data from media types correctly (8549577)
- player: Formatted time when media has ended and added missing validation for it to avoid displaying NaN values (c4c591e)
- player: Hid buttons not needed for Ads (b3bb99a)
- player: Hid default captions layer to favor player's captions layer (c06adcf)
- player: Modified autoplay workflow to verify current media content instead of video placeholder; removed unnecessary code in Ads to verify autoplay capabilities (59848dd)
- player: Moved event dispatcher outside of conditional to ensure volume icon is updated accordingly (5bbf745)
- player: Moved loader hiding outside of timer on
play
event (1f081ae) - player: Refactor workflow to add captions based on validation and existance of cues ahead of time to avoid rendering languages with no valid captions (d3c53d6)
- player: Refined support for HLS.js by not including Safari as part of the supported browsers (9df28f7)
- player: Refined touch event on time rail to prevent default behavior; fixed issue with Ads not playing correctly on iOS (42bfd46)
- player: Refined workflow to update captions (37a3e09)
- player: Removed conditional to create controls on iPhone as well, and added negative
z-index
in Ads container when inactive (1aca10e) - player: Removed duplicate controls due to deep merge (98218f8)
- player: Removed missing window event listener once player is destroyed (a3f596b)
- player: Removed reset of playback when destroying settings (a0acf28)
- player: Removed resetting of
autoplay
and expand conditional to test if HLS.js needs to be loaded (09c3124) - player: Removed unnecessary attributes; expanded conditional on
loadedmetadata
to not consider mobile devices; added missing workflow to show/hide progress bar per tests on Android devices (06281c7) - player: Removed unnecessary event workflow and added loader state in
loadedmetadata
event (2f6c03c) - player: Reordered operation to ensure proper creation of markup when
controlschanged
event is dispatched (9feff69) - player: Restructured way to build captions menu to avoid issues on IE11 when
detachMenus
istrue
(9d0d2a7) - player: Set play request for Ads when clicking on media; fixed workflow to check if player can play media; removed setting controls when requesting Ads (fd53ee2)
- player: Simplified workflow to generate fullscreen video by relying only in CSS (e6f435f)
- player: Updated import references due
core-js
latest update (40f9475) - player: Updated method in Dash.js after upgrade (71c4a93)
- progress: Removed tooltip completely from mobile devices (591d2f9)
- readme: Added correct way to install package via NPM (8f449ac)
- readme: Added correct way to use package for Node projects (c7582ee)
- readme: Updated logo (ef21fb1)
- README: Added updated examples and fixed minor issues detected in structure (5da9545)
- release: Removed unnecessary commands (14a8927)
- settings: Added new event to remove items from settings; implemented event in captions when no cues are detected (bc6c1e0)
- settings: Fixed issue with Settings not retrieving the proper submenu after selecting an option from it (643b82f)
- styles: Added missing
z-index
in buttons to override progress bar index in IE11 (ee57974) - styles: Added missing CSS rule for input range (640a5c2)
- test: Changed version of NodeJS (83fb6c1)
- test: Fixed bundle path in Karma config (8a94d98)
- test: Fixed path for bundles in test file (682d589)
- tests: Added missing elements to Travis config file (a5fc0c5)
- tests: Changed sources to a valid one (a57817c)
- tests: Changed sources to a valid one (4fde589)
- tests: Fixed unit tests due changes on event (4e0ddb9)
- tests: Removed elements from Travis CI config to allow Greenkeeper to work (3d8bb78)
- tests: Removed unnecessary task from Travis CI (919fdd7)
- tests: Reverted settings to allow Travis to continue testing properly (57ad7cc)
- tests: Updated MP4 source to match the current source in the video tag (5f2cccd)
- webpack: Added
global
package (e4a9399) - webpack: Added new option to bundle package with global object to avoid calling
window
(afdd2c7) - webpack: Fixed webpack and babelrc config after babel-loader upgrade (1b80c33)
- webpack: Removed configuration for
cssnano
configuration and updated package (91cb87e)
Features
- controls: Moved keyboard events to each of the control elements; refactor way to add/remove default controls via settings (089942b)
- demo: Added updated stream and updated documentation (a5afabe)
- levels: Added documentation about new way to config controls (58814f3)
- levels: Added missing label for button accessibility (f2efc7d)
- levels: Added missing workflow to manipulate detached menu; fixed several issues with Dash.js due to upgrades and added HTML5 workflow for levels (dd2eb33)
- levels: Added new levels retrieval for HLS and M-DASH, and started control element by setting default level in its button (087feac)
- levels: Added setters/getters for levels (20c18e3)
- levels: Added workflow to render levels, removing duplicated labels and setting submenu to switch them (4a5cb9b)
- levels: Changed name of label and added missing one for
Auto
level (daff328) - payer: Added new
playererror
event to expose any errors in an OpenPlayer instance (b42cc3b) - player: Added ability to change labels as an effort to support localization (fb1f50e)
- player: Added global library to add window object (30190de)
- player: Added new
addControl
callback to append new control items, and modified class to auto generate custom control items based on the properties passed; updated demo file to show new capability (e793062) - player: Added new
playerdestroyed
event; added workflow to detect live HLS streaming and display aLive Broadcast
legend (5bc4d53) - player: Added new config element to show loader properly and fixed events to show/hide big play/loader elements (451e1e8)
- player: Added new config element to start media at a certain second; included documentation of it (ba84633)
- player: Added new configuration element to set initial volume on media (a3334e2)
- player: Added new configuration to show progress bar when using live streamings, per #117 (271a2ad)
- player: Added new option to enable buttons to contain submenus, instead of putting all of them inside the
Settings
control (5f40716) - player: Added new wrappers for default method to get/set defaultPlaybackRate, part of the HTML5 specs (723d481)
- player: Allowed displaying the Pause button correctly and added new flag to control the time it will take to disappear once video starts playing (1b37a5f)
- player: Introduced new workflow to consider
preload
attribute to avoid loading media when no Ads are present (fe34917) - player: Renamed classes for entire project; fixed Type Definition file (6ca9285)
- release: Added
release-it
package to simplify release tasks (35c5cc0) - tests: Added browser tests with Mocha/Chai and support for Travis CI (b63fcda)