Skip to content

Releases: Dash-Industry-Forum/dash.js

Dash.js v2.0.0

12 Feb 21:52
Compare
Choose a tag to compare

Refactor
See the Migration Document for more information.

  • Converted to ECMAScript 6
  • Removed SameTimeRequestRule and PendingRequestRule
  • Simplified the scheduling and buffering logic.
  • Added many new API calls.
  • Externalized Protection.

Bug Fixes

  • #1115 DOMStoarge Last Bitrate Broken
  • #1110 BufferTarget is not correct with regards to live delay and live streams
  • #1104 Fix utf-8 encode fragment text
  • #1094 SegmentTimeline does not always autoStart properly in Chrome
  • #1056 Live segmenttemplate streams failing on Chrome/FF/E with 2.0
  • #1054 Multiple calls to EventController.start without EventController.reset/.clear causes uncaught TypeError
  • #1045 Live simulator with SegmentTimeline doesn't start to play in 2.0
  • #1040 Time Text fails to add track in Firefox
  • #1037 dash.js player fails to load mpd after "DOMStorage is supported, but cannot be used" warning
  • #1027 Playing when autoplay is false does not work
  • #1022 Rename classes with "Extensions" in name
  • #1019 Refactor MediaElement Controls VideoModel -> PlaybackController
  • #1018 Preview while seeking in a paused state.
  • #1014 Fix intermittently failing unit test
  • #1001 Add JSDocs to new API in 2.0 Documentation
  • #1000 Stream fails when live delay is set to 0 or 1 fragment with 2 second segments
  • #984 Exception when resuming fragmentedText rendering
  • #976 Several pieces of content fail to play under Firefox for various reasons
  • #974 reset() has weird behavior
  • #927 detachMediaSource causes misleading MEDIA_ERR_SRC_NOT_SUPPORTED error
  • #973 Some API methods don't work before play

Known Issues

  • MultiPeriod content fails and will be fixed in 2.1 #1033
  • .attachTTMLRenderingDiv(TTMLRenderingDiv) fail in Firefox #1164
  • Intermittent live stream failure with Media Decode Errors
  • Streams using high profile codecs may not play properly.
  • Only streams with segmentAlignment='true' will work with abr.
  • You can find a complete list of open issues marked for milestone 2.1 here.

Dash.js v1.6.0

21 Dec 21:02
Compare
Choose a tag to compare

Please Read:

  • This is a dead end branch for a final 1.x release to hold us over until the 2.0 refactored code base is released at end of Jan 2016. This was intentionally not merged in to master to avoid having to force 2.0 into master and loosing all the history prior. Since 1.6.0 will not rebase ore merge and has over 50 conflicted files we decided to just tag and not merge. Best efforts will be made to make sure all fixes and enhancements will be manually ported over to 2.0.

Release Notes:

Features:

  • Added set/getMaxAllowedRepresentationRatio and setInitialRepresentationRatio APIs, which enable you to select a starting and maximum representation part way through the available list, enabling limitations of control without knowledge of available bitrates. With 10 representations, and a maxAllowedRepresentationRatio of 0.3, the third representation is the highest that will be switched to. By default, this has no effect.
  • New ABR heuristic that prevents switching to representations larger than the size of the viewport. There are corresponding get/setLimitBitrateByPortal APIs to control this functionality.
  • When a stream is stalled with addStalledStream (i.e. for rebuffering), a "waiting" event is sent by the video model. Inversely, a "playing" event is sent when all stalled streams have been removed. This enables easy tracking of whether or not the video is rebuffering.
  • New astinfuture event that is triggered when playback will not start yet as the stream is not yet available.
  • New get/setAutoSwitchQualityFor APIs that enable you to toggle ABR for just audio or video. get/setAutoSwitchQuality exists for backwards compatibility.
  • DVB-compliant metric reporting.

Fixes:

  • Improvements to handling resets, and replacement of lots of logic around scheduling and other calculations that seems to exist for dealing with badly generated content.
  • Removal of unused long.js/Math.js libraries, and atob and btoa polyfills
  • Adds an isDiscarded check to isFragmentLoadedOrPending, as an additional layer of protection for issue #240.
  • Fixes/workarounds for #881, #882 and #883.
  • Improved buffer pruning logic that works across buffered ranges.
  • Fix playback in environments where no EME are available (e.g. Debian Firefox)

Dash.js v1.5.1

14 Oct 17:08
Compare
Choose a tag to compare

This is a minor point release with some nice bug fixes and enhancements:

#807 Load video at time does not work at certain times
#777 HTTPS Delivery Support.
#776 Html-rendered subtitles are displayed over html popup window
#768 Console log should trace out framework version and date/time of execution Enhancement
#763 Control Bar CSS filename has Typo - Missing "R"
#825 The text tracks are now sorted in same order as in Manifest.
#748 Full-screen issues and subtitle non-rendering in Edge and Firefox.
#819 Enable HTML-rendered captions in all browsers
#817 Fixed so that the TTML rendering view is resized to match the video
#778 Fixes problem with subtitles overlapping menu in reference player.
#835 Handle XML parsing error sensibly.

Dash.js v1.5.0

08 Sep 19:59
Compare
Choose a tag to compare

New Features:

  • Fully Integrated Box Parser (For extracting items like EMSG)
  • Multiple Video Adaptation Support
  • Multiple Audio Adaptation Support
  • Multiple Text Adaptation Support
  • Richly styled TTML subtitling (almost complete EBU-TT-D)
  • Support for Safari and Firefox
  • Multiperiod DRM/EME Protection

Enhancements:

  • Buffer Pruning/Seeking
  • HTTP Metric Improvements
  • DRM/EME JSDocs.
  • Improved support for app-specific DRM license servers

Bug Fixes:

  • Multiperiod
  • xLink onload
  • TextTrack
  • Cross Browser
  • Scheduling
  • Live edge detection.
  • HTTPS Timeserver calls
  • DRM/EME

New Contribution Akamai Control Bar:

  • Simple yet styleable video control bar that is very easy to use.
  • Includes a caption menu for multiple selections. It allows displaying time and duration (relative OR UTC).
  • Will work with Live DVR Window seeking (timeShiftBufferDepth).
  • Built to work only with players using Dash.js!
  • Drop into a page with just two lines of code, one css/js include and some HTML.

Known Issues:

  • Firefox: Rich TTML subtitling is not working
  • IE: Rich TTML subtitling is not working in full-screen (not enabled at all in reference player)
  • Edge: Rich TTML subtitling does not work unless one turns on the IE11 flag.
  • Control Bar: IE Fullscreen does not show control bar.
  • Typo in control bar css file name contolbar.css should be controlbar.css.
  • cnd.dashif.org HTTPS certificate deployment is underway.

Dash.js Release v1.4

12 Jun 20:28
Compare
Choose a tag to compare
  • Multiperiod re-design
  • Enhanced xlink support for xlink onLoad
  • DRM support and improvements with key prefetching API.
  • Optimize Starting bit rate selection including
    • starting index API
    • starting bitrate API
    • maxBitrateAllowed API
    • Last known Bitrate cached with TTL for starting bitrate
    • Defaults down to starting at bitrate <= 1 mbps
  • Live edge detection enhancements (current order of fallback)
    • UTC Manifest attribute detection
    • Segment Timeline Advertised Frag ID
    • Default NTP time server with API to add and remove more.
    • DateHeader lookup
    • Default back to live edge binary search.
  • Fragment Abandonment ABR rule (Abandon download and switch).
  • Scheduling API to set number of allowed parallel request.
  • WebVTT caption style support
  • Header License Consistency
  • Author File Added
  • Node compliance
  • JSDoc enhancements
  • Various bug fixes

Known Issues

  • Dash playback with Dash.js in safari on Mac OS Yosemite fails.
  • Missing parameter in calls to DashAdapter.getEventsFor.
  • Default NTP time server does not support HTTPS at this time.
  • CDN-hosted minified files are not currently accessible via https. This is being corrected and will be tracked via #371
  • Multi-track audio not yet supported – tracked by #16