Skip to content

Latest commit

 

History

History
4865 lines (4188 loc) · 233 KB

File metadata and controls

4865 lines (4188 loc) · 233 KB

Changelog

3.2.21 (2023-04-27)

Bug Fixes

3.2.20 (2023-03-02)

Bug Fixes

  • Ads: Fix CS volume ad (#5016) (7d644ca)
  • Ads: Fix usage of EventManager on CS (#5017) (0fcaeaa)
  • ads: Fix VMAP ads stay muted on muted autoplay (#4995) (4c5cf61)
  • Allow the playback of TS without mux.js (#5041) (2e3c720)
  • Caption can not turn off at iOS Safari (#4978) (b644860)
  • Demo: Allow manifest type for DAI custom assets (#4977) (2a66112)
  • Failed to set 'currentTime' property on 'HTMLMediaElement' on a Hisense TV (#4962) (59d2e09)
  • Fallback to isTypeSupported when cast namespace is undefined (#5012) (1834ad3)
  • Fix video/mp2t mimetype conversion. (#5039) (cec2b28)
  • HLS: Add .tsa and .tsv file extensions as valid MPEG2-TS. (#5034) (6c4efe2)
  • Increase IndexedDB timeout (#4984) (2b81cb4)
  • MCap: Remove robustness when robustness value is default (#4953) (6115dd7)
  • Prevent content from being restarted after Postroll ads (#4979) (8969f1e)
  • Reject TS content on Edge (#5043) (c5c4d0f)
  • VTT: Fix spacing between text lines (#4961) (40bff87)
  • WebVTT: Tags in the WebVTT subtitle are not parsed (#4960) (542883f)

3.2.19 (2023-01-31)

Bug Fixes

  • Add mux.js to support.html (#4923) (cec295a)
  • DASH: Fix dynamic manifests from edgeware (#4914) (03c95ee)
  • Fix MediaCapabilities polyfill on Hisense (#4927) (c217de0)
  • Fix WebVTT parser failure on REGION blocks (#4915) (f4e8518)
  • HLS: Fix detection of WebVTT subtitles in HLS by extension (#4928) (245234c), closes #4929
  • VTT: Fix combining style selectors (#4934) (2625fdf)
  • WebVTT: Add support to  , ‎ and ‏ (#4920) (ff36a0a)
  • WebVTT: Add support to voice tag styles (#4845) (88602be)
  • WebVTT: Fix horizontal positioning with cue box size (#4949) (cb26238)
  • WebVTT: Fix voices with styles and support to multiple styles (#4922) (8624759)

3.2.18 (2023-01-13)

Bug Fixes

3.2.17 (2022-12-14)

Bug Fixes

3.2.16 (2022-12-08)

Bug Fixes

  • 4676 - Virgin Media set top box is incorrectly categorized as Apple/Safari (#4678) (65e9716), closes #4676
  • cast: Use cast platform APIs in MediaCapabilties polyfill (#4727) (737dd27)
  • cea: Fix MAX_ROWS in CEA-708 window (#4757) (9dbcc05)
  • Fix bufferBehind setting broken by image segments (#4718) (54f7a5c), closes #4717
  • Fix DRM workaround for Tizen and Xbox with hvc1/hev1 boxes (#4743) (b56bd28), closes #4742
  • Fix subtitles not added to DOM region (#4733) (7f0e059), closes #4680
  • HLS: Fix lowLatencyPresentationDelay when using autoLowLatencyMode (#4712) (984316d)
  • HLS: Fix support legacy AVC1 codec used in HLS (#4716) (a481596)
  • HLS: Single alternative video renditions not working (#4785) (20900a9)
  • TTML: Add font-family mapping (#4801) (3827873)
  • TTML: Fix duplicate cues overlapping segment boundaries (#4798) (021d7bd), closes #4631
  • ui: Check event cancelable before event.preventDefault (#4690) (9864b88)
  • WebVTT line not correctly positioned in UITextDisplayer (#4567) (#4682) (7c7be7c)

3.2.15 (2022-11-09)

Bug Fixes

  • Allow overriding special handling of 404s (#4635) (43598b4), closes #4548
  • cast: Reduce size of Cast update messages (#4644) (b36b95d)
  • Content reload starttime with HLS on iOS (#4575) (f51f283), closes #4244
  • Fix detection of ac4, dts, and dolby h265 (#4657) (1adc00a)
  • HLS: Fix detection of WebVTT subtitles in HLS by extension (#4663) (8440e01)
  • ui: Fix exception on screen rotation if fullscreen is not supported (#4669) (cbefdb8)

3.2.14 (2022-10-29)

Bug Fixes

3.2.13 (2022-10-07)

Bug Fixes

3.2.12 (2022-08-31)

Bug Fixes

  • Fix bitmap-based cue size (#4453) (598c0b4)
  • return width and height in the stats when we are using src= (#4435) (e16e8df)
  • UI: Ad position and ad counter are too close to each other (#4416) (ff1aaa2)

3.2.11 (2022-08-17)

Bug Fixes

  • add strictMissingProperties suppressions to unblock strict missing properties on union types. (#4371) (c5678fb)
  • Fix key ID byteswapping for PlayReady on PS4 (#4377) (bbb0640)
  • Fix MediaCapabilities polyfill on Tizen and WebOS (#4396) (f5fb3e5), closes #4383 #4357
  • Fix TextDecoder fallback and browser support check (#4403) (e67b64a)
  • Fix VP9 codec checks on Mac Firefox (#4391) (136348d)
  • text: Fix cue region rendering in UI (#4412) (3f65d3b), closes #4381
  • text: Fix TTML render timing and line break issues (#4407) (0e626c0), closes #4381

3.2.10 (2022-07-14)

Bug Fixes

  • Add fallback to TextDecoder and TextEncoder (#4324) (54095c2)
  • Fix EOS set-top box being identified as Apple. (#4310) (981fe9d)
  • Fix getVideoPlaybackQuality in WebOS 3 (#4316) (e88469d)
  • Fix MediaCapabilities polyfill on Playstation 4 (#4320) (ae8255a)
  • Fix segment index assertions with DAI (49e6e33)
  • VTT Cue Parsing On PlayStation 4 (#4340) (88fd5f9), closes #4321

3.2.9 (2022-06-14)

Bug Fixes

  • demo: allow switch between UITextDisplayer and SimpleTextDisplayer (#4275) (76cd039)
  • demo: erroneous FairPlay keysystem in demo (#4276) (bfdeb73)
  • New EME polyfill fixes EME/MCap issues on some smart TVs (#4279) (312570f)
  • Populate track's spatialAudio property (#4291) (ab1b442)
  • Remove IE 11 from default browsers for Windows (#4272) (3f2cb2e), closes #4271
  • Use middle segment when guessing MIME type on HLS (#4269) (#4270) (51af232)

3.2.8 (2022-06-02)

Bug Fixes

3.2.7 (2022-05-17)

Bug Fixes

  • dash: Fix playback of Dolby Atmos (#4173) (1a6e93a), closes #4171
  • Do not report MANIFEST RESTRICTIONS_CANNOT_BE_MET error twice (#4194) (28d651b), closes #4190
  • Fix encryption detection to work around broken platforms (#4169) (b945376)
  • Fix event listener leaks in Player (#4229) (5cab30d)
  • Fix exception with streaming.startAtSegmentBoundary (#4216) (b3d4c1c), closes #4188
  • Fix PERIOD_FLATTENING_FAILED error when periods have different base sample types (#4206) (9202678), closes #4202
  • hls: Fix av1 codec selection in HLS. (#4203) (c72ac92)
  • hls: Fix X-PRELOAD-HINT failure with LL mode off (#4212) (59463fb), closes #4185
  • Revert "Add missing module export in generated typescript defs" (#4175) (763e932), closes #4167
  • Wait for chapters track to be loaded (#4228) (0245971), closes #4186

3.2.6 (2022-04-26)

Bug Fixes

3.2.5 (2022-04-25)

Bug Fixes

3.2.4 (2022-02-17)

Bug Fixes

  • Add explicit release() for FakeEventTarget (#3950) (6242622)
  • Fix download of some HLS assets (#3934) (61c0c09)
  • Fix exception in StreamingEngine for EMSG with HLS (#3887) (0c4a79f), closes #3886
  • Fix memory leak in DASH live streams with inband EventStream (#3957) (7891a85)
  • HLS: skip whitespace in attributes (#3884) (4bfc92e)

3.2.3 (2022-01-28)

Bugfixes:

  • Fix support for TTAF1 namespace (old version of TTML)
  • Fix misdetection of HEVC support on MS Edge
  • Fix caption overlap
  • Support multiple chapter tracks with same language
  • Fix text UI not updating when text is disabled
  • Clear buffer on seek if mediaState is updating
  • Fix thumbnails issues
  • Made nested cues inherit region
  • Fix MediaCapabilities polyfill on Safari
  • Fix usage of Shaka without polyfills
  • Fix playback failure due to rounding errors
  • Fix HLS image track issues
  • Remove caption wrapper bgColor
  • Support "forced-subtitle" role
  • Fix time element height on Safari

3.2.2 (2022-01-06)

Bugfixes:

  • Allow comments in the TTML parser
  • Fix HDR signalling via essential or supplemental property
  • Fix MediaCapabilities polyfill on Playstation 5
  • Add DASH MIME type mapping for src= playback
  • Fix captions not working after a period transition on live DASH streams
  • Fix timestamp offset of CEA-608 cues
  • Force caption update when removing cues
  • Fixes parsing of HLS 'DEFAULT' attribute
  • support stpp.ttml codec in Mp4TtmlParser
  • Fix Russian translation
  • Fix HLS VOD duration
  • Query HDR transfer function
  • Fix styling of UI text cues
  • Fix seek range issues on transition from live to VOD
  • Enforce string-format of event data keys
  • Fix vp09 playback on webOS
  • Dedupe DRM init data
  • Failover in geo-redundant streams
  • Update Cast receiver ID for v3.2

Demo App:

  • Fix 'Tears of Steel (live, DASH, Server Side ads)'

Docs:

  • Fix typo in Fairplay tutorial

3.2.1 (2021-10-13)

Bugfixes:

  • Work around override of MediaCapabilities polyfill in Apple browsers
  • Fix video poster when autoplay is disabled
  • Fix tracking of active variant track in live streams
  • Fixes updating of nested cues
  • Fix ttml erroneously dismissing cues
  • Fix control panel alignment in UI
  • Export missing polyfill install methods
  • Dispose of ad manager on player detach
  • Add ResizeObserver to CS ad manager
  • Avoid seeking on src when start time is 0
  • Tolerate misaligned TS files
  • Account for server-side ad cue points in external text tracks
  • Fix stopping of Server Side Ad manager
  • Fix DRM workaround for Tizen and Xbox with ac-3 boxes
  • Fix DRM workaround for Tizen and Xbox with avc3 boxes
  • Fix BUFFER_READ_OUT_OF_BOUNDS error when CEA caption packets are empty
  • Fix error when un-storing DRM asset
  • Fix CC parsing of EPB and v1 TKHD boxes
  • Always polyfill MediaCapabilities for Apple browsers
  • Add Support to iOS 12 in MediaCapabilities polyfill
  • Add support to file type in MediaCapabilities implementation
  • Display captions with forward slashes
  • Add support to file type in MediaCapabilities polyfill
  • Use "undetermined" for missing CC language
  • Fix FairPlay playback
  • Exit PiP when destroying UI

Docs:

  • Add FAQ entry for common Vue problem

3.2.0 (2021-07-14)

New Features:

  • MediaCapabilities support: configs for preferred codecs, decoding attributes, and key systems
  • Support more frequent segment updates during streaming
  • Add callback for apps to pre-process DASH manifests
  • Add chapters support
  • Add support for HLS Image Media Playlists
  • Add align and vertical settings to WebVttGenerator
  • Add a buffer fullness method
  • Progress toward FairPlay DRM w/ MSE
  • Add serverCertificateUri in DRM advanced config
  • Add goToLive method

3.1.2 (2021-07-14)

Bugfixes:

  • Fix choosing tracks from streaming event
  • Fix multiperiod without consistent thumbnails
  • Fix failure with multiple thumbnails per period
  • Update Play icon after seeking from end
  • Reset forced subs between loads
  • Fix thumbnail position calculation
  • Fix thumbnail duration, expose start time and duration
  • Fix enforcement of cue alignment styles
  • Fix DASH transition from dynamic to static
  • Fix ARIA label on replay button
  • Fix audio language switching while using AirPlay
  • Show captions with rapid seek when ignoreTextStreamFailures is true
  • Fix clearing buffer when requested for already-selected variant
  • Fix hung playback on rapid seek
  • Don't show AirPlay button if unavailable
  • Fix bogus debug logs

Docs:

  • Update upgrade guides

3.0.13 (2021-07-14)

Bugfixes:

  • Fix choosing tracks from streaming event
  • Update Play icon after seeking from end
  • Fix DASH transition from dynamic to static
  • Fix ARIA label on replay button
  • Fix audio language switching while using AirPlay
  • Show captions with rapid seek when ignoreTextStreamFailures is true
  • Fix clearing buffer when requested for already-selected variant
  • Fix hung playback on rapid seek

3.1.1 (2021-06-17)

Bugfixes:

  • Fix buffering due to re-fetch in multi-period DASH
  • Prioritize AVERAGE-BANDWIDTH over BANDWIDTH in HLS
  • Fix EC-3 box support in DRM workaround on smart TVs
  • Fix exception in UI on devices that do not support fullscreen
  • Fix caption positioning and sizing when the container resizes
  • Fix exceptions thrown in content with trick-mode tracks
  • Filter unsupported H.264 streams in Xbox
  • Fix out-of-bounds exception in LL-DASH
  • Fix failures and gaps in LL-DASH
  • Allow muxjs to be loaded after Shaka
  • Choose the configured preferred text role at start
  • Fix STORAGE_LIMIT_REACHED error masked by DOWNLOAD_SIZE_CALLBACK_ERROR
  • Fix "details" field in shaka-ui-load-failed event
  • Ignore network changes if ABR is disabled
  • Fix ClearKey+WebM+src= playback failure

Docs:

  • Document disabling Range header requests in HLS
  • Add Angular integration link

Demo App:

  • Add MIME type and extra config to custom assets

3.0.12 (2021-06-17)

Bugfixes:

  • Fix buffering due to re-fetch in multi-period DASH
  • Prioritize AVERAGE-BANDWIDTH over BANDWIDTH in HLS
  • Fix EC-3 box support in DRM workaround on smart TVs
  • Fix exception in UI on devices that do not support fullscreen
  • Fix caption positioning and sizing when the container resizes
  • Fix exceptions thrown in content with trick-mode tracks
  • Filter unsupported H.264 streams in Xbox
  • Choose the configured preferred text role at start
  • Fix ClearKey+WebM+src= playback failure
  • Fix double-display of embedded and non-embedded captions

Docs:

  • Document disabling Range header requests in HLS
  • Add Angular integration link

2.5.23 (2021-06-17)

Bugfixes:

  • Prioritize AVERAGE-BANDWIDTH over BANDWIDTH in HLS
  • Fix exception in UI on devices that do not support fullscreen
  • Fix caption positioning and sizing when the container resizes
  • Filter unsupported H.264 streams in Xbox
  • Choose the configured preferred text role at start
  • Fix ClearKey+WebM+src= playback failure

Docs:

  • Add Angular integration link

3.1.0 (2021-04-29)

New Features:

  • Ads APIs are now STABLE (no longer BETA)
  • MediaCapabilities support (BETA)
  • Remove support for IE11
  • Low-latency HLS (LL-HLS) and DASH (LL-DASH) support
  • Make DASH keySystems configurable
  • Make DRM sessionType configurable in advanced DRM config
  • Add Loop, PIP, Cast, AirPlay buttons to control panel
  • Network stall detection
  • Store thumbnails for offline playback
  • Extract HDR metadata from DASH manifests
  • Make gap detection threshold configurable
  • Support WebVTT default text color and default text background color
  • Add support for thumbnail tracks
  • Add getKeyStatuses to Player
  • Parse spatial audio from manifest
  • Add support for WebVTT style blocks
  • Add SubViewer (SBV) support
  • Add SubStation Alpha (SSA) support
  • Add downloadSizeCallback before storing offline
  • Extract HDR metadata from HLS manifests
  • add ignoreMaxSegmentDuration config for DASH manifest
  • Add navigator.storage.estimate polyfill
  • Prefer unprefixed EME for Safari
  • Add config to prefer native HLS playback
  • Add LyRiCs (LRC) support
  • Add support for SMPTE namespace 2013
  • Add support for mpegB:cicp:ChannelConfiguration
  • Config to prefer forced subtitles
  • Change default network request timeout
  • Optionally force HTTPS content URIs
  • Add parameter to probeSupport to skip DRM tests
  • Add autoLowLatencyMode config
  • Allow apps to register a custom seek bar UI implementation
  • Parse forced subtitles from manifest
  • Add addTextTrackAsync
  • Allow showing track labels in UI
  • Allow switching between mono and stereo tracks
  • Add support to side-load subtitles in src mode
  • Add SubRip (SRT) subtitle support
  • CEA-708 Decoder
  • Added completionPercent to playback stats
  • Render bold/italics/underline on SimpleTextDisplayer
  • Adds VTT tag rendering for bold, italic, and underline
  • CEA-608 Decoder
  • Add dependencies module to allow custom dependency injection
  • Add HLS PlayReady support
  • Add AirPlay button to overflow menu
  • Use Network Information API to react to network changes
  • Added polyfill for screen.orientation
  • Add support for EXT-X-SESSION-DATA in HLS
  • Add forceLandscapeOnFullscreen UI config

3.0.11 (2021-04-28)

Bugfixes:

  • Assume MP4 in HLS if MIME type can't be deduced
  • Fix resolution changes with lang change
  • Resume previous playback speed after pause
  • Fix updating of the mute icon
  • Fix text writing-mode support in old versions of Tizen and WebOS
  • Show replay icon instead of play when video ends
  • Fix cross-browser focus outline
  • Fix rapid keyboard-based seeking
  • Fix holding keyboard controls
  • Display cursors as pointers on overflow menu buttons
  • Fix failed assertion for eviction logic
  • Fix stalls on a live dash stream
  • Fix HLS content type detection with text codecs

Ad Features (BETA):

  • Fix the skip ad button not being clickable
  • Add the original IMA event to the Shaka AD_CLICKED event
  • Add more info on serving limited ads to the tutorial

Demo App:

  • Fix centering of icons, add hover effect on settings

Docs:

  • Update event docs and event links
  • Add the UI Theme Gallery link to the docs
  • Fixed various grammatical errors and typos
  • Fix offline tutorial to use the correct config

Misc:

  • Allow testing with Chromium-based Edge in Karma
  • Official Xbox One support

2.5.22 (2021-04-28)

Bugfixes:

  • Assume MP4 in HLS if MIME type can't be deduced
  • Fix resolution changes with lang change
  • Resume previous playback speed after pause
  • Fix updating of the mute icon
  • Fix text writing-mode support in old versions of Tizen and WebOS
  • Show replay icon instead of play when video ends
  • Fix cross-browser focus outline
  • Fix rapid keyboard-based seeking
  • Fix holding keyboard controls
  • Fix stylelint on Windows
  • Display cursors as pointers on overflow menu buttons

Demo App:

  • Fix centering of icons, add hover effect on settings

Docs:

  • Update event docs and event links
  • Add the UI Theme Gallery link to the docs
  • Fixed various grammatical errors and typos

Misc:

  • Allow testing with Chromium-based Edge in Karma
  • Official Xbox One support

3.0.10 (2021-03-18)

Bugfixes:

  • Fix stalls in some multi-Period DASH content
  • Fix stylelint errors on Windows

3.0.9 (2021-03-15)

Bugfixes:

  • Fixed build error on Windows
  • Exported SegmentReference.getUris
  • Fix giant gaps in SSAI content
  • Fix TTML background image attribute case
  • Avoid setting global Cast hook
  • Fix codec choice when resolutions differ
  • Fix autoplay for non-zero-start VOD
  • Allow playing Periods with missing text
  • Support localized whitespace preservation in TTML
  • Fix offline storage after a failure
  • Fix repeated seek on start for some content
  • Fix subtitle display in timing edge case
  • Support version 1 emsg boxes

Ads (BETA):

  • Change the value of the 'mpt' param we set for tracking
  • Expose native IMA stream manager for SS DAI
  • Hide the ad container when ads aren't playing
  • Add "limited ads" section to the ads tutorial
  • Expand the IMA integration tutorial

Docs:

  • Fixed various typos
  • Fixed outdated info and typos
  • Document programmatic UI setup
  • Update doc for manifest and segment ALR
  • Add vue.js, nuxt.js and video.js integration examples

Demo App:

  • Make it possible to add custom ad assets with no manifest uri.
  • Add an ADS tab to the custom content page
  • Add DAI live DASH example to DEMO app

2.5.21 (2021-03-12)

Bugfixes:

  • Fix giant gaps in SSAI content
  • Fix TTML background image attribute case
  • Avoid setting global Cast hook
  • Fix codec choice when resolutions differ
  • Fix autoplay for non-zero-start VOD
  • Support localized whitespace preservation in TTML
  • Fix repeated seek on start for some content
  • Fix subtitle display in timing edge case
  • Fixed build error on Windows

Docs:

  • Fixed outdated info and typos
  • Fixed various typos
  • Document programmatic UI setup
  • Update doc for manifest and segment ALR

3.0.8 (2021-02-08)

Bugfixes:

Ads (BETA):

2.5.20 (2021-02-08)

Bugfixes:

3.0.7 (2021-01-06)

Bugfixes:

Ads (BETA):

Build:

Demo App:

Docs:

2.5.19 (2021-01-06)

Bugfixes:

Build:

Demo App:

Docs:

3.0.6 (2020-11-12)

Bugfixes:

Ad changes (BETA):

Docs:

Demo App:

Misc:

2.5.18 (2020-11-12)

Bugfixes:

Docs:

Demo App:

  • Remove redundant switch for manifest.dash.ignoreDrmInfo

Misc:

3.0.5 (2020-10-07)

Bugfixes:

Demo App:

  • Change the menu icon to a settings icon
  • Suppress bogus errors displayed during download

Docs:

2.5.17 (2020-10-06)

Bugfixes:

Demo App:

  • Change the menu icon to a settings icon

Docs:

  • Fix references to built-in CEA 608 support, not available in this branch

3.0.4 (2020-08-25)

Bugfixes:

Docs:

2.5.16 (2020-08-25)

Bugfixes:

Docs:

3.0.3 (2020-08-12)

Bugfixes:

Ad changes (BETA):

  • Add an extra log when replacing ad tag params for tracking adoption
  • Properly set tracking info for SS IMA streams

Demo App:

Docs:

  • Correct very outdated docs on test.py

2.5.15 (2020-08-12)

Bugfixes:

Docs:

  • Correct very outdated docs on test.py

3.0.2 (2020-07-28)

Bugfixes:

Ad changes (BETA):

Docs:

Demo App:

3.0.1 (2020-06-18)

Bugfixes:

Ad changes (BETA):

Demo App:

  • Fix centering of MDL icons
  • Fix error text overflow
  • Fix missing icon for demo app menu

Docs:

2.5.13 (2020-06-11)

Bugfixes:

3.0.0 (2020-06-09)

Ad Features (BETA):

Offline Features:

HLS Features:

UI Features:

Subtitle/Caption Features:

Other Features:

Bugfixes:

Broken compatibility:

Deprecated (with backward compatibility until v4.0):

  • Uint8ArrayUtils.equal() moved to BufferUtils
  • Factory methods are no longer called with "new"
  • Config "manifest.dash.defaultPresentationDelay" moved to "manifest.defaultPresentationDelay"
  • Storage.getStoreInProgress() deprecated (not needed with concurrent storage operations)

Removed after deprecation in v2.5:

  • Player.selectEmbeddedTextTrack
  • Player.usingEmbeddedTextTrack
  • Player.getManifestUri (renamed to getAssetUri)
  • load() factory parameter (replaced with MIME type parameter)
  • Storage configuration fields (moved into Player config under "offline")
  • UI getPlayer() moved to getControls().getPlayer()

Demo App Features:

  • Added trick play controls option
  • Add 'audio only' to the search terms

2.5.12 (2020-05-29)

Bugfixes:

New Features:

2.5.11 (2020-05-05)

New Features:

Bugfixes:

Docs:

Demo App:

  • Push demo app footer to the bottom of the page

2.5.10 (2020-03-24)

New Features:

Bugfixes:

Docs:

Demo App:

  • Several service worker improvements and fixes
  • Load pwacompat through npm
  • Replace Live search boolean with a drop-down
  • Renamed the "search" tab to "all content"
  • Add search filters to the URL
  • Work around Material Icons font bug
  • Work around MDL button bug in iOS 13

2.5.9 (2020-02-04)

Bugfixes:

Docs:

2.5.8 (2020-01-16)

Bugfixes:

New Features:

Demo App:

  • Update asset list and metadata

2.5.7 (2019-12-18)

New Features:

Bugfixes:

2.5.6 (2019-11-06)

Bugfixes:

New Features:

Demo App:

2.5.5 (2019-08-23)

New Features:

Bugfixes:

Demo App:

2.5.4 (2019-07-19)

Bugfixes:

New Features:

  • Add command-line arg to change the test timeout.

2.5.3 (2019-07-03)

Bugfixes:

Docs:

New Features:

2.5.2 (2019-06-10)

Bugfixes:

New Features:

Demo App:

  • Fix close button styling in compiled mode
  • Fix config settings applied before playback begins
  • Change the style of the download/delete button
  • Fix demo error display for large errors
  • Improve cvox error check
  • Switch to using tippy.js for tooltips

Docs:

2.5.1 (2019-05-20)

New Features:

  • Inline external CSS for quicker load
    • You no longer need to include Material Design Icons font in your app
  • Use clean-css plugin in less.js to minify CSS

Bugfixes:

Demo App:

2.5.0 (2019-05-08)

The UI is now out of beta! Use shaka-player.ui.js and see the UI tutorials.

Core Bugfixes:

UI Bugfixes:

New Core Features:

New UI Features:

Demo App:

Docs:

2.5.0-beta3 (2019-02-20)

New Features:

Bugfixes:

Docs:

2.4.7 (2019-02-19)

Bugfixes:

2.4.6 (2019-01-22)

Bugfixes:

New Features:

Demo App:

2.5.0-beta2 (2018-11-09)

Contains everything in v2.4.5, plus...

Bugfixes:

New Features:

Docs:

  • Update Language Normalization Documentation

2.4.5 (2018-11-09)

Bugfixes:

New Features:

Demo App:

Docs:

Un-Features:

2.5.0-beta (2018-08-24)

New Features:

Deprecated:

  • Passing a ManifestParser factory to Player.load is deprecated and support will be removed in v3.0. Instead, please register any custom parsers with a MIME type, and pass a MIME type instead. MIME types can also be used to force the selection of any built-in manifest parsers.
  • The |manifestUri| method on Player was changed to |assetUri|. The old method is deprecated and will be removed in v3.0.

2.4.4 (2018-08-23)

Bugfixes:

Docs:

2.4.3 (2018-08-06)

New Features:

Bugfixes:

Demo app:

  • Clarify persistent license error messages

Docs:

  • Update docs for RESTRICTIONS_CANNOT_BE_MET

2.3.10 and 2.4.2 (2018-06-29)

Bugfixes:

Demo App:

  • Fix custom encrypted assets in the demo app

Docs:

2.3.9 and 2.4.1 (2018-06-13)

Bugfixes:

Demo app:

  • Support clearkey license-servers in the demo UI

Misc:

2.4.0 (2018-05-24)

New features:

Broken compatibility:

  • A third-party Promise polyfill is now required for IE 11 support
  • Text parser plugins now take a nullable segmentStart in TextContext. All application-specific text-parsing plugins MUST be updated.
  • Text-parsing plugins that produce region information must do so with the new CueRegion class. Any application-specific text-parsing plugins that produce region information MUST be updated.
  • TextDisplayer plugins that handle region information must do so with the new CueRegion interface. Any application-specific TextDisplayer plugins that handle region information MUST be updated.
  • The API for PresentationTimeline has changed. Manifest parser plugins that use certain PresentationTimeline methods MUST be updated:
    • setAvailabilityStart() was renamed to setUserSeekStart().
    • notifySegments() now takes a reference array and a boolean called isFirstPeriod, instead of a period start time and a reference array.

Deprecated:

  • NetworkingEngine.request() now returns an instance of IAbortableOperation instead of Promise. Applications which make application-level requests SHOULD update to use the new interface.
    • The old interface will be removed in v2.5.
  • Network scheme plugins now return an instance of IAbortableOperation instead of Promise. Application-specific network scheme plugins SHOULD update to the new interface.
    • The old interface will be removed in v2.5.

Demo app:

  • Improve support for custom assets and license servers in demo app URI

Misc:

2.3.8 (2018-05-23)

Bugfixes:

Demo app:

  • Update DASH-IF Big Buck Bunny asset

Docs:

2.3.7 (2018-04-24)

Bugfixes:

Demo app:

2.3.6 (2018-04-11)

Bugfixes:

Demo app:

2.3.5 (2018-03-29)

New features:

Bugfixes:

Demo app:

  • Fixed CSS for display on Chromecast and other TV devices
  • Added "startTime" URL parameter for debugging purposes

2.3.4 (2018-03-22)

New features:

Bugfixes:

Demo app:

Docs:

2.3.3 (2018-03-01)

New features:

Bugfixes:

Docs:

2.3.2 (2018-02-01)

New features:

Bugfixes:

Docs:

2.3.1 (2018-01-22)

New features:

Bugfixes:

Docs:

  • All fixes released in 2.2.10, plus...
  • Fix upgrade guide links

2.2.10 (2018-01-22)

New features:

Bugfixes:

Docs:

2.3.0 (2017-12-22)

New features:

Demo app:

Bugfixes:

Docs:

Broken compatibility:

Deprecated:

  • The AbrManager configuration interfaces and plugin APIs which were deprecated in v2.2 have now been removed. Applications with custom AbrManager implementations MUST be upgraded to the v2.2 API now.
  • The plugin interface for text parsers which was deprecated in v2.1 has now been removed.
  • The remove() method on shaka.offline.Storage now takes a URI instead of a StoredContent instance. Applications which use offline storage SHOULD update to the new API. Support for the old argument will be removed in v2.4.
  • The streaming.infiniteRetriesForLiveStreams config was removed. Applications using this feature MUST use the streaming.failureCallback config and the method player.retryStreaming() instead.

2.2.9 (2017-12-22)

Bugfixes:

2.2.8 (2017-12-06)

Bugfixes:

Demo app:

2.2.7 (2017-11-28)

Bugfixes:

Demo app:

Docs:

2.2.6 (2017-11-14)

Bugfixes:

Demo app:

2.2.5 (2017-11-02)

New features:

Bugfixes:

2.1.9 (2017-11-02)

Bugfixes:

2.2.4 (2017-10-23)

Bugfixes:

Docs:

2.2.3 (2017-10-17)

New features:

Bugfixes:

Demo app:

Docs:

2.2.2 (2017-09-27)

New features:

Bugfixes:

Demo app:

Docs:

2.2.1 (2017-09-01)

New features:

Bugfixes:

Demo app:

Docs:

2.2.0 (2017-08-23)

New features:

Bugfixes:

Demo app:

Docs:

Broken compatibility:

Deprecated:

  • The configuration for a custom ABR manager has changed. Applications with custom AbrManager implementations SHOULD now configure abrFactory instead of abr.manager.
  • The config API for AbrManager has changed. setDefaultEstimate() and setRestrictions() have been replaced with configure(). Applications with custom AbrManager implementations SHOULD implement the new configure() method.
  • The choice API for AbrManager has changed. chooseStreams() has been replaced with chooseVariants(), and the switch callback now takes a variant.
  • The getTracks() and selectTrack() methods which were deprecated in v2.1 have now been removed.

2.1.8 (2017-08-23)

Bugfixes:

2.1.7 (2017-08-14)

Bugfixes:

Docs:

2.1.6 (2017-08-09)

New features:

Bugfixes:

Demo app:

2.1.5 (2017-07-17)

New features:

  • Add more information to video errors in Chrome

Bugfixes:

Demo app:

Docs:

2.1.4 (2017-06-16)

New features:

Bugfixes:

Demo app:

Docs:

2.1.3 (2017-06-06)

New features:

Bugfixes:

2.1.2 (2017-05-23)

New features:

Bugfixes:

Docs:

2.0.9 (2017-05-10)

Backported bugfixes from v2.1.x:

2.1.1 (2017-05-10)

New features:

Bugfixes:

2.1.0 (2017-04-25)

New features:

Bugfixes:

Docs:

Broken Compatibility:

  • Track types 'video' and 'audio' have been combined into 'variant'.
    • Any application looking at track.type will need to be updated.
  • Removed useRelativeCueTimestamps option
  • Plugin interface for text parsers has changed
    • Both old & new interfaces still supported
    • Support for old interface will be removed in v2.2
  • Plugin interface for ManifestParser.start has changed
    • Now takes an object with named parameters instead of positional params
    • Both old & new interfaces still supported
    • Support for old interface will be removed in v2.2
  • Retired the INVALID_TTML error code
    • Folded into the INVALID_XML error code

2.0.8 (2017-04-07)

Bugfixes:

2.0.7 (2017-03-29)

New Features:

Bugfixes:

2.0.6 (2017-02-24)

New Features:

Bugfixes:

2.0.5 (2017-01-30)

Bugfixes:

2.0.4 (2017-01-24)

New features:

Bugfixes:

Docs:

2.0.3 (2017-01-09)

New features:

Bugfixes:

2.0.2 (2016-12-15)

New features:

Bugfixes:

Docs:

  • Link to error docs from the demo app

2.0.1 (2016-10-26)

New features:

Bugfixes:

Demo app improvements:

Docs:

2.0.0 (2016-09-07)

The first full release of v2!

New features:

Bugfixes:

Planned features we cut:

2.0.0-beta3 (2016-07-29)

Restored Features from v1 Missing in v2.0.0-beta2:

New features:

Bugfixes:

Docs:

Broken Compatibility compared to v2.0.0-beta2:

  • The asynchronous Player.support() has been replaced with the synchronous Player.isBrowserSupported() call
  • AbrManager implementations must now handle a partial StreamSet map in chooseStreams()
  • The wrong keys error has been dropped due to false positives

2.0.0-beta2 (2016-05-04)

Restored Features from v1 Missing in v2.0.0-beta:

New features:

Bugfixes:

Docs:

Broken Compatibility compared to v2.0.0-beta:

  • None!

1.6.5 (2016-04-08)

Bugfixes:

2.0.0-beta (2016-04-07)

New Features:

Bugfixes:

Docs:

  • New tutorials!

Missing Features from v1 (to be added later):

Broken Compatibility:

  • Almost everything! (v2 upgrade guide coming soon)

1.6.4 (2016-03-03)

Bugfixes:

1.6.3 (2016-02-08)

Features:

Bugfixes:

  • Several IE11 stability issues and race conditions fixed

Docs:

  • Update browser support docs with regard to IE & Firefox

Test app fixes:

  • Fixed slider controls for IE11
  • Turned off seek bar tooltips for IE11

1.6.2 (2015-12-14)

Features:

Bugfixes:

1.6.1 (2015-12-07)

Bugfixes:

1.6.0 (2015-11-17)

Features:

Bugfixes:

Test app features:

Broken Compatibility:

1.5.2 (2015-11-12)

A roll-up of recent bugfixes.

Bugfixes:

Test app features:

  • Added a Widevine-encrypted version of the Sintel 4k test asset.

1.5.1 (2015-10-07)

A roll-up of recent bugfixes.

Bugfixes:

1.5.0 (2015-09-17)

Features:

Bugfixes:

Broken Compatibility:

Deprecated:

  • The following methods on Player are deprecated in favor of configure()/getConfiguration() and will be removed in v1.6.0:
  • A new two-argument ContentProtectionCallback has been added to DashVideoSource, and the old style is deprecated and will be removed in v1.6.0.

1.4.2 (2015-09-04)

A roll-up of recent bugfixes.

Bugfixes:

Test app features:

  • Added 'offline' URL param.

1.4.1 (2015-08-18)

A roll-up of recent bugfixes and small improvements.

Bugfixes:

Features:

Testing:

  • Reduced test flakiness overall.
  • Certain (unavoidable) decode errors are now suppressed on Chrome Linux.
  • Added waitUntilBuffered() function to help reduce test flakiness.

1.4.0 (2015-07-06)

Code health release. Major refactoring of streaming logic.

Bugfixes:

Features:

Test app features:

Testing:

Documentation:

1.3.2 (2015-07-06)

A roll-up of recent bugfixes.

Bugfixes:

1.3.1 (2015-05-22)

A roll-up of recent bugfixes and small improvements.

Bugfixes:

Features:

1.3.0 (2015-04-16)

Feature release, introducing live streaming and offline playback.

Bugfixes:

  • Fixed playback and buffering of streams whose index is inaccurate.
  • Fixed EME spec compliance.
  • Fixed FakeEventTarget exception handling.
  • Fixed aggressive dead code stripping by the compiler.
  • Fixed a bug in which subtitles were enabled by default without a subtitle language match.

Features:

Test app features:

  • Example player controls in the test app.

Deprecated:

  • The following methods on Player are deprecated. They will be removed in v1.4.0:
    • getCurrentResolution() (replace with video.videoWidth & video.videoHeight)
    • getCurrentTime()/seek() (replace with video.currentTime)
    • getDuration() (replace with video.duration)
    • getMuted()/setMuted() (replace with video.muted)
    • getVolume()/setVolume() (replace with video.volume)
    • play() (replace with video.play)
    • pause() (replace with video.pause)
    • requestFullscreen() (replace with video.requestFullscreen())

Broken compatibility:

  • The license postprocessor callback is no longer given a Restrictions argument. See Player.getRestrictions()/setRestrictions().
  • The suppressMultipleEvents flag has been dropped from DrmSchemeInfo, which changes the constructor signature. This flag interfered with key rotation.

1.2.3 (2015-04-07)

A roll-up of recent bugfixes.

Bugfixes:

Features:

Test app features:

  • Added a new 4k test asset.

1.2.2 (2015-03-11)

Bugfixes:

Features:

1.2.1 (2015-03-10)

A roll-up of recent bugfixes, plus a few minor additions to the test app. Branched from v1.2.0.

Bugfixes:

  • Try to recover from a streaming failure.
  • Ignore spurious error events from the video tag.
  • Update docs WRT content restrictions and folder organization.
  • Fix clearkey errors in Chrome 42+.
  • Fix computation of the number of segments in MpdProcessor.
    • Only affects assets which use SegmentTemplate with a duration attribute.

Test app features:

  • Rename a confusing asset.
  • Add a button to cycle video tracks.
  • Support MPD init data overrides for all DRM schemes.

1.2.0 (2015-02-24)

Lots of internal refactoring and bugfixes, and a few new features.

Bugfixes:

Features:

Broken Compatibility:

  • System IDs in PSSH objects are now hex strings instead of raw strings.

1.1 (2015-01-14)

Maintenance release.

Bugfixes:

Features:

  • Tests are now checked for style.
  • Tests have been expanded to increase coverage and exercise more Player features:
    • playback rate
    • stats
    • language preference
    • license restrictions
    • WebM/VP9
    • error events
  • Integration tests now run much faster.
  • MediaKeys polyfills have received minor updates to improve compatibility with Chrome 41.
  • New sample assets and code in app.js to demonstrate how to use a PSSH from an MPD to override what's in the content itself.

Broken Compatibility:

  • None!

1.0 (2014-12-19)

First public release.

Bugfixes:

  • Text tracks are no longer ignored in MPD manifests.
  • Adaptation decisions are now quicker and more reliable.
    • (This bug was more noticeable on faster internet connections.)
  • Playback no longer gets "stuck" on certain content.
  • Playback no longer gets "stuck" after certain seek patterns.
  • Player get/select/enable methods can now be called without a video source.
  • A <video> tag's "videoWidth"/"videoHeight" attributes now update correctly on Chrome >= 40.
  • Manual adaptation while paused no longer unpauses the video.
  • Credentials can now be used on cross-domain license requests.
  • Range headers are no longer sent for all segment requests.
    • (This fixes issues with IIS.)
  • A missing declaration of getVideoPlaybackQuality() has been added.
  • The compiled code no longer pollutes the global namespace.
  • DASH manifests using <SegmentList> are now parsed correctly.
  • Formatting has been fixed in the "Shaka Player Development" tutorial.

Features:

  • The Player is now reusable. You can call load() multiple times without calling destroy().
  • The JS linter is now included in sources, fixing compatibility issues between versions.
  • The test suite now includes playback integration tests.
  • The Player has been updated to support the 01 Dec 2014 draft of the EME specification.
  • The loader in load.js no longer makes assumptions about app.js. You can now use load.js to bootstrap other applications.
  • The test app now uses less screen real estate.
  • All custom events have been documented, and a new tutorial has been added to demonstrate how they can be used.
  • The Player now has a support-check API to determine if the browser has all necessary features for playback.
  • Sample code in the tutorials is now marked up to highlight changes from the previous sample.
  • Code coverage in unit tests has been increased.
  • Flakiness in unit tests has been reduced.
  • DASH manifests using <SegmentTemplate> without a segment index or segment timeline are now supported.
  • The DASH "presentationTimeOffset" attribute is now supported.

Broken Compatibility:

  • ContentProtectionCallback no longer takes a "mimeType" argument.
  • DrmSchemeInfo constructor no longer takes a "mimeType" argument.
  • DrmSchemeInfo constructor's "initData" argument is now an object with fields instead of a Uint8Array.
  • DrmSchemeInfo now takes a "withCredentials" argument.
  • lib.js has been renamed to shaka-player.compiled.js.

0.1b (2014-11-21)

Private beta release.