Releases: shaka-project/shaka-player
Releases · shaka-project/shaka-player
v1.6.2
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.
Bugfixes:
- Fixed interpretation of startNumber for SegmentTemplate w/ duration.
v1.6.1
v1.6.0
1.6.0 (2015-11-17)
Features:
- Partial IE11 & PlayReady support. (Thanks, Jono!)
- Added support for setPlaybackStartTime on live streams.
- Improved support for live streaming corner cases.
- 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.)
- #116
- Changed startNumber implementation to be more consistent.
- 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.
- Manifests can now be reprocessed without an update when
availabilityStartTime passes.
Test app features:
- Added Chromecast support to the demo app.
(No changes to the library for this.) - Removed force-prefixed feature for improved IE11 support.
- Added links to the project and the docs.
Broken Compatibility:
- Removed Player methods deprecated since v1.5.0.
- Removed support for the old-style ContentProtection callback, deprecated
since v1.5.0.
v1.5.2
1.5.2 (2015-11-12)
A roll-up of recent bugfixes.
Bugfixes:
- Fixed timestamp correction for some live streams from Elemental.
- Fixed support for manifests with different PSSHs per Representation.
- Fixed support for ContentProtection elements at both AdaptationSet and
Representation level in the same manifest. - Fixed support for bound DrmInfo callbacks.
- Fixed the 'enabled' flag of text tracks when manipulated directly by the
video element. - Fixed buffering to use the correct goal (minBufferTime) when re-buffering.
- Fixed a broken link in the documentation. (Thanks, Leandro.)
Test app features:
- Added a Widevine-encrypted version of the Sintel 4k test asset.
v1.5.1
1.5.1 (2015-10-07)
A roll-up of recent bugfixes.
Bugfixes:
- Fixed a major memory leak introduced in 1.5.0.
- Deleting encrypted offline content now deletes persistent sessions.
- Static content using SegmentTemplate is now truncated at the Period's
duration. - Key status error reporting is now more consistent and provides more
information. - Reduced flakiness in some tests.
- Requests used for clock sync no longer allow caching.
v1.5.0
1.5.0 (2015-09-17)
Features:
- Added method to set playback start time.
- Added a text-styling API.
- Added support for AdaptationSet groups.
- Added a new configuration API.
- License preprocessing can now modify HTTP method and server URL.
- Added an API to load captions not specified in the manifest.
- Added support for live streams using SegmentList.
- Added support for multiple BaseURL elements for failover.
- Gave IAbrManager implementation the ability to clear the buffer when
switching streams. - Added setNetworkCallback API to DashVideoSource to modify network requests.
- Improved error reporting for unplayable content.
- Added support for multiple DRM schemes per ContentProtection and simplified
DRM scheme configuration. - Improved documentation for license pre- and post-processing.
Bugfixes:
- Restricting all video tracks now fires an error event.
- Changing text tracks now fires an adaptation event.
- Fixed bad interactions between pausing and negative playback rates.
- Fixed support for negative r values in SegmentTimeline.
- Fixed bugs that could cause infinite buffering for certain configurations.
- Fixed exceptions fired during rapid Player destroy().
- Fixed linting with conflicting globally-installed copy of linter library.
- Fixed support for SegmentTimelines with presentationTimeOffset.
- Fixed support for apps/content which specify multiple DRM scheme configs.
Broken Compatibility:
- Removed Player methods deprecated since v1.3.0.
- getCurrentResolution
- getCurrentTime
- getDuration
- getMuted
- getVolume
- play
- pause
- requestFullscreen
- seek
- setMuted
- setVolume
- #118
Deprecated:
- The following methods on Player are deprecated in favor of
configure()/getConfiguration() and will be removed in v1.6.0:- enableAdaptation
- getAdaptationEnabled
- setStreamBufferSize
- getStreamBufferSize
- setLicenseRequestTimeout
- setMpdRequestTimeout
- setRangeRequestTimeout
- setPreferredLanguage
- setRestrictions
- getRestrictions
- #93
- A new two-argument ContentProtectionCallback has been added to
DashVideoSource, and the old style is deprecated and will be removed
in v1.6.0.
v1.4.2
1.4.2 (2015-09-04)
A roll-up of recent bugfixes.
Bugfixes:
- Fix storage of duplicate session IDs for encrypted offline content.
- Specify EME sessionTypes, required in newer EME draft.
- Fix regression in rewind support, once more working outside buffered range.
- Support renamed output protection errors from newer EME draft.
- Fix seeking in custom controls on Android.
- Fix missing final chunk when storing certain videos for offline playback.
- Prevent crashing of module loaders which use 'define' but are not full AMD
loaders.
Test app features:
- Added 'offline' URL param.
v1.4.1
1.4.1 (2015-08-18)
A roll-up of recent bugfixes and small improvements.
Bugfixes:
- An exception is no longer thrown from StreamVideoSource in uncompiled mode
when the stream limits cannot be computed. - Fixed support for multiple encrypted audio tracks.
- Fixed support for manifests that use SegmentList with a single URL.
- Fixed support for audio and video robustness settings in compiled mode.
- The MPD 'main' property is now defined in the correct class.
- The same initialization segment is no longer inserted multiple times into
the SourceBuffer. - Removed a race in Stream that could stop AdaptationEvents from firing.
- Stopped the compiler from renaming PersistentState and DistinctiveIdentifier
enum values. - Removed a race in Player.getStats() that could cause NaN stats.
- Fixed support to recover from failed segment requests.
- Made rewind, pause, play, and fast-forward consistent with normal video
element behavior, the UI, and Player.setPlaybackRate(). - Improved seek handling during stream startup.
- Unnecessary seeking events during stream startup are no longer fired.
- Segment fetches are no longer retried if the Stream has been destroyed.
- Fixed support for offline in compiled mode.
Features:
- The version indicator on the demo page now displays the NPM version (if
available) when the git version is unavailable. - Added support to clear the the audio buffer when switching tracks.
- Added the ability to detect and recover from multiple buffered ranges.
- Improved error messages when persistent licenses are not supported.
Testing:
- Reduced test flakiness overall.
- Certain (unavoidable) decode errors are now suppressed on Chrome Linux.
- Added waitUntilBuffered() function to help reduce test flakiness.
v1.4.0
1.4.0 (2015-07-06)
Code health release. Major refactoring of streaming logic.
Bugfixes:
- Overriding a license server URL in the test app no longer causes a PSSH
from the MPD to be ignored. - Fixed possible event listener leak.
Features:
- Player.destroy() now returns a Promise.
- DrmSchemeInfo now has distinctiveIdentifier, persistentState, and
robustness parameters. - Clarified buffering event policies.
- Added a license pre-processor.
- Added support for the MPD Location element.
- Custom BandwidthEstimators can now allow XHR caching.
- Added support for startNumber of 0, per the recent DASH spec corrigendum.
- Added support for server certificate APIs through DrmSchemeInfo.
- Major refactor of streaming. Switching representations is now faster and
more flexible. Live stream seek ranges are more accurate. - XHR timeout is now runtime-configurable.
- Buffering goals are now runtime-configurable.
- Alternative IAbrManager implementations can now be injected at runtime.
Test app features:
- Added "buffered ahead" and "buffered behind" indicators.
- Converted cycle buttons into checkboxes so cycling can be stopped during
playback. - Test app now jumps to live when the user clicks on the time code in a live
stream. - Added an example of a trick-play UI built on the Player API.
Testing:
- Disabled code coverage stats in unit tests by default.
- Split unit tests and integration tests into separate test runners.
- Added a Karma config file to make automated testing easier.
- Added checks for offline features to the support-testing page.
Documentation: