Skip to content

Releases: Dash-Industry-Forum/dash.js

Dash.js v2.9.1

01 Oct 20:18
Compare
Choose a tag to compare

Bugs

#2778 Use threshold in removeExecutedRequestsAfterTime
#2777 Fix scheduleWhilePaused behavior
#2770 Restore issue fixing in PR#2318
#2767 Default text language for subtitles bug fix
#2756 Update bandwidth replacement
#2755 Update Gap detection in NextFragmentRequestRule
#2733 Math.trunc not supported by IE11
#2785 Fix issue with captions and subs atom box Bug
#2783 Add missing errors management Feature Enhancement

Features / Enhancements

#2771 Support URI schema for thumbnails as defined in IOP
#2762 Update default timing source
#2758 Log events are sent regardless of log level
#2747 Replace 'Bandwidth' token prior to issuing init fragment requests
#2739 Add support for emsg boxes version 1
#2703 Update Errors management

DRM/EME

#2761 Fix ProtectionModel_21Jan2015

Code Refactor

#2780 Change error codes
#2764 New Refactoring
#2754 Improve RulesContext definition
#2753 Update base URL classes
#2743 Refactoring branch

Unit Tests

#2760 StreamController unit tests
#2742 Update unit tests

Documentation

#2773 Update TypeScript definition
#2750 Update ProtectionController typings
#2738 Polish dash.js samples
#2726 Fixed error in index.d.ts

Reference Player

#2736 Change URLs from vm2.dashif.org to livesim.dashif.org

Build Process

#2751 Small package update

Dash.js v2.9.0

01 Aug 23:10
Compare
Choose a tag to compare

Bugs

#2720 [MSS] update mss objects management
#2717 Internal seek update
#2716 End detection bug fix
#2710 Fixes a crash when a network error happened, but status code was 200
#2709 Subtitles live bug
#2705 Update CompareCodecs function
#2699 [MSS] Live subtitles bug fix
#2694 Fixed a bug causing a loop requesting a chunk when a gap was created after appending
#2691 Subtitles bugfix
#2685 Seeking will remove preload timer

Features / Enhancements

#2718 Add support for MSS start-over streams
#2713 Fix #2700 - Load the Message Data for EventStream Events
#2692 Add CAPTION_CONTAINER_RESIZE event
#2683 Add CAPTION_RENDERED event
#2676 Fix to update liveEdge in every segment list update Feature Enhancement
#2674 Don't log messages when browser report playback stalled

DRM/EME

#2695 Update logger in keySystemW3CClearKey
#2673 Pass distinctiveIdentifier and persistentState through to CDM
#2669 Protection Controller onNeedKey will be delayed until initializeForMedia is called
#2665 Keep media keys

Code Refactor

#2706 Refactoring branch

Unit Tests

#2719 Scheduling rules unit tests

Documentation

#2688 Update TypeScript api
#2677 Fix low latency API documentation
#2675 Control bar and logging examples

Dash.js v2.8.0

03 Jul 21:51
Compare
Choose a tag to compare

Bugs

#2657 Fixes PLAYBACK_ENDED stopping streams after first period
#2656 Fix Another ES5 Incompatibility in ControlBar.js
#2649 Send proper field to Cea608Parser
#2648 Fixed crash when calling attachView on an already initialized player
#2646 Removed the buffer append queue control from BufferController
#2645 Fix LOADING_PROGRESS event not being fired
#2638 Fix issue in MediaPlayerFactory related with the new logging system
#2633 Fix subtitles in multiple period
#2628 Fix playback of audio only streams on IE/Edge with PlayReady
#2622 PlaybackController will end the stream if it's unfinished
#2619 Make more robust the period parsing. Add unit tests
#2612 Fix BUFFER_EMPTY never fired
#2611 Fixed a bug in playbackController causing multiple wallclockTime intervals
#2608 Case insensitive comparison for nodeName
#2604 Added checks in nextFragmentRule to see if the buffer was split (safari bug)
#2598 Don't listen to events coming from aborted XmlHTTPRequests
#2595 Wait until buffer is ready when changing timestamp offset
#2662 Fixed stream reload when seeking
#2663 Update subtitles support
#2672 Add internal seek
#2668 Correct audio segments scheduling in live mode
#2666 Fix stalling after seeking
#2680 Removed isInBuffer check
#2678 Fix regression due to internal seek
#2672 Add internal seek Regression

Features / Enhancements

#2652 Low latency improvements
#2651 Add float management to uri parameters
#2614 Add accessibility to TextTrackInfo
#2613 Add log level feature
#2610 Update not fragmented subtitles management
#2605 Low latency catch up
#2580 Smooth period transition

Code Refactor

#2643 Remove unused classes

Documentation

#2636 Reorganization of Dash.js Samples
#2635 Update sources.json
#2592 Fixed thumbnail and captioning samples

Automation

#2624 Removed IE from functional tests, it crashes often
#2623 Functional tests improvements to make them work in IE/Edge
#2618 Fix functional tests

Dash.js v2.7.0

30 May 14:19
Compare
Choose a tag to compare

Bugs

#2590 Low latency stuck on start fix
#2581 Safari/Mac live stream fail fix
#2586 Fix couple of race conditions when resetting while loading
#2584 Bug with clear next range
#2582 Update TextTrack creation
#2571 Don't double-add caption parsers on period switch
#2570 Update manifest parsing error
#2552 Enable the use of fast switching for track changes
#2545 Redundant segment download when changing quality

Features / Enhancements

#2573 Introduce new API enableForcedTextStreaming
#2515 Max value limited by portal size
#2494 Add correct support of audio element
#2453 Optimization of manifest processing (ObjectIron)

Code Refactor

#2492 Fix instantiation of extensions
#2462 Clean URIQueryAndFragmentModel

EME/DRM

#2554 PlayReady DRM fixes for SmartTVs
#2566 Fix merge problems in persistent licenses functionality caused after merging #2427

Reference Player

#2576 Fix ES5 Incompatibility in Controlbar
#2572 Use just caption language for cea608 mediainfo language

Documentation

#2583 Update typeScript definition
#2563 Fix definitions file

Dash.js v2.6.8

30 Apr 10:09
Compare
Choose a tag to compare

Bugs

#2538 [MSS] Do not process segment when onSegmentMediaLoaded gets an error
#2536 Fix cues for IE and Edge
#2532 Update syncExecutedRequestsWithBufferedRange function
#2530 Update removeExecutedRequestsBeforeTime function
#2527 Fixed an edge issue causing text track to stop working when seeking back
#2523 Use embeddedTimescale for CEA608 instead of timescale in MPD
#2512 Fix Incorrect definition of time in index.d.ts
#2503 Fix TimeSyncController/ManifestUpdater race condition
#2499 Fix getSampleSize
#2491 Add polyFillFindIndex function in order to bug fix in IE11
#2485 Remove xhr.status check before triggering LOADING_ABANDONED event in FragmentLoader
#2473 Fix creation of buffers
#2469 Shift caption start time by MSETimeOffset * videoTimescale
#2549 Fix #2525 - map one ISD to one Cue, not one Cue per content element
#2548 Fix #2547 - do not reject empty TTML docs as invalid
#2557 [MSS] createDataChunk now supports endFragment parameter
#2558 Fix clearNextRange so it checks buffer properly

Features / Enhancements

#2540 [MSS] Update timescale support
#2539 Reset BlacklistController after url resolution failed
#2505 add TTML_TO_PARSE event
#2479 [MSS] Improve MSS errors
#2472 Add PLAYBACK_WAITING event
#2465 Improve track switch process
#2427 Implement low latency mode for live streams

Code Refactor

#2509 [MSS] Map subTypes to MPEG-DASH AdaptationSet role and accessibility
#2488 Fix #2487 - Remove dependency on round10
#2475 Optimization of track addition
#2466 Simplification of factory management
#2447 GetRepresentationsForAdaptation optimization
#2433 onManifestUpdated and getStreamsInfo optimizations

EME/DRM

#2504 Add empty challenge DRM error
#2474 Management of DRM license with an expiration value
#2451 Load persistent sessions

Reference Player

#2526 Added Axinom Live-Clear reference stream
#2520 Added resolution to bitrate list in the controlbar
#2555 Add note to live latency description

Documentation

#2543 [Definitions] Mark values in protection data as optional
#2516 Update typescript definition
#2481 Improve issue template for less ugly checkboxes
#2553 Adding sample to show SCTE EMSG event capture from a live stream

Dash.js v2.6.7

14 Mar 14:46
Compare
Choose a tag to compare

Bugs

#2459 Check streamprocessors while initializing protection
#2457 Play initialization
#2446 Errors thrown on manifest reload
#2426 hasInitialization must return true if there is an initialization range
#2423 Don't clear buffer when we are close to the end of stream
#2420 Allow buffer removal when MediaSource is ended
#2377 Bug fix. Allow for more image subtitles in one segment
#2464 Fix SeekBar style (ControlBar)
#2468 Fixes in StreamController and jumpGaps feature
#2467 VTT subtitles bug fix Regression

Features / Enhancements

#2448 Use fast-deep-equal
#2444 New TTML_PARSED event
#2443 update MediaPlayerEvents in typeScript declaration
#2440 Add an event when a track change has rendered
#2438 [MSS] Update fragment info management
#2437 Improve audio switch
#2430 update typeScript interface
#2418 Jump gaps feature
#2414 Update type definitions
#2351 Improve seek velocity
#2274 Allow preload of Dash media without a video element Feature Enhancement

EME/DRM

#2456 Protection Data to accept changes before Protection initialization
#2452 Revert ProtectionController
#2450 Add support for MultiKey DRM
#2436 Overwrite initData when user provided parameters for generating it
#2435 Add DRM error for insecure origin
#2398 Use protection module without video element
#2397 [MSS] Widevine pssh generation

Reference Player

#2422 Fix css issues in controlbar and reference player
#2419 Add buffer level bar to control bar
#2416 update track switch mode for audio and video

Documentation

#2412 Move diagrams to docs folder

Dash.js v2.6.6

14 Feb 14:52
Compare
Choose a tag to compare

Bug Fixes
#2413 Protect Seek function
#2411 Fast Audio track switching
#2405 Fix error in player bar in Firefox
#2384 bug fix about upper case of mediaSource
#2375 Fix issue with live stream thumbnails
#2370 Set default value to responseType of XMLHttpRequest.
#2369 Multiperiod pause and end detection bug fix
#2366 Multiperiod with uri start time bug fix
#2350 Remove methods deprecated three versions behind stable one
#2356 Check for correct DOM error on XML parse failure
#2342 Seek backward issue

Enhancements
#2417 Changes in mechanism for synchronizing buffer/requests
#2403 Add 'r' parameter to specify relative start time in a live stream
#2399 Scale thumbnails to be a percentage of player height
#2393 Improve subtitles display in pause mode
#2382 Add smooth scrolling for subtitles
#2349 Make cache thresholds customizable
#2304 Implement duration change for MPD Validity Expiration events

Reference Player
#2400 Change progress bar of controlbar component
#2395 Show dialog when there is an error on the player
#2380 Adding new IMSC1 sample to reference player
#2360 Clean up and fixes on Dash Reference Player

Samples
#2410 Update ad insertion samples
#2362 Add a sample for MSS

Automation Continuous deployment & functional testing
#2381 Upload all samples in deployment process
#2367 Speed up build time in Travis

Dash.js v2.6.5

11 Jan 16:37
Compare
Choose a tag to compare

Bug Fixes

#2365 Multiperiod without audio bug fix
#2346 Multi period bug fix
#2341 Don't do initial seek if there is another seek running
#2340 Fix #2333 - ensure UTCTiming is resolved relative to MPD base uri or BaseURLs
#2337 Remove BaseURLLoader tests from wrong location
#2336 Fix condition in hasInitialization
#2335 MSS parser bug fix
#2329 Fix issue with codec definition and EME Regression
#2320 Multi period live bug
#2220 Bug fix on ended event not triggered

Enhancements

#2328 Update the use of isTypeSupported function Feature Enhancement
#2305 Thumbnails support

Automation Continuous deployment & functional testing

#2331 Add commit info in automatic deployment
#2322 Improve typings

Known Issues

  • There is an issue related with buffer management that causes playback to stall when there are multiple and consecutive seek back operations. The PR #2342 will fix this issue but given the impact that have any change related with buffer management we are intensively testing it before merging.

Dash.js v2.6.4

06 Dec 20:37
Compare
Choose a tag to compare

Bug Fixes

#2301 Webpack integration and JS declarations fixes
#2303 Update scaleCue function for TTML subtitles use case
#2307 Fix #2298 - be more permissive in webm parsing
#2287 Subtitles track with same language bug
#2281 Infinite loop multi period bug
#2273 Multi period bug fix
#2269 Set exorcise base folder in order to have relative paths in sourcemap.
#2318 Fix an issue when using ClearKey with license server
#2321 Fix for issue #2256 maintaining backwards capability

Enhancements

#2309 Set a specific version for codem-isoboxer (update to 0.3.5). Increased performance of mp4 unboxing
#2268 Basic ClearKey support
#2295 Clean clearkey support implementation
#2292 Recover availabilityUpperLimit parameter
#2291 [Text tracks] take into account the video element parent container
#2289 Remove KeySystemAdobeAccess class
#2277 Refactoring (config management)
#2275 Fire a waiting event if a playing event comes out while the stream is stalled
#2257 Text default settings
#2252 Seek and Live playing - take liveDelay into account
#2211 PLAYBACK_TIME_UPDATED is now fired on paused live streams
#2267 New event SOURCE_INITIALIZED

Automation Continuous deployment & functional testing

#2284 Set up continuous deployment process for development branch
#2243 Functional tests with browserStack
#2313 Travis configuration for functional tests
#2315 Don't copy functional test tools when deploying
#2314 Updates streams list

Player & Samples

#2283 Support new dynamic list of DASH IF test vectors in reference player Feature request from DASH IF IOP
#2301 Add sample integrations using both webpack and typescript

Known Issues

  • There is an issue related with buffer management that causes playback to stall when there are multiple and consecutive seek back operations. The PR #2272, still under review, is thought to fix this issue

Dash.js v2.6.3

09 Nov 22:29
Compare
Choose a tag to compare

Bug Fixes

#2271 bug fix 2270
#2263 Update multi period management
#2254 Fix MetricsReporting - pass correct config to ReportingFactory
#2251 Quality change rendered event fired
#2250 fix switch track audio with different number of representations
#2246 Fix AbandonRequestRule is not applied
#2238 Bug fix start time live stream Bug
#2237 Patch in xml2json to resolve xml syntax error in Firefox/IE/Edge
#2221 Fix #1884 - correctly apply manifest scheme to default time server request
#2219 [MSS] Fix a problem with MSS Fragment Info integration
#2215 Check startTime of cues is lower than endTime
#2212 Check if fragmentDuration is defined in InsufficientBufferRule
#2210 Fix minimum bitrate setting (setMinAllowedBitrateFor)
#2205 Bring back change from #2016 (Don't set initialized flag to false in MediaPlayer.reset())
#2201 remove unused parameter

Enhancements

#2261 Refix #2244 - pass compact false option to babelify
#2240 Add reloading browser for development Automation
#2228 [Mss Parser] Manage the absence of FourCC information for video or audio
#2227 Use latest version of dash.js package in webpack example
#2224 Playready custom data for IE 11 EME/DRM
#2218 Improve robustness of MediaPlayer

Unit & Functional Tests

#2264 update SourceBufferController unit tests
#2262 Update abr controller unit test
#2242 update functional tests

Player & Samples

#2253 sources.json: Add Microsoft Playready test vectors
#2208 Control bar: allow multiple instances

Documentation

#2258 Readme changes
#2234 Add CONTRIBUTING.md file

Known Issues

  • There is an issue related with buffer management that causes playback to stall when there are multiple and consecutive seek back operations.
  • Issue in multiperiod streams with more than two periods. Playback is stalled, playing in a loop, after the end of second period. This has been fixed in PR #2281 that will be included in the next release.