#4064 Adds an example which shows how the dash.js player can be connected to a TimingObject for synchronized playback between multiple clients @chrisguttandin
Improvements
#4054 Improvements when setting min and max playback rate @mattjuggins :
Separate playbackRate into a min and max value. This means the application of rates can be the same between ServiceDescription and dash.js settings.
Applies playback rates of value 1.0 if explicitly set.
Modify catch-up algorithms to take into account these separate playback rate values.
Update sample to take into account min and max playback rate values.
#4018 Separate settings matcher to work on each property provided for initial track selection individually @stschr
#4056 Change the logic for pruning the buffer ahead. Calculate the continuous buffer starting at the target time and prune according to the threshold values defined in the settings @dsilhavy
#4057 For VoD Limit the seek range to the duration of the content @dsilhavy
#4082 Add settings attribute to define manifest request timeout value @dsilhavy
Bugfixes
#4086 Fix a bug that lead to wrong selection of initial WebVTT track @dsilhavy
#4058 Fix Typescript typings for MediaPlayer.on() method @bbert
Link Add min width to video time of Controlbar to overcome issues when seeking between a time less than one hour and a time larger than one hour @dsilhavy
#4068 Fix rounding issues when searching for valid segment in order to jump a gap @bbert
#4069 Some platforms provide changeType() as a function but actually using it causes problems when switching between tracks with different codecs. This PR adds a settings flag to disable the usage of changeType even when it is available on the platform. @dsilhavy
#4079 Only run Github actions if we are on the official repository @dsilhavy
#4080 Add supplementalProperties attribute to index.d.ts and MediaInfo.js @dsilhavy
#4081 Catch errors when applying styles on WebVTT cue @dsilhavy
#4085 Fix an issue that causes an exception when calling extendedFilter with an empty string @dsilhavy
dash.js v4.5.0
Features
#4031 Adds support for content steering as defined in the IOP specification - @dsilhavy#4003 New playback catchup seeking/pausing logic: Adjust the liveDelay when the user seeks/pauses. Then catchup mode is applied with the new live delay as target value.By calling player.seekToLive() the app can jump back to this original live delay. - @dsilhavy#4024 Allow requests to be modified in an async manner. - @littlespex#4036#4015 Implements a "matcher" for the XML parser; it checks @lang attributes read from MPDs and normalizes them into a BCP-47 compliant format. In addition, normalize language tags provided through dash.js' setInitialMediaSettingsFor()-API as Strings, while using RegExp through this API is maintained. - @stschr
Improvements
#4020 Lower minPlaybackRateChange for non Safari browsers depending on the maximum catchup rate. Otherwise the target live delay is not reached for low catchup rates. - @dsilhavy#3996 Pass url to RequestModifier.modifyRequestHeader for example to add additional headers - @lkinasiewicz#4004 Fix stalling issue when using buffer.fastSwitchEnabled is enabled. - @lkinasiewicz#4001 Add ua-parser-js to enable reliable browser name and version parsing - @dsilhavy#4002 Add hashtag mechanism to sample menu selection. Allows to send direct links to specific sample sections - @dsilhavy#4039 WPE fix: Avoid pruning buffered ranges already enqueued for playback - @eocanha#4028 Add an example how to define robustness levels for DRM playback - @dsilhavyLink Add popup to low latency testplayer and fix catchup mechanism "enabled" checkbox - @dsilhavy
Bugfixes
#4023 Fixes the selection of a key system with parameters specified by the application. As an example, the robustnessLevel can be specified individually for audio and video tracks. Before this PR, only one of the provided values was used, either audio or video. - @dsilhavy#4025 Remove check in getValidTimeAheadOfTargetTime that caused stall in stream with gaps in the previous period and the upcoming period - @dsilhavy#4048 Add missing streamId to DroppedFramesHistory.js - @dsilhavy#4026 Fix B64 generation of KID to be compliant with EME spec - @dsilhavy#4019 Fix wrong call to _abortBeforeAppend - @dsilhavy
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps dashjs from 3.2.2 to 4.5.1.
Release notes
Sourced from dashjs's releases.
... (truncated)
Commits
df045d6
Add dist files for 4.5.1c4fe795
Merge remote-tracking branch 'origin/development'9d65cb5
Fix a bug that lead to wrong selection of initial WebVTT track (#4086)b63d175
Set minimum catchup rate in LL testplayer to -0.17b6197f
Fix an issue that causes an exception when calling extendedFilter with an emp...b764801
Catch errors when applying styles on WebVTT cue (#4081)4177543
Add settings attribute to define manifest request timeout value (#4082)6edc2c9
Add supplementalProperties to index.d.ts and MediaInfo.js (#4080)2b0848e
separate settings matcher to work on each property individually (#4018)3b2f478
Only run Github actions if we are on the official repository. Supposed to ski...Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)