Skip to content

Releases: shaka-project/shaka-player

v1.6.1

07 Dec 22:14
Compare
Choose a tag to compare

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.

v1.6.0

17 Nov 17:49
Compare
Choose a tag to compare

1.6.0 (2015-11-17)

Features:

  • Partial IE11 & PlayReady support. (Thanks, Jono!)
    • #176
    • live and offline content not working
    • non-zero start times not working
    • IE11 fails to decode some test assets
  • 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.
    • enableAdaptation
    • getAdaptationEnabled
    • setStreamBufferSize
    • getStreamBufferSize
    • setLicenseRequestTimeout
    • setMpdRequestTimeout
    • setRangeRequestTimeout
    • setPreferredLanguage
    • setRestrictions
    • getRestrictions
    • #203
    • #93
  • Removed support for the old-style ContentProtection callback, deprecated
    since v1.5.0.

v1.5.2

13 Nov 00:29
Compare
Choose a tag to compare

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

07 Oct 22:53
Compare
Choose a tag to compare

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

18 Sep 16:31
Compare
Choose a tag to compare

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

04 Sep 19:51
Compare
Choose a tag to compare

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

19 Aug 18:01
Compare
Choose a tag to compare

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

07 Jul 00:55
Compare
Choose a tag to compare

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:

  • Documented the fact that autoplay does not work on mobile, and why.
  • Documented error events and how to handle them.
  • Documented browser support and porting.
  • Documented Player APIs for trick play interface.

v1.3.2

06 Jul 23:27
Compare
Choose a tag to compare

1.3.2 (2015-07-06)

A roll-up of recent bugfixes.

Bugfixes:

  • Fixed case-sensitive scheme URI check in the test app.
  • Fixed support-testing page for very old browsers.
  • Fixed multi-lingual encrypted content.
  • Fixed load-time exceptions in IE 9.

v1.3.1

22 May 21:24
Compare
Choose a tag to compare

1.3.1 (2015-05-22)

A roll-up of recent bugfixes and small improvements.

Bugfixes:

  • Fixed some broken tests.
  • Fixed buffering states.
  • Fixed fullscreen polyfill installation.
  • Fixed handling of live content with minimumUpdatePeriod of 0.
  • Fixed selection of live content (type=dynamic).
  • Fixed AJAX request timeouts.
  • Fixed spec compliance for polyfilled session expiration.
  • Fixed buffer time for offline playback.
  • Fixed offline API consistency.

Features:

  • Refactored and updated support test page.
  • Simplified polyfill installation. (shaka.polyfill.installAll)
  • New polyfill for CustomEvent.
  • Small improvements to browser compatibility.
    • (node.childNodes, node.textContent, currentScript, CSS fixes, etc.)
  • Documented clock sync and CORS issues with live content.
  • Documented JRE requirements.
  • Test app now accepts a URL parameter to make ChromeCast testing easier.
  • Stopped using deprecated methods in tests and tutorials.
  • Added progress events for storing offline content.
  • Documented offline APIs.