shaka-player
Version:
DASH/EME video player library
1,239 lines (1,058 loc) • 77.1 kB
Markdown
## 2.2.9 (2017-12-22)
Bugfixes:
- Fix excessive memory usage during storage
- https://github.com/google/shaka-player/issues/1167
- Fix offline storage with temporary license
- https://github.com/google/shaka-player/issues/1159
- Fix exception while casting
- https://github.com/google/shaka-player/issues/1128
- Reduced bandwidth of cast messaging
- https://github.com/google/shaka-player/issues/1128
- Fix exception when destroying TextDisplayer
- https://github.com/google/shaka-player/issues/1187
- Fix presentationTimeOffset in SegmentTemplate
- https://github.com/google/shaka-player/issues/1164
- Fix inconsistencies in text visibility across playbacks
- https://github.com/google/shaka-player/issues/1185
- Work around bad header formatting in IE 11
- https://github.com/google/shaka-player/issues/1172
- Fix Chromecast PlayReady playback
- https://github.com/google/shaka-player/issues/1070
- Fix subtitle display with VTTRegion enabled in Chrome
- https://github.com/google/shaka-player/issues/1188
## 2.2.8 (2017-12-06)
Bugfixes:
- Do not allow seeking/startup at duration (bump back by 1s)
- https://github.com/google/shaka-player/issues/1014
- Don't wait for sessions to close on DrmEngine.destroy
- https://github.com/google/shaka-player/issues/1093
- https://github.com/google/shaka-player/pull/1168
- Do not clear buffers on configuration changes unless required
- https://github.com/google/shaka-player/issues/1138
- Ignore unsupported STYLE blocks in WebVTT
- https://github.com/google/shaka-player/issues/1104
- Fix a null exception in CastReceiver.destroy
Demo app:
- Fix "ended" video control state on IE
- https://github.com/google/shaka-player/issues/979
- Fix updates to demo app URL hash on Edge & IE 11
- https://github.com/google/shaka-player/issues/1111
- Fix demo app page-load race on IE 11
## 2.2.7 (2017-11-28)
Bugfixes:
- Allow playhead to recover from drift
- https://github.com/google/shaka-player/issues/1105
- Fix exception and race which prevented cast status updates
- https://github.com/google/shaka-player/issues/1128
- Fix live broadcast startup issues
- https://github.com/google/shaka-player/issues/1150
- Fix mis-detection of live streams as IPR
- https://github.com/google/shaka-player/issues/1148
- Fix buffering of live streams while paused
- https://github.com/google/shaka-player/issues/1121
Demo app:
- Add multi-DRM assets from VDMS
- https://github.com/google/shaka-player/issues/780
- https://github.com/google/shaka-player/pull/781
- Add certificate URI field in the custom asset section
- https://github.com/google/shaka-player/issues/1135
- https://github.com/google/shaka-player/pull/1136
- Fix broken HLS asset
- https://github.com/google/shaka-player/issues/1137
- Update Widevine proxy URI
Docs:
- Refactor main README.md
- Fix build/README.md typo
- https://github.com/google/shaka-player/pull/1139
- Fix typo in config tutorial
- https://github.com/google/shaka-player/pull/1124
## 2.2.6 (2017-11-14)
Bugfixes:
- Cancel network retries when the Player is destroyed
- https://github.com/google/shaka-player/issues/1084
- Do not overwrite media from an earlier period when new period is shifted
- https://github.com/google/shaka-player/issues/1098
- Do not assume same timescale in manifest and media
- https://github.com/google/shaka-player/issues/1098
- Do not fail assertions when media references are shifted outside the period
- https://github.com/google/shaka-player/issues/1098
- Fix custom builds which exclude text parsing plugins
- https://github.com/google/shaka-player/issues/1115
Demo app:
- Rename demo "Autoplay" in demo UI to "Auto-load on page refresh"
- https://github.com/google/shaka-player/issues/1114
## 2.2.5 (2017-11-02)
New features:
- Add streaming event to allow reconfiguration before streaming starts
- https://github.com/google/shaka-player/issues/1043
- Add method to get the parsed manifest structure
- https://github.com/google/shaka-player/issues/1074
- Log about deprecated APIs, even in a compiled build with other logs disabled
Bugfixes:
- Fix interpretation of DASH presentationTimeOffset in SegmentBase
- https://github.com/google/shaka-player/issues/1099
## 2.2.4 (2017-10-23)
Bugfixes:
- Don't enforce seek range while paused in live streams (stays paused)
- https://github.com/google/shaka-player/issues/982
- Fix start time in live streams
- https://github.com/google/shaka-player/issues/1069
- Fix handling & transmission of errors from cast receiver to sender
- https://github.com/google/shaka-player/issues/1065
Docs:
- Added a tutorial for the offline storage and playback APIs
- https://github.com/google/shaka-player/issues/1037
## 2.2.3 (2017-10-17)
New features:
- Publish an event when the CDM accepts a license
- https://github.com/google/shaka-player/issues/1035
- https://github.com/google/shaka-player/pull/1049
- Added assertions and logging to the debug build
- Added a debugging method on Player to get buffered ranges
Bugfixes:
- Fixed race between gap-jumping and seeking
- https://github.com/google/shaka-player/issues/1061
- Fixed startTime == 0 in player.load()
- https://github.com/google/shaka-player/issues/1069
- Avoid clearing buffer on configure unless restrictions change
- https://github.com/google/shaka-player/issues/1009
- Fixed exceptions in the cast receiver demo
- https://github.com/google/shaka-player/issues/1064
- Various fixes for concurrent use of CastProxy and related APIs
- https://github.com/google/shaka-player/issues/768
- Polyfilled various MediaSource issues on Safari 11
- https://github.com/google/shaka-player/issues/1048
- Reject TS content on Safari due to MediaSource bugs
- https://github.com/google/shaka-player/issues/743
- Fixed stuck progress bar on cast receiver demo
- https://github.com/google/shaka-player/issues/1064
Demo app:
- Rotating mobile devices triggers fullscreen mode
- https://github.com/google/shaka-player/issues/883
- Added robustness suggestions for Widevine
- https://github.com/google/shaka-player/pull/1008
Docs:
- Fixed docs with regard to shaka.text namespace
- https://github.com/google/shaka-player/issues/1046
## 2.2.2 (2017-09-27)
New features:
- Support for MP4+TTML text streams with multiple MDAT boxes
- https://github.com/google/shaka-player/issues/1028
Bugfixes:
- Fixed playback hangs in certain content due to rounding error
- https://github.com/google/shaka-player/issues/979
- Fixed exception when TextTrack mode is set to "disabled"
- https://github.com/google/shaka-player/issues/990
- Fixed subtitle failures in Safari
- https://github.com/google/shaka-player/issues/991
- https://github.com/google/shaka-player/issues/1012
- Fixed renaming issues in compiled builds
- Fixed exceptions on Tizen 2016
- https://github.com/google/shaka-player/issues/1022
- https://github.com/google/shaka-player/issues/935
- Fixed TTML region parsing
- https://github.com/google/shaka-player/issues/1020
Demo app:
- Auto-select offline copy of an asset after storing it offline
- https://github.com/google/shaka-player/issues/996
- https://github.com/google/shaka-player/pull/1001
- Removed YouTube-sourced assets, which were very outdated
- https://github.com/google/shaka-player/issues/1015
- Added "Shaka Player History" live stream
Docs:
- Added CORS explanation to the docs
- https://github.com/google/shaka-player/issues/1018
## 2.2.1 (2017-09-01)
New features:
- Support MP4+TTML in HLS
- https://github.com/google/shaka-player/issues/986
Bugfixes:
- Fixed display of old text cues after loading new content
- https://github.com/google/shaka-player/issues/984
- Fixed text cue alignment in compiled mode
- https://github.com/google/shaka-player/issues/987
- Fixed exception triggered when storing offline content
- https://github.com/google/shaka-player/issues/988
- Fixed cast state when multiple cast senders exist at once
- https://github.com/google/shaka-player/issues/768
- Fixed several Cast UI issues
- Fixed (harmless) assertion failures on Cast receivers
Demo app:
- Demo UI on mobile now shows help text on store/delete button
- https://github.com/google/shaka-player/pull/995
Docs:
- Document lack of IE support on Windows 7
- https://github.com/google/shaka-player/pull/993
## 2.2.0 (2017-08-23)
New features:
- Add support for EVENT type playlists in HLS
- https://github.com/google/shaka-player/issues/740
- Add new option for offline protected content without persistent licensing
- https://github.com/google/shaka-player/issues/873
- Allow applications to render their own text tracks
- https://github.com/google/shaka-player/issues/796
- Allow applications to control streaming retry behavior
- https://github.com/google/shaka-player/issues/960
- Add support for additional TTML styles
- https://github.com/google/shaka-player/issues/923
- https://github.com/google/shaka-player/issues/927
- Add channel count information for both DASH & HLS
- https://github.com/google/shaka-player/issues/424
- https://github.com/google/shaka-player/issues/826
- Add basic xlink support in DASH (actuate=onLoad only)
- https://github.com/google/shaka-player/issues/587
- https://github.com/google/shaka-player/issues/788
- Add API to limit playable/seekable range for VOD content.
- https://github.com/google/shaka-player/issues/246
- Add new error code for container/codec support issues
- https://github.com/google/shaka-player/issues/868
- The default ABR manager is much more configurable
- https://github.com/google/shaka-player/issues/744
- Add stream bandwidth info to variant tracks
- https://github.com/google/shaka-player/issues/834
- Add player.isAudioOnly()
- https://github.com/google/shaka-player/issues/942
- Expose presentation start time through player
- https://github.com/google/shaka-player/issues/957
- Add bandwidth info to switch history
- Improved Chromecast media queries
- Stricter runtime type-checking of EME cert configuration
- https://github.com/google/shaka-player/issues/784
Bugfixes:
- Fix flakiness in offline-related tests
- https://github.com/google/shaka-player/issues/903
Demo app:
- Added robustness fields to the UI
- https://github.com/google/shaka-player/issues/889
Docs:
- Updated upgrade guide for v2.2
- https://github.com/google/shaka-player/issues/930
Broken compatibility:
- The text-parsing plugin API has changed. Plugins now return shaka.text.Cue
objects instead of VTTCue or TextTrackCue objects. All application-specific
text-parsing plugins MUST be updated.
- https://github.com/google/shaka-player/issues/796
Deprecated:
- The configuration for a custom ABR manager has changed. Applications with
custom AbrManager implementations SHOULD now configure abrFactory instead of
abr.manager.
- https://github.com/google/shaka-player/issues/744
- The old interface will be removed in v2.3.
- 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.
- https://github.com/google/shaka-player/issues/744
- The old interface will be removed in v2.3.
- The choice API for AbrManager has changed. chooseStreams() has been
replaced with chooseVariants(), and the switch callback now takes a variant.
- https://github.com/google/shaka-player/issues/954
- The old interface will be removed in v2.3.
- The getTracks() and selectTrack() methods which were deprecated in v2.1 have
now been removed.
## 2.1.8 (2017-08-23)
Bugfixes:
- Add player.isAudioOnly() to fix flash of audio-only icon when casting
- https://github.com/google/shaka-player/issues/969
- Fix cast proxying of isAudioOnly and getMediaElement
## 2.1.7 (2017-08-14)
Bugfixes:
- Fixed "Invalid argument" exceptions for subtitles in IE & Edge
- Fixed buffering at the end of the stream for some content in IE & Edge
- https://github.com/google/shaka-player/issues/913
- Fixed seeking with native controls in Edge
- https://github.com/google/shaka-player/issues/951
- Fixed role selection to clear audio buffer right away
- https://github.com/google/shaka-player/issues/948
Docs:
- Fixed a bug in the upgrade guide for selecting tracks and disabling ABR
- https://github.com/google/shaka-player/issues/962
## 2.1.6 (2017-08-09)
New features:
- Add vp9, opus, and flac mp4 to probeSupport
- https://github.com/google/shaka-player/issues/944
Bugfixes:
- Never adapt across roles or languages
- https://github.com/google/shaka-player/issues/918
- https://github.com/google/shaka-player/issues/947
- Fix parsing byterange attribute in HlsParser
- https://github.com/google/shaka-player/issues/925
- Fix incorrect segment position after update in some DASH live streams
- https://github.com/google/shaka-player/pull/838
- Fix support for live streams with no seek range
- https://github.com/google/shaka-player/issues/916
- Fix display order of cues with identical ranges
- https://github.com/google/shaka-player/issues/848
- Fix missing cues in WVTT MP4s using default sample duration
- https://github.com/google/shaka-player/issues/919
- Accept non-integer settings in VTT
- https://github.com/google/shaka-player/issues/919
- Tolerate bandwidth of 0 or missing bandwidth
- https://github.com/google/shaka-player/issues/938
- https://github.com/google/shaka-player/issues/940
- Fix multiple pipeline flushes on some platforms
- Make it safe to install polyfills twice
- https://github.com/google/shaka-player/issues/941
Demo app:
- Fix compiled mode in the demo app. Does not affect the library.
Removed defaultConfig_ reference in demo.
- https://github.com/google/shaka-player/issues/929
- Update license URI for PlayReady test asset
- https://github.com/google/shaka-player/pull/953
- https://github.com/google/shaka-player/issues/945
## 2.1.5 (2017-07-17)
New features:
- Add more information to video errors in Chrome
Bugfixes:
- Fix key status problems on IE11 and Tizen TVs
- https://github.com/google/shaka-player/issues/884
- https://github.com/google/shaka-player/issues/890
- Fix period switching when streams are not yet available
- https://github.com/google/shaka-player/issues/839
- Filter out audio-only HLS variants that can't be switched to
- https://github.com/google/shaka-player/issues/824
- https://github.com/google/shaka-player/issues/861
- Fix parsing of Microsoft-packaged HLS content
- Fix rounding issues with multi-Period content
- https://github.com/google/shaka-player/issues/882
- https://github.com/google/shaka-player/issues/909
- https://github.com/google/shaka-player/issues/911
- Fix exceptions thrown in some cases when switching text tracks
- https://github.com/google/shaka-player/issues/910
- Fix DASH date parsing when timezone is missing
- https://github.com/google/shaka-player/issues/901
- Fix persistent storage detection on IE11 and Tizen TVs
- Fix test issues on Tizen
- https://github.com/google/shaka-player/issues/893
- Fix version detection when compiling from the NPM package
- https://github.com/google/shaka-player/issues/871
- Work around lack of key statuses on Tizen
- https://github.com/google/shaka-player/issues/891
- https://github.com/google/shaka-player/issues/894
Demo app:
- Fix missing fullscreen button on IE11
- https://github.com/google/shaka-player/issues/787
- Added configuration for gap jumping
Docs:
- Document HTTPS requirement for EME
- https://github.com/google/shaka-player/issues/867
- https://github.com/google/shaka-player/issues/928
- Update tutorials
- https://github.com/google/shaka-player/issues/862
- Add FAQ entry on EME robustness
- https://github.com/google/shaka-player/issues/866
- Update HLS FAQ
- Document that we test on Tizen TV now
## 2.1.4 (2017-06-16)
New features:
- Allow role to be specified in selectAudioLanguage and selectTextLanguage
- https://github.com/google/shaka-player/issues/767
Bugfixes:
- Fix changing languages close to a period boundary
- https://github.com/google/shaka-player/issues/797
- Fix hang in load() when there are pending failures
- https://github.com/google/shaka-player/issues/782
- Fix DASH parser ignoring certain text streams
- https://github.com/google/shaka-player/issues/875
- Fix exceptions when side-loading text tracks
- https://github.com/google/shaka-player/issues/821
- Fix PlayReady support on Chromecast
- https://github.com/google/shaka-player/issues/852
- Fix version number issues during publication on NPM
- https://github.com/google/shaka-player/issues/869
- Fix pollution from npm on Windows
- https://github.com/google/shaka-player/issues/776
- Fix support for npm v5
- https://github.com/google/shaka-player/issues/854
Demo app:
- Fix control visibility in fullscreen mode on mobile phones
- https://github.com/google/shaka-player/issues/663
Docs:
- Updated welcome docs
- Updated list of supported platforms
- https://github.com/google/shaka-player/issues/863
- Updated FAQ
- https://github.com/google/shaka-player/issues/864
- https://github.com/google/shaka-player/issues/865
## 2.1.3 (2017-06-06)
New features:
- Limit network retries for VOD, only retry forever on live
- https://github.com/google/shaka-player/issues/762
- https://github.com/google/shaka-player/issues/830
- https://github.com/google/shaka-player/pull/842
- Add stream IDs in getStats().switchHistory
- https://github.com/google/shaka-player/issues/785
- https://github.com/google/shaka-player/issues/823
- https://github.com/google/shaka-player/pull/846
- Add label attribute to tracks
- https://github.com/google/shaka-player/issues/825
- https://github.com/google/shaka-player/pull/811
- https://github.com/google/shaka-player/pull/831
- Expose role attributes on tracks
- https://github.com/google/shaka-player/issues/767
- Silence confusing browser-generated errors related to play()
- https://github.com/google/shaka-player/issues/836
Bugfixes:
- Fix offline storage in compiled mode
- Choose lowest-bandwidth codecs when multiple are possible
- https://github.com/google/shaka-player/issues/841
- Fix PlayReady on IE and Edge
- https://github.com/google/shaka-player/issues/837
- Fix rounding errors on IE11
- https://github.com/google/shaka-player/pull/832
- Clean up demo app loader
- Fix PlayReady test failures
## 2.1.2 (2017-05-23)
New features:
- Make educated guesses about missing HLS info (CODECS no longer required)
- https://github.com/google/shaka-player/issues/805
- Add support for PlayReady on Chromecast and Tizen
- https://github.com/google/shaka-player/issues/814
- https://github.com/google/shaka-player/pull/815
Bugfixes:
- Fix flakiness in RESTRICTIONS\_CANNOT\_BE\_MET errors
- Make isBrowserSupported more strict about MediaSource
- Fix detection of audio-only assets in the demo
- https://github.com/google/shaka-player/issues/794
- Fix exports and generated externs that were broken in v2.1.0 and v2.1.1
- Speed up deletion of offline content
- https://github.com/google/shaka-player/issues/756
Docs:
- Fix docs on subtitles and captions
- https://github.com/google/shaka-player/issues/808
- Add notes on adaptation to upgrade guide
## 2.0.9 (2017-05-10)
Backported bugfixes from v2.1.x:
- Fix offline download stalls on Android
- https://github.com/google/shaka-player/issues/747
- Fix track restriction based on key status
- https://github.com/google/shaka-player/issues/761
- Fix exception in fullscreen polyfill on IE 11
- https://github.com/google/shaka-player/pull/777
- Fix exception when reconfiguring serverCertificate
- https://github.com/google/shaka-player/issues/784
## 2.1.1 (2017-05-10)
New features:
- Separate audio and video codec in Track
- https://github.com/google/shaka-player/issues/758
- Make segment request to establish HLS media MIME type
- https://github.com/google/shaka-player/issues/769
Bugfixes:
- Fix exception in fullscreen polyfill on IE 11
- https://github.com/google/shaka-player/pull/777
- Fix exception when reconfiguring serverCertificate
- https://github.com/google/shaka-player/issues/784
- Don't fire 'trackschanged' event twice
- https://github.com/google/shaka-player/issues/783
- Fix track restriction based on key status
- https://github.com/google/shaka-player/issues/761
- Fix offline download stalls on Android
- https://github.com/google/shaka-player/issues/747
- Fix race condition in gap-jumping code
- Fix poster visibility in fullscreen mode
- https://github.com/google/shaka-player/issues/778
## 2.1.0 (2017-04-25)
New features:
- Add basic HLS support
- VOD only
- Widevine & clear content only
- No support for CEA-708
- https://github.com/google/shaka-player/issues/279
- Tolerate gaps in the presentation timeline and jump over them
- https://github.com/google/shaka-player/issues/555
- Add an indicator for critical errors
- https://github.com/google/shaka-player/issues/564
- Do not retry on HTTP 401/403 errors
- https://github.com/google/shaka-player/issues/620
- Expand player stats and track metadata
- Add loadLatency stat
- Add mimeType to tracks
- Track state changes (buffering, playing, paused, ended)
- DASH trick mode support
- https://github.com/google/shaka-player/issues/538
- Expose license expiration times through Player
- https://github.com/google/shaka-player/issues/727
- Add support for EventStream elements in DASH
- https://github.com/google/shaka-player/issues/462
- Add support for Chromecast Media Playback messages from generic senders
- https://github.com/google/shaka-player/issues/722
- Add config to ignore key system and init data in DASH manifest
- https://github.com/google/shaka-player/issues/750
- Add support for asynchronous response filters
- https://github.com/google/shaka-player/issues/610
- Filter duplicate initData from manifest by key ID
- https://github.com/google/shaka-player/issues/580
- Optionally adjust start time to segment boundary
- https://github.com/google/shaka-player/issues/683
- StringUtils and Uint8ArrayUtils are now exported, to make filters easier
- https://github.com/google/shaka-player/issues/667
- Add audio adaptation to default AbrManager
- Add an API to force the Chromecast to disconnect
- https://github.com/google/shaka-player/issues/523
- Add possibility to delay license request until playback is started
- https://github.com/google/shaka-player/issues/262
- Add API to get live stream position as Date
- https://github.com/google/shaka-player/issues/356
- Don't clear buffer if switching to the same stream
- https://github.com/google/shaka-player/issues/693
- Demo app permalink support through URL hash parameters
- https://github.com/google/shaka-player/issues/709
- Add a flag so scheme plugins can ask us to ignore cache hits for ABR
- Allow passing durations from scheme plugins to compute throughput
- https://github.com/google/shaka-player/issues/621
- Make ES6 imports easier
- https://github.com/google/shaka-player/issues/466
- Add separate restrictions to AbrManager
- https://github.com/google/shaka-player/issues/565
- Allow network plugins to see the request type
- https://github.com/google/shaka-player/issues/602
Bugfixes:
- Make language selection explicit
- https://github.com/google/shaka-player/issues/412
- Make text track visibility explicit
- https://github.com/google/shaka-player/issues/626
- Fix firing of 'trackschanged' event for multi-Period content
- https://github.com/google/shaka-player/issues/680
- Correct time parsing for MP4 VTT subtitles
- https://github.com/google/shaka-player/issues/699
- Fix playback of live when segments do not extend to the end of the Period
- https://github.com/google/shaka-player/issues/694
- Allow seeking to 0 in live streams
- https://github.com/google/shaka-player/issues/692
- Add explicit timestamps to 'emsg' events
- https://github.com/google/shaka-player/issues/698
- Fix playback of YouTube demo assets
- https://github.com/google/shaka-player/issues/682
- Allow text parsers to change during playback
- https://github.com/google/shaka-player/issues/571
Docs:
- Add offline storage to v2 upgrade guide
- Add additional docs for AbrManager
- https://github.com/google/shaka-player/issues/629
- Add manifest parser plugin tutorial
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
- All segmented WebVTT cue timestamps are now segment-relative
- https://github.com/google/shaka-player/issues/726
- 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:
- Suppress controls UI updates when hidden
- https://github.com/google/shaka-player/issues/749
- Revert keyboard navigation changes in demo, failing on Firefox
## 2.0.7 (2017-03-29)
New Features:
- Improved keyboard navigation in demo page for accessibility
- Play through small gaps at the start of the timeline
- Add a method for accessing the HTMLMediaElement from the Player
- https://github.com/google/shaka-player/pull/723
- Improved error reporting for HTTP errors
Bugfixes:
- Fixed a DASH compliance bug in SegmentList w/ presentationTimeOffset
- Fixed compiler renaming in emsg events.
- https://github.com/google/shaka-player/issues/717
- Fix period transitions where text streams may be absent
- https://github.com/google/shaka-player/issues/715
- Fix Firefox DRM detection
- Fix cleanup of expired EME sessions for offline
- Fix demo app error thrown when offline is not supported
- Fix infinite loop in offline storage of SegmentTemplate-based DASH
- https://github.com/google/shaka-player/issues/739
- Fix contamination between tests
## 2.0.6 (2017-02-24)
New Features:
- Add Media Session info to demo
- https://github.com/google/shaka-player/pull/689
- Add support for xml:space in TTML parser
- https://github.com/google/shaka-player/issues/665
- Add fullscreenEnabled property to fullscreen polyfill
- https://github.com/google/shaka-player/issues/669
- Allow InbandEventStream elements at Representation level
- https://github.com/google/shaka-player/pull/687
- https://github.com/google/shaka-player/issues/686
- Warning for unsupported indexRange attribute
- Warning for duplicate Representation IDs
Bugfixes:
- Fix cast support broken since 2.0.3
- https://github.com/google/shaka-player/issues/675
- Fix timeout errors in cast demo
- https://github.com/google/shaka-player/issues/684
- Fix infinite buffering caused by a race
- https://github.com/google/shaka-player/issues/600
- Fix race in StreamingEngine for multi-Period content
- https://github.com/google/shaka-player/issues/655
- Hide the controls when going fullscreen on phones
- https://github.com/google/shaka-player/issues/663
- Improve calculation of $TIME$ in SegmentTemplate
- https://github.com/google/shaka-player/issues/690
- https://github.com/google/shaka-player/pull/706
- Fix YouTube asset on demo app
- https://github.com/google/shaka-player/issues/682
## 2.0.5 (2017-01-30)
Bugfixes:
- Fix several bugs with multi-Period content
- Possible hang when seeking
- Fix race between buffering and Period transition
- Fix race between rapid Period transitions
- https://github.com/google/shaka-player/issues/655
- Fix hang in destroy() when EME sessions are in a bad state
- https://github.com/google/shaka-player/issues/664
- Fix doubling of time offset for segment-relative cues
- https://github.com/google/shaka-player/issues/595
- https://github.com/google/shaka-player/pull/599
## 2.0.4 (2017-01-24)
New features:
- Support for 4k on Chromecast Ultra
- Support for text tracks on Toshiba dTV
- https://github.com/google/shaka-player/issues/635
- https://github.com/google/shaka-player/pull/643
Bugfixes:
- Fixed buffering issues at the end of streams in IE/Edge
- https://github.com/google/shaka-player/issues/658
- Fixed parsing of empty divs in TTML
- https://github.com/google/shaka-player/issues/646
- https://github.com/google/shaka-player/pull/650
- Fixed subtle bug in Promise.resolve polyfill on IE
- Fixed test failures on Chromecast
Docs:
- Added additional docs for offline storage
- Updated and clarified debugging tutorial
- https://github.com/google/shaka-player/issues/653
## 2.0.3 (2017-01-09)
New features:
- Treat HTTP 202 status codes as failures
- https://github.com/google/shaka-player/issues/645
Bugfixes:
- Fix race condition in StreamingEngine
- Fix race in load/unload in Player
- https://github.com/google/shaka-player/pull/613
- https://github.com/google/shaka-player/issues/612
- Update workarounds for Edge EME bugs
- https://github.com/google/shaka-player/issues/634
- Add missing events and methods to cast proxy
- Fix exclusion of standard features in custom builds
- Be more permissive of text failures
- Permit text parsing errors as well as streaming errors with the
ignoreTextStreamFailures config option.
- Do not fail StreamingEngine startup because of text streams,
regardless of config.
- https://github.com/google/shaka-player/issues/635
- Fix selectTrack() call with no text tracks
- https://github.com/google/shaka-player/issues/640
- Fix buffering state for live streams (stop at live edge)
- https://github.com/google/shaka-player/issues/636
## 2.0.2 (2016-12-15)
New features:
- Add support for Toshiba dTV
- https://github.com/google/shaka-player/pull/605
- TTML subtitles: Support for \<br\> inside a paragraph
- https://github.com/google/shaka-player/pull/572
- https://github.com/google/shaka-player/pull/584
- Parse TTML textAlign settings into align property of a VTTCue
- https://github.com/google/shaka-player/pull/573
- Improved test stability and coverage reports
Bugfixes:
- Fix DASH content type parsing
- https://github.com/google/shaka-player/issues/631
- Tolerate larger gaps at the start
- https://github.com/google/shaka-player/issues/579
- Fixes for TTML alignment, positioning and cue externs
- https://github.com/google/shaka-player/pull/588
- https://github.com/google/shaka-player/pull/594
- Keep ewma sampling from failing on 0 duration segments
- https://github.com/google/shaka-player/issues/582
- https://github.com/google/shaka-player/pull/583
- Allow text parsers to change during playback
- https://github.com/google/shaka-player/issues/571
- Fix playback when IE11 modifies the XML DOM
- https://github.com/google/shaka-player/issues/608
- https://github.com/google/shaka-player/pull/611
- Update MediaSource polyfills for Safari 10
- https://github.com/google/shaka-player/issues/615
- Throw explicit error on empty manifests
- https://github.com/google/shaka-player/issues/618
Docs:
- Link to error docs from the demo app
## 2.0.1 (2016-10-26)
New features:
- Faster ABR decisions
- Add config option for using segment relative timestamps for VTT
- https://github.com/google/shaka-player/issues/480
- https://github.com/google/shaka-player/pull/542
- Log and ignore non-standard WebVTT settings instead of failing
- https://github.com/google/shaka-player/issues/509
- Make key IDs from the manifest available through DrmInfo
- https://github.com/google/shaka-player/pull/529
- Provide framerate and codecs information on video tracks
- https://github.com/google/shaka-player/issues/516
- https://github.com/google/shaka-player/pull/533
- Dispatch more useful network error when HEAD request fails
Bugfixes:
- Fix ABR quality issues when switching tracks (stutters, glitches, etc.)
- https://github.com/google/shaka-player/issues/520
- Keep user selected text track when switching audio
- https://github.com/google/shaka-player/issues/514
- Fix vtt with one digit hour
- https://github.com/google/shaka-player/pull/522
- Fix build scripts for Windows
- https://github.com/google/shaka-player/issues/526
- Fix buffering event delay
- https://github.com/google/shaka-player/issues/511
- Workaround bug in Edge buffered ranges
- https://github.com/google/shaka-player/issues/530
- Fix handling of internal-error key status
- https://github.com/google/shaka-player/issues/539
- Ignore trick mode tracks
- https://github.com/google/shaka-player/issues/538
- Fix AdaptationSetSwitching support
- Fix buffering logic when switching periods
- https://github.com/google/shaka-player/issues/537
- https://github.com/google/shaka-player/issues/545
- Use data URI content-type for manifest type detection
- https://github.com/google/shaka-player/pull/550
- Fix audio language changes on Chromecast
- https://github.com/google/shaka-player/issues/544
- Fix Chromecast receiver idle behavior when looping or replaying
- https://github.com/google/shaka-player/issues/558
- Fix exception-causing race when TextEngine is destroyed
Demo app improvements:
- Hide volume & mute buttons on mobile-sized screens
- Probe both MP4 and WebM support in DrmEngine
- https://github.com/google/shaka-player/issues/540
- Update Axinom test assets to v7
- Fix accessibility issues in the demo app
- https://github.com/google/shaka-player/issues/552
Docs:
- Rewrote the debugging tutorial
- Misc docs cleanup
- https://github.com/google/shaka-player/pull/536
## 2.0.0 (2016-09-07)
The first full release of v2!
New features:
- Improved Chromecast support
- Cast from the built-in Chrome dialog as well as the video controls
- Use the built-in Chrome dialog to disconnect
- Support for in-progress recordings (IPR)
- https://github.com/google/shaka-player/issues/477
- Can be configured to tolerate text stream failures
- https://github.com/google/shaka-player/issues/474
- Ignore small gaps in the timeline
- https://github.com/google/shaka-player/issues/472
- Added EMSG box support
- https://github.com/google/shaka-player/issues/259
- Reduced test flakiness and improved test speed
- Improved VTT parsing
- https://github.com/google/shaka-player/issues/469
- Improved EME error reporting
- https://github.com/google/shaka-player/issues/468
- Improved demo app UI for touch screens
- Smaller demo app UI (video element above the fold on Nexus 5X)
Bugfixes:
- Fixed text-related issues in IE11
- https://github.com/google/shaka-player/issues/501
- https://github.com/google/shaka-player/issues/502
- Fixed a few live edge corner cases
- https://github.com/google/shaka-player/issues/490
- https://github.com/google/shaka-player/issues/504
- Fixed TTML parsing exceptions
- https://github.com/google/shaka-player/issues/473
- https://github.com/google/shaka-player/issues/506
- Fixed text encoding issues with subs
- Fixed issues with multi-period eviction
- https://github.com/google/shaka-player/pull/483
- Defined order of AdaptationSet preference (prefer high quality, low bw)
- https://github.com/google/shaka-player/issues/476
- Fixed support for manifests with multiple text formats
- Fixed support for DASH Representations with multiple Roles
- https://github.com/google/shaka-player/issues/500
- Fixed CSP compliance for Chrome apps
- https://github.com/google/shaka-player/issues/487
Planned features we cut:
- Cache-detecting bandwidth estimation
- https://github.com/google/shaka-player/issues/324
## 2.0.0-beta3 (2016-07-29)
Restored Features from v1 Missing in v2.0.0-beta2:
- Offline storage and playback
- https://github.com/google/shaka-player/issues/343
- Clearkey license server support
- https://github.com/google/shaka-player/issues/403
New features:
- Built-in Chromecast support
- https://github.com/google/shaka-player/issues/261
- TTML text support
- https://github.com/google/shaka-player/issues/111
- TTML in MP4
- https://github.com/google/shaka-player/issues/278
- VTT in MP4
- https://github.com/google/shaka-player/issues/277
- Handle QuotaExceededError, automatically reduce buffering goals
- https://github.com/google/shaka-player/issues/258
- Faster template processing in DASH
- https://github.com/google/shaka-player/issues/405
- Bitrate upgrades take effect faster
- Add a specific error for missing license server URI
- https://github.com/google/shaka-player/issues/371
- Add adaptation events for language changes
- Don't treat network errors as fatal in StreamingEngine
- https://github.com/google/shaka-player/issues/390
- Provide the application access to DrmInfo structure
- https://github.com/google/shaka-player/issues/272
- Restructure test/ folder to mimic lib/ folder structure
- https://github.com/google/shaka-player/pull/434
- Upgrade closure compiler
- https://github.com/google/shaka-player/pull/421
- New logo!
Bugfixes:
- Revert ABR changes that caused bandwidth samples to be ignored
- https://github.com/google/shaka-player/issues/367
- Fix buffering of multi-period text
- https://github.com/google/shaka-player/issues/411
- Fix various ABR issues
- https://github.com/google/shaka-player/issues/435
- Fix stuck playback on seek
- https://github.com/google/shaka-player/issues/366
- Stop refreshing live manifests when unloaded
- https://github.com/google/shaka-player/issues/369
- Don't adapt between incompatible codecs (mp4a & ec-3)
- https://github.com/google/shaka-player/issues/391
- Fix race in player WRT external text tracks
- https://github.com/google/shaka-player/issues/418
- Fix Edge EME workarounds on IE11
- https://github.com/google/shaka-player/issues/393
- Work around Safari MSE bugs
- Fix relative paths in UTCTiming
- https://github.com/google/shaka-player/issues/376
- Fix source map paths on windows
- https://github.com/google/shaka-player/issues/413
- Improve demo app CSS on mobile
- Fix buffering state on unload
- Fix load/unload/destroy race conditions
- Reduce test flake (async tests still flakey on Safari)
- Fix context menu display in demo app
- https://github.com/google/shaka-player/issues/422
- Fix key status, session expiration, and DRM error dispatch
- Fix demo app play controls on Android
- https://github.com/google/shaka-player/issues/432
- Fix corner cases when seeking to the live edge
Docs:
- Add a license-wrapping tutorial
- Add track restriction docs
- https://github.com/google/shaka-player/issues/387
- Update track and adaptation docs
- https://github.com/google/shaka-player/issues/447
Broken Compatibility compared to v2.0.0-beta2:
- The asynchronous Player.support() has been replaced with the synchronous
Player.isBrowserSupported() call
- https://github.com/google/shaka-player/issues/388
- 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:
- Track restrictions API
- https://github.com/google/shaka-player/issues/326
- https://github.com/google/shaka-player/issues/327
- Custom controls demo for live
- https://github.com/google/shaka-player/issues/322
- Trick play demo
- https://github.com/google/shaka-player/issues/328
New features:
- Reduced startup latency
- Added player.resetConfiguration()
- Added response text to HTTP errors
- https://github.com/google/shaka-player/issues/319
- Demo controls redesigned with material design icons
- Emit an error if the wrong keys are retrieved
- https://github.com/google/shaka-player/issues/301
- Human-readable errors shown in demo app
- Cache-friendly bandwidth estimation
- https://github.com/google/shaka-player/issues/324
- Improved trick play and playbackRate support
- https://github.com/google/shaka-player/issues/344
- Allow apps to reset ABR manager estimates
- https://github.com/google/shaka-player/issues/355
- Support non-zero start times for VOD
- https://github.com/google/shaka-player/issues/341
- https://github.com/google/shaka-player/issues/348
- https://github.com/google/shaka-player/issues/357
Bugfixes:
- Fix playback of DASH with unaligned Representations
- Fixed race conditions on seek
- https://github.com/google/shaka-player/issues/334
- Improved drift handling
- https://github.com/google/shaka-player/issues/330
- Fixed stack overflow in StringUtils
- https://github.com/google/shaka-player/issues/335
- Improved live support
- https://github.com/google/shaka-player/issues/331
- https://github.com/google/shaka-player/issues/339
- https://github.com/google/shaka-player/issues/340
- https://github.com/google/shaka-player/issues/351
- Fixed player.addTextTrack
- Handle CDMs which don't support the same types MSE does
- https://github.com/google/shaka-player/issues/342
- Fix audio-only encrypted playback
- https://github.com/google/shaka-player/issues/360
- Fix renaming of event properties
- https://github.com/google/shaka-player/issues/361
- Warn about missing clock sync elements in live manfiests
- https://github.com/google/shaka-player/issues/290
- Add option for default clock sync URI
- https://github.com/google/shaka-player/issues/290
- Fix crash in TextEngine when subs are turned off
Docs:
- Shaka v2 upgrade guide
- http://shaka-player-demo.appspot.com/docs/api/tutorial-upgrade.html
- Added enum values (not just names) to generated docs
- https://github.com/google/shaka-player/issues/337
Broken Compatibility compared to v2.0.0-beta:
- None!
## 1.6.5 (2016-04-08)
Bugfixes:
- Always build the same input files to a stable output
- https://github.com/google/shaka-player/pull/299
- Properly extern the 'xhr' property of HTTP errors
- https://github.com/google/shaka-player/pull/319
## 2.0.0-beta (2016-04-07)
New Features:
- DASH support for:
- Multi-Period content
- https://github.com/google/shaka-player/issues/186
- Location elements
- https://github.com/google/shaka-player/issues/298
- UTCTiming elements (for clock synchronization)
- https://github.com/google/shaka-player/issues/241
- Better browser compatibility
- Testing on Safari 9, IE 11, Edge, Firefox 45+, Opera, Chrome
- https://github.com/google/shaka-player/issues/101
- New plugin and build system to extend Shaka
- Networking plugins
- https://github.com/google/shaka-player/issues/228
- https://github.com/google/shaka-player/issues/198
- Cache-friendly networking
- https://github.com/google/shaka-player/issues/76
- https://github.com/google/shaka-player/issues/191
- https://github.com/google/shaka-player/issues/235
- Limit memory usage by clearing old data from buffer
- https://github.com/google/shaka-player/issues/247
- Simpler, more mobile-friendly demo app
- New test assets
- https://github.com/google/shaka-player/issues/224
- Made play()/pause() independent of buffering
- https://github.com/google/shaka-player/issues/233
- Numerical error code system
- https://github.com/google/shaka-player/issues/201
- Distinguish between subtitle and caption tracks
- https://github.com/google/shaka-player/issues/206
- Separate audio & text language preferences
- https://github.com/google/shaka-player/issues/207
- Update timeShiftBufferDepth when updating the manifest
- https://github.com/google/shaka-player/issues/295
- Simplified clearkey setup using configure()
- Initial bandwidth is now configurable:
- https://github.com/google/shaka-player/issues/268
Bugfixes:
- Stopped using Date headers for clock sync
- https://github.com/google/shaka-player/issues/205
- https://github.com/google/shaka-player/issues/241
Docs:
- New tutorials!
Missing Features from v1 (to be added later):
- Custom controls demo for live streams
- https://github.com/google/shaka-player/issues/322
- Chromecast demo
- Trick play demo
- Track restrictions based on key status
- Offline support
Broken Compatibility:
- Almost everything! (v2 upgrade guide coming soon)
## 1.6.4 (2016-03-03)
Bugfixes:
- Updated Promise polyfill with fixes backported from v2
- Fixed Edge EME compatibility & InvalidStateErrors
- https://github.com/google/shaka-player/issues/282
- Fixed HttpVideoSource use with clear content (Thanks, Sanborn!)
- https://github.com/google/shaka-player/pull/292
- Fixed uncompiled-mode performance regression introduced in v1.6.3
- https://github.com/google/shaka-player/issues/288
## 1.6.3 (2016-02-08)
Features:
- Added opt\_clearBufferOffset for audio (Thanks, Itay)
- https://github.com/google/shaka-player/pull/254
- Fetch segments from new location after manifest redirect (Thanks, Rob)
- https://github.com/google/shaka-player/pull/266
Bugfixes:
- Several IE11 stability issues and race conditions fixed
- Fixed incompatibilities when clearing the SourceBuffer
- Ignore spurious 'updateend' events
- Added stack-based messages to all assertions
- Fixed some unit test compatibility issues
- Fixed race conditions caused by Promise polyfill
- https://github.com/google/shaka-player/issues/251
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:
- Added a new configure parameter to allow a user to completely disable
the cache-buster. This is necessary for certain CDNs, but please note
the tradeoffs before using. Bandwidth estimation can be adversely
affected, particularly for low-bandwidth users.
- https://github.com/google/shaka-player/issues/235
- https://github.com/google/shaka-player/issues/238
- https://github.com/google/shaka-player/issues/76
Bugfixes:
- Fixed interpretation of startNumber for SegmentTemplate w/ duration.
- https://github.com/google/shaka-player/issues/237
## 1.6.1 (2015-12-07)
Bugfixes:
- Fixed handling when all streams are removed in a manifest update.
- Fixed annotation mistakes in preparation for a new compiler release.
- Fixed Promise polyfill errors in compiled mode.
- https://github.com/google/shaka-player/issues/236
## 1.6.0 (2015-11-17)
Features:
- Partial IE11 & PlayReady support. (Thanks, Jono!)
- https://github.com/google/shaka-player/pull/176
- *live and offline content not working*
- *non-zero start times not working*
- *IE11 fails to decode some test assets*
- https://github.com/google/shaka-player/issues/224
- Added support for setPlaybackStartTime on live streams.
- https://github.com/google/shaka-player/pull/231
- Improved support for live streaming corner cases.
- https://github.com/google/shaka-player/issues/139
- https://github.com/google/shaka-player/issues/140
- https://github.com/google/shaka-player/issues/141
- https://github.com/google/shaka-player/issues/145
- https://github.com/google/shaka-player/issues/185
- Now builds with three different configs by default.
- Full build (all features enabled).
- DASH MP4 VOD. (Only DASH w/ SegmentBase, no WebM.)
- DASH MP4 live. (Only DASH w/o SegmentBase, no WebM.)
- https://github.com/google/shaka-player/issues/116
- Changed startNumber implementation to be more consistent.
- https://github.com/google/shaka-player/issues/192
- Added a new Promise polyfill for IE11.
- Added support for WebM w/ unknown size in the Segment element.
Bugfixes:
- Expired sessions (for example, when using key rotation) are now cleaned up.
- https://github.com/google/shaka-player/issues/210
- Manifests can now be reprocessed without an update when
availabilityStartTime passes.
- https://github.com/google/shaka-player/issues/172
Test app features:
- Added Chromecast support to the demo app.
(No changes to the library for this.)