Dash-Industry-Forum/dash.js (dashjs)
### [`v4.7.4`](https://togithub.com/Dash-Industry-Forum/dash.js/releases/tag/v4.7.4): dash.js v4.7.4
[Compare Source](https://togithub.com/Dash-Industry-Forum/dash.js/compare/v4.7.3...v4.7.4)
#### Features
[#4338](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4338) Add support for DVB Font downloads as specified in ETSI TS 103 285 V1.4.1 - Section 7.2 Downloadable Fonts by [@mattjuggins](https://togithub.com/mattjuggins)
[#4360](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4360) Add an event that enables manual rendering of subtitles by [@bitboxer](https://togithub.com/bitboxer)
[#4330](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4330) Add API endpoint to trigger a manifest refresh by [@eirikbjornr](https://togithub.com/eirikbjornr)
[#4336](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4336) Add IMSC settings for rollUp and displayForcedOnly by [@nigelmegitt](https://togithub.com/nigelmegitt)\
[#4382](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4382) Add a liveUpdateTimeThreshold to control time syncing during playback of live streams by [@matvp91](https://togithub.com/matvp91)
#### Improvements
[#4359](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4359) Fix flickering and blinking of IMSC subtitles by [@mattjuggins](https://togithub.com/mattjuggins)
[#4350](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4350) Include HTTP request range in data that is passed to the modifyRequest function by [@dsilhavy](https://togithub.com/dsilhavy)
[#4356](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4356) Remove unused depdendency foodoc and move JSDoc related dependencies to devDependencies section in the package.json by [@dsilhavy](https://togithub.com/dsilhavy)
[#4362](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4362) Refactor DVB extensions properties to consistently use camel case. by [@mattjuggins](https://togithub.com/mattjuggins)
#### Bugfixes
[#4348](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4348) [#4349](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4349) Remove duplicate events in index.d.ts by [@kris-youview](https://togithub.com/kris-youview)
[#4355](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4355) Fix invalid warning in StreamProcessor.js by [@dsilhavy](https://togithub.com/dsilhavy)
[#4335](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4335) Remove specific Chrome version from CircleCI config by [@dsilhavy](https://togithub.com/dsilhavy)
[#4363](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4363) Fix PlaybackErrorEvent Typescript typing by [@kris-youview](https://togithub.com/kris-youview)
[#4365](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4365) Add a try/catch around matchSettingsLang in case bcp47Normalize fails with an error by [@dsilhavy](https://togithub.com/dsilhavy)
[#4368](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4368) Check for undefined values in addHttpRequest method by [@dsilhavy](https://togithub.com/dsilhavy)
[#4389](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4389) Fix a bug when dispatching subtitle events that causes an error in the event bus when the video is seeked by [@dsilhavy](https://togithub.com/dsilhavy)
### [`v4.7.3`](https://togithub.com/Dash-Industry-Forum/dash.js/releases/tag/v4.7.3): dash.js v4.7.3
[Compare Source](https://togithub.com/Dash-Industry-Forum/dash.js/compare/v4.7.2...v4.7.3)
#### Features
[#4319](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4319) Add support for playback using the Managed Media Source [@dsilhavy](https://togithub.com/dsilhavy)
#### Improvements
[#4280](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4280) Change template for JSDocs to avoid styling issues like the menu blocking the parameter description [@abdulaziz-bd](https://togithub.com/abdulaziz-bd)
[#4298](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4298) Adds settings parameters to configure the AbandonRequestsRule.js [@dsilhavy](https://togithub.com/dsilhavy)
[#4267](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4267) Update all URLs to Livesim. Use Livesim2 instead of Livesim1 [@dsilhavy](https://togithub.com/dsilhavy)
[#4305](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4305) Remove outdated cues from track when adding a new cue to avoid memory leaks. [@dsilhavy](https://togithub.com/dsilhavy)
[#4310](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4310) Add new BBC R\&D Test Streams to Reference Player [@mattjuggins](https://togithub.com/mattjuggins)
[#4320](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4320) Enable pass-through of UTF-8 chars when provided via lang-attribute [@stschr](https://togithub.com/stschr)
[#4322](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4322) For low latency DASH use min/max playbackRate when the buffer is safe in mode: liveCatchupModeLoLP [@bwallberg](https://togithub.com/bwallberg)
[#4324](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4324) Update to imscJS v1.1.4 [@nigelmegitt](https://togithub.com/nigelmegitt)
#### Bugfixes
[#4296](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4296) Fix two scheduling errors related to quality switches [@dsilhavy](https://togithub.com/dsilhavy)
[#4297](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4297) Fix the handling of abandoning segment requests [@dsilhavy](https://togithub.com/dsilhavy)
[#4314](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4314) Fix issues with the controlbar when muting video playback and transitioning from dynamic to static content [@ShikiSeiren](https://togithub.com/ShikiSeiren)
[#4323](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4323) Fix a bug in the OfflineStreamProcessor.js [@dsilhavy](https://togithub.com/dsilhavy)
### [`v4.7.2`](https://togithub.com/Dash-Industry-Forum/dash.js/releases/tag/v4.7.2): dash.js v4.7.2
[Compare Source](https://togithub.com/Dash-Industry-Forum/dash.js/compare/v4.7.1...v4.7.2)
#### Features
[#4281](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4281) Adds a functional testsuite based on the Karma framework [@dsilhavy](https://togithub.com/dsilhavy)
[#4270](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4270) Reset MSE when switching codec if changeType() is unstable or unavailable. [@matvp91](https://togithub.com/matvp91)
#### Improvements
[#4225](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4225) Define target web and es5 for webpack to make build files ES5 compliant [@dsilhavy](https://togithub.com/dsilhavy)
[#4221](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4221) Fix init value for storeLastSettings [@minhui-foxtel](https://togithub.com/minhui-foxtel)
[#4278](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4278) Add support for replacing a text node via MPD patching. [@dsilhavy](https://togithub.com/dsilhavy)
[#4242](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4242) Prevent redundant CC parser restarts during Low Latency streams [@m-buczek](https://togithub.com/m-buczek)
[#4274](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4274) Add setting to change mediasource duration from infinity to math.pow(2, 32) [@bwallberg](https://togithub.com/bwallberg)
[#4249](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4249) Compare indices of mediaInfo objects when checking if a track change was rendered. This accounts for content that has no ID attribute for the AdaptationSets [@dsilhavy](https://togithub.com/dsilhavy)
[#4272](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4272) Remove babel-preset-env [@ShiningTrapez](https://togithub.com/ShiningTrapez)
#### Bugfixes
[#4224](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4224) Fix a bug for VTT.js based rendering that causes cues not to be removed after switching to a new source. [@dsilhavy](https://togithub.com/dsilhavy)
[#4279](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4279) Do not execute multiple setCurrentTime via waitForReadyState to avoid race condition [@dsilhavy](https://togithub.com/dsilhavy)
[#4239](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4239) Remove unusable key sessions when ProtectionController is stopped without waiting for session.close promise to be resolved [@dsilhavy](https://togithub.com/dsilhavy)
[#4246](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4246) Fixes for edge case errors that have been captured by Sentry IO around referencing null objects after reset has been called. [@littlespex](https://togithub.com/littlespex)
[#4211](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4211) Fix types of TestRequest URL property [@ondreian](https://togithub.com/ondreian)
[#4268](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4268) Added getTargetLiveDelay method to type definitions [@matvp91](https://togithub.com/matvp91)
[#4252](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4252) Fix wrong attribute in L2A rule [@dsilhavy](https://togithub.com/dsilhavy)
[#4253](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4253) Fix error in ProtectionModel\_21Jan2015.js when closing key session [@dsilhavy](https://togithub.com/dsilhavy)
[#4223](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4223) Fix wrong Typescript definition of updateSource [@dsilhavy](https://togithub.com/dsilhavy)
[#4265](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4265) Check for "text/vtt" in catch block of SourceBufferSink.js [@dsilhavy](https://togithub.com/dsilhavy)
[#4273](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4273) Use fixed version of Chrome driver as latest one is unavailable [@dsilhavy](https://togithub.com/dsilhavy)
[#Link](https://togithub.com/Dash-Industry-Forum/dash.js/commit/123747ff46813a3d3693f5fe340b641a8b7dce91) Upgrade browser-tools CircleCI orb to 1.4.2 to solve Chromedriver issue [@dsilhavy](https://togithub.com/dsilhavy)
#### Others
[Link](https://togithub.com/Dash-Industry-Forum/dash.js/commit/77ae5f0893544be9bc998beefc6e125ad45ccb69) Change content steering sample stream URL [@dsilhavy](https://togithub.com/dsilhavy)
[Link](https://togithub.com/Dash-Industry-Forum/dash.js/commit/9dbd5699dbdbf535b368153bd40e986f6b5a2a05) Use license that doesnt expire in the Widevine sample [@dsilhavy](https://togithub.com/dsilhavy)
[Link](https://togithub.com/Dash-Industry-Forum/dash.js/commit/798b07b7b7990acee707046187f910f45772e74d) Change MSS sample streams [@dsilhavy](https://togithub.com/dsilhavy)
### [`v4.7.1`](https://togithub.com/Dash-Industry-Forum/dash.js/releases/tag/v4.7.1): dash.js v4.7.1
[Compare Source](https://togithub.com/Dash-Industry-Forum/dash.js/compare/v4.7.0...v4.7.1)
#### Improvements
[#4201](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4201) [#4203](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4203) Improve throughput on abort: Enables throughput rule to consider measured throughput (or value returned by CMSD response header) on the aborted requests [@bbert](https://togithub.com/bbert)
[#4195](https://togithub.com/Dash-Industry-Forum/dash.js/issues/4195) L2A Improvements based on BBC MMSys Paper [@piersoh](https://togithub.com/piersoh)
[#4193](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4193) Add autoLoad flag to start playback in reference client once page is loaded [@dsilhavy](https://togithub.com/dsilhavy)
[#4196](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4196) Add option to mute playback in reference UI via query parameters [@dsilhavy](https://togithub.com/dsilhavy)
#### Bugfixes
[#4189](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4189) Fix reporting of CMCD for SegmentBase range requests [@dsilhavy](https://togithub.com/dsilhavy)
[#4213](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4213) Content Steering: Add protocol string to host url if not present [@dsilhavy](https://togithub.com/dsilhavy)
[#4192](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4192) Do not close key session if key is usable in getLicense.html demo [@dsilhavy](https://togithub.com/dsilhavy)
[#4191](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4191) Typescript: Fixed FragmentRequest 'type' typing [@ShikiSeiren](https://togithub.com/ShikiSeiren)
[#4185](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4185) Fix handling of MPDs containing SegmentList with SegmentTimeline [@tea](https://togithub.com/tea)
[#4208](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4208) Fix a regression for subtitle playback. We need the segment duration of the subtitle tracks to get a valid buffer target [@dsilhavy](https://togithub.com/dsilhavy)
[#4214](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4214) Fix JSDoc in Settings.js [@dsilhavy](https://togithub.com/dsilhavy)
[Link](https://togithub.com/Dash-Industry-Forum/dash.js/commit/40788949245d0962d79a9af27d8ca4b493d1022b) Add postbuild command to copy index.d.ts to dash.d.ts [@dsilhavy](https://togithub.com/dsilhavy)
[Link](https://togithub.com/Dash-Industry-Forum/dash.js/commit/6994e3424f621cf133ee677ef28382f43ff10897) Add Axinom teststreams with new license server URL [@dsilhavy](https://togithub.com/dsilhavy)
[Link](https://togithub.com/Dash-Industry-Forum/dash.js/commit/8c3675a1cc17fb899c104db2c146e8eaa02c4aae) Fix wrong unregister event listener for PLAYBACK_SEEKED in CatchupController [@dsilhavy](https://togithub.com/dsilhavy)
### [`v4.7.0`](https://togithub.com/Dash-Industry-Forum/dash.js/releases/tag/v4.7.0): dash.js v4.7.0
[Compare Source](https://togithub.com/Dash-Industry-Forum/dash.js/compare/v4.6.0...v4.7.0)
#### Features
[#4173](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4173) Add support for DASH content steering version 0.9.7 including support for pathway cloning and steering elements [@dsilhavy](https://togithub.com/dsilhavy)
[#4127](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4127) Add support for inband prft boxes parsing [@bbert](https://togithub.com/bbert)
[#4169](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4169) Allow preloading content with a specific start time [@dsilhavy](https://togithub.com/dsilhavy)
#### Improvements
[#4155](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4155) Fix blinking cues when segmented over multiple segments or chunks (cont'd) [@bbert](https://togithub.com/bbert)
[#4158](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4158) Add DescriptorType model class to MediaInfo for elements of type viewpoint, role, accessibility, audioChannelConfiguration [@stschr](https://togithub.com/stschr)
[#4174](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4174) Allow the playback whenever the t attribute is missing in the SegmentTimeline elements [@dario-fiore](https://togithub.com/dario-fiore)
[#4126](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4126) Add timeout for fragment request progress [@bbert](https://togithub.com/bbert)
[#4128](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4128) Update BBC sample streams in reference client and sample pages [@dsilhavy](https://togithub.com/dsilhavy)
[#4138](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4138) Upgrade IMSC.js version to 1.1.3 [@vodlogic](https://togithub.com/vodlogic)
[Link](https://togithub.com/Dash-Industry-Forum/dash.js/commit/553ecc0dd226c0258beb7b79cdba2baee57fbb36) Remove Github issues stale bot [@dsilhavy](https://togithub.com/dsilhavy)
[Link](https://togithub.com/Dash-Industry-Forum/dash.js/commit/560b035c5ecdce1de865fcb18d1ff5ca332200cb) Use dash.all.min.js as main entry point for npm installations [@dsilhavy](https://togithub.com/dsilhavy)
[Link](https://togithub.com/Dash-Industry-Forum/dash.js/commit/1bda677dc3440b71af0a80d9023bba86cebae776) Add teststream for SegmentTimeline with $number [@dsilhavy](https://togithub.com/dsilhavy)
[Link](https://togithub.com/Dash-Industry-Forum/dash.js/commit/1ea3188f34fed39c54bc89fba5414fb9c958bdb5) Link new sample stream in content steering sample [@dsilhavy](https://togithub.com/dsilhavy)
#### Bugfixes
[#3913](https://togithub.com/Dash-Industry-Forum/dash.js/pull/3913) Fix Typescript settings and add missing objects [@ShikiSeiren](https://togithub.com/ShikiSeiren)
[#4136](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4136) Update getMatroskaUint to handle larger integer values [@kv-bh](https://togithub.com/kv-bh)
[#4156](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4156) Fix styling of embedded WebVTT cues by adding support for sttg box [@dsilhavy](https://togithub.com/dsilhavy)
[#4149](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4149) Fix: changeType() is Not Fully Implemented on Sony PS5 [@agajassi](https://togithub.com/agajassi)
[#4172](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4172) Process EssentialProperty_asArray in addition to EssentialProperty [@stschr](https://togithub.com/stschr)
[#4163](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4163) Fix bug which causes multiperiod stream to stall after internal seek in previous period. Preloading was not triggered again. [@dsilhavy](https://togithub.com/dsilhavy)
[#4167](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4167) Fix: VTT line styling failing, invalid snapToLines value [@bwallberg](https://togithub.com/bwallberg)
[#4130 ](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4130)Fixes in calculateThroughputByChunkData() [@piersoh](https://togithub.com/piersoh)
[#4140](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4140) Fix DRM checking for single representation in adaptation [@minhui-foxtel](https://togithub.com/minhui-foxtel)
[#4144](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4144) Fix/rerequest quality switch [@dsilhavy](https://togithub.com/dsilhavy)
[#4147](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4147) Initialize box processors when MSS content is actually being played [@dsilhavy](https://togithub.com/dsilhavy)\
[#4165](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4165) fix: wrong MediaInfo.labels type definition [@bwallberg](https://togithub.com/bwallberg)
[Link](https://togithub.com/Dash-Industry-Forum/dash.js/commit/93462adaba2c655b9dbe8b270300582687495e83) Add missing event to ProtectionEvents.js [@dsilhavy](https://togithub.com/dsilhavy)
[#4177](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4177) Fix linting errors for "no-multi-space" rule [@dsilhavy](https://togithub.com/dsilhavy)
[#4178](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4178) Fix nullpointer if video element is set to null [@dsilhavy](https://togithub.com/dsilhavy)
[#4176](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4176) Fix error in playFromTime.js test that causes CircleCI report upload to crash [@dsilhavy](https://togithub.com/dsilhavy)
### [`v4.6.0`](https://togithub.com/Dash-Industry-Forum/dash.js/releases/tag/v4.6.0): dash.js v4.6.0
[Compare Source](https://togithub.com/Dash-Industry-Forum/dash.js/compare/v4.5.2...v4.6.0)
#### Features
- [#4108](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4108) Adds the preload functionality to the current version of dash.js. The idea is to preload the media segments into the memory before attaching a video element and initializing the MSE. That way content can be preloaded on platforms that only have a single decoder and are currently displaying different content. As an example, this enables Broadcast-Broadband ad-insertion on HbbTV devices. [@dsilhavy](https://togithub.com/dsilhavy)
- [#4095](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4095) Add feature support for Common Media Server Data [@bbert](https://togithub.com/bbert) . Includes:
- CMSD response headers parsing
- Add settings to
- Enable/disable CMSD parsing
- Enable/disable use of "mb" maximum suggested bitrate (mb) as an upper-bound for the ABR algorithm
- set the weight ratio to be applied on etp regarding measured bandwidth to determine throughput to be used by ABR throughput rule
- Update reference sample to add CMSD settings configuration and to display bandwidth (measured, etp) metrics
- [#4122](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4122) Adds the possibility to define a function that is called before segments are appended to the SourceBuffer. That way the application can modify the data if required. [@dsilhavy](https://togithub.com/dsilhavy)
#### Improvements
- [#4102](https://togithub.com/Dash-Industry-Forum/dash.js/issues/4102) Use Karma as a testrunner for the unit tests. Allows us to run the tests in "real" browser-based environments and not in node.js context [@dsilhavy](https://togithub.com/dsilhavy)
- [#4103](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4103) [#4412](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4112) Fix blinking cues when segmented over multiple segments or chunks [@bbert](https://togithub.com/bbert)
- [Link](https://togithub.com/Dash-Industry-Forum/dash.js/commit/461ece44b4672477d0278663587144eb8013f443) Add unit test for Utils.parseHttpHeaders [@dsilhavy](https://togithub.com/dsilhavy)
- [Link](https://togithub.com/Dash-Industry-Forum/dash.js/commit/571e8455d84b165f568d40aef603ec34b7f04ebb) Remove deployment script from Circle CI/CD [@dsilhavy](https://togithub.com/dsilhavy)
- [Link](https://togithub.com/Dash-Industry-Forum/dash.js/commit/7bac81cda26ca63da51dab1eba7692775362f29c) Remove http rewrite on the default timing source [@dsilhavy](https://togithub.com/dsilhavy)
- [Link](https://togithub.com/Dash-Industry-Forum/dash.js/commit/2bc6829798b73270a87269485ff0bbf198ca5603) Improve error message for missing ttml rendering div [@dsilhavy](https://togithub.com/dsilhavy)
- [Link](https://togithub.com/Dash-Industry-Forum/dash.js/commit/12b423621ee25cd480d1fbe1cd23ed28d187b521) Update browser tools for Circle CI to version 1.4.1 [@dsilhavy](https://togithub.com/dsilhavy)
#### Bugfixes
- [#4101](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4101) Fix handling of embedded texttracks for dynamic streams with MPD updates [@dsilhavy](https://togithub.com/dsilhavy)
- [#4107](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4107) Fixes an issue when the timescale value in the manifest differs from the timescale in init segments [@bbert](https://togithub.com/bbert)
- [#4110](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4110) Corrected fallback responseHeaders value to be null [@piersoh](https://togithub.com/piersoh)
- [#4418](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4118) Move ContentSteeringController configuration initialization to initialize function to fix error in offline playback [@dsilhavy](https://togithub.com/dsilhavy)
- [Link](https://togithub.com/Dash-Industry-Forum/dash.js/commit/40776e76c0ef3532df04083588209be4500c130e) Fix a regression when providing a posix string as start value to `attachSource` [@dsilhavy](https://togithub.com/dsilhavy)
### [`v4.5.2`](https://togithub.com/Dash-Industry-Forum/dash.js/releases/tag/v4.5.2): dash.js v4.5.2
[Compare Source](https://togithub.com/Dash-Industry-Forum/dash.js/compare/v4.5.1...v4.5.2)
#### Features
[#4089](https://togithub.com/Dash-Industry-Forum/dash.js/issues/4089) Add parsing and rendering of WebVTT subtitles in dash.js using vtt.js, not relying on native texttracks events anymore. This is required for platforms like HbbTV that do not provide native WebVTT support. An example can be found here: https://reference.dashif.org/dash.js/nightly/samples/captioning/vttjs.html [@dsilhavy](https://togithub.com/dsilhavy)
#### Improvements
[#4088](https://togithub.com/Dash-Industry-Forum/dash.js/issues/4088) Fix redundant segment download when seeking back into already buffered area [@dsilhavy](https://togithub.com/dsilhavy)
[#4093](https://togithub.com/Dash-Industry-Forum/dash.js/issues/4093) In case of gaps: Check for a valid segment request using the period duration [@dsilhavy](https://togithub.com/dsilhavy)
#### Bugfixes
[#4087](https://togithub.com/Dash-Industry-Forum/dash.js/issues/4087) Do not trigger live delay calculation multiple times at playback start [@dsilhavy](https://togithub.com/dsilhavy)
[#4091](https://togithub.com/Dash-Industry-Forum/dash.js/issues/4091) If seek is called with a negative value rewrite to 0 [@dsilhavy](https://togithub.com/dsilhavy)
[#4092](https://togithub.com/Dash-Industry-Forum/dash.js/issues/4092) Account for invalid starttimes provided to attachSource() [@dsilhavy](https://togithub.com/dsilhavy)
[#4096](https://togithub.com/Dash-Industry-Forum/dash.js/issues/4096) Fix linting errors [@dsilhavy](https://togithub.com/dsilhavy)
### [`v4.5.1`](https://togithub.com/Dash-Industry-Forum/dash.js/releases/tag/v4.5.1): dash.js v4.5.1
[Compare Source](https://togithub.com/Dash-Industry-Forum/dash.js/compare/v4.5.0...v4.5.1)
#### Features
- [#4064](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4064) Adds an example which shows how the dash.js player can be connected to a TimingObject for synchronized playback between multiple clients [@chrisguttandin](https://togithub.com/chrisguttandin)
#### Improvements
- [#4054](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4054) Improvements when setting min and max playback rate [@mattjuggins](https://togithub.com/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](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4018) Separate settings matcher to work on each property provided for initial track selection individually [@stschr](https://togithub.com/stschr)
- [#4056](https://togithub.com/Dash-Industry-Forum/dash.js/pull/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](https://togithub.com/dsilhavy)
- [#4057](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4057) For VoD Limit the seek range to the duration of the content [@dsilhavy](https://togithub.com/dsilhavy)
- [#4082](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4082) Add settings attribute to define manifest request timeout value [@dsilhavy](https://togithub.com/dsilhavy)
#### Bugfixes
- [#4086](https://togithub.com/Dash-Industry-Forum/dash.js/issues/4086) Fix a bug that lead to wrong selection of initial WebVTT track [@dsilhavy](https://togithub.com/dsilhavy)
- [#4058](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4058) Fix Typescript typings for MediaPlayer.on() method [@bbert](https://togithub.com/bbert)
- [Link](https://togithub.com/Dash-Industry-Forum/dash.js/commit/2a398d841796c36c451ca96a75d61d002e7a6151) 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](https://togithub.com/dsilhavy)
- [#4068](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4068) Fix rounding issues when searching for valid segment in order to jump a gap [@bbert](https://togithub.com/bbert)
- [#4069](https://togithub.com/Dash-Industry-Forum/dash.js/pull/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](https://togithub.com/dsilhavy)
- [#4079 ](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4079)Only run Github actions if we are on the official repository [@dsilhavy](https://togithub.com/dsilhavy)
- [#4080](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4080) Add supplementalProperties attribute to index.d.ts and MediaInfo.js [@dsilhavy](https://togithub.com/dsilhavy)
- \#[4081](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4081) Catch errors when applying styles on WebVTT cue [@dsilhavy](https://togithub.com/dsilhavy)
- [#4085](https://togithub.com/Dash-Industry-Forum/dash.js/issues/4085) Fix an issue that causes an exception when calling extendedFilter with an empty string [@dsilhavy](https://togithub.com/dsilhavy)
### [`v4.5.0`](https://togithub.com/Dash-Industry-Forum/dash.js/releases/tag/v4.5.0): dash.js v4.5.0
[Compare Source](https://togithub.com/Dash-Industry-Forum/dash.js/compare/v4.4.1...v4.5.0)
#### Features
[#4031](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4031) Adds support for content steering as defined in the [IOP specification](https://dashif.org/docs/DASH-IF-CTS-00XX-Content-Steering-Community-Review.pdf) - [@dsilhavy](https://togithub.com/dsilhavy)
[#4003](https://togithub.com/Dash-Industry-Forum/dash.js/pull/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](https://togithub.com/dsilhavy)
[#4024](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4024) Allow requests to be modified in an async manner. - [@littlespex](https://togithub.com/littlespex)
[#4036](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4036) [#4015](https://togithub.com/Dash-Industry-Forum/dash.js/pull/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](https://togithub.com/stschr)
#### Improvements
[#4020](https://togithub.com/Dash-Industry-Forum/dash.js/pull/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](https://togithub.com/dsilhavy)
[#3996](https://togithub.com/Dash-Industry-Forum/dash.js/pull/3996) Pass url to RequestModifier.modifyRequestHeader for example to add additional headers - [@lkinasiewicz](https://togithub.com/lkinasiewicz)
[#4004](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4004) Fix stalling issue when using buffer.fastSwitchEnabled is enabled. - [@lkinasiewicz](https://togithub.com/lkinasiewicz)
[#4001](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4001) Add ua-parser-js to enable reliable browser name and version parsing - [@dsilhavy](https://togithub.com/dsilhavy)
[#4002 ](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4002)Add hashtag mechanism to sample menu selection. Allows to send direct links to specific sample sections - [@dsilhavy](https://togithub.com/dsilhavy)
[#4039](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4039) WPE fix: Avoid pruning buffered ranges already enqueued for playback - [@eocanha](https://togithub.com/eocanha)
[#4028](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4028) Add an example how to define robustness levels for DRM playback - [@dsilhavy](https://togithub.com/dsilhavy)
[Link](https://togithub.com/Dash-Industry-Forum/dash.js/commit/09c5016b69cd8eaf2d69a9b2a5839646ce8a4aa1) Add popup to low latency testplayer and fix catchup mechanism "enabled" checkbox - [@dsilhavy](https://togithub.com/dsilhavy)
#### Bugfixes
[#4023](https://togithub.com/Dash-Industry-Forum/dash.js/pull/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](https://togithub.com/dsilhavy)
[#4025](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4025) Remove check in getValidTimeAheadOfTargetTime that caused stall in stream with gaps in the previous period and the upcoming period - [@dsilhavy](https://togithub.com/dsilhavy)
[#4048](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4048) Add missing streamId to DroppedFramesHistory.js - [@dsilhavy](https://togithub.com/dsilhavy)
[#4026](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4026) Fix B64 generation of KID to be compliant with EME spec - [@dsilhavy](https://togithub.com/dsilhavy)
[#4019 ](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4019)Fix wrong call to \_abortBeforeAppend - [@dsilhavy](https://togithub.com/dsilhavy)
[Link](https://togithub.com/Dash-Industry-Forum/dash.js/commit/544d5e77ac3f42c24c905fd38b5911b57dfc1b34) Fix wrong link to controlbar in Low Latency testplayer - [@dsilhavy](https://togithub.com/dsilhavy)
[#4051](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4051) Only consider buffer replacements in the GapController.js for audio and video to avoid stalling on gaps due to texttracks. - [@dsilhavy](https://togithub.com/dsilhavy)
#### Operation
[#4041](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4041) Adds a Github action to automatically deploy to nightly and latest on the Akamai CDN - [@dsilhavy](https://togithub.com/dsilhavy)
### [`v4.4.1`](https://togithub.com/Dash-Industry-Forum/dash.js/releases/tag/v4.4.1): dash.js v4.4.1
[Compare Source](https://togithub.com/Dash-Industry-Forum/dash.js/compare/v4.4.0...v4.4.1)
**Features**
[#3988](https://togithub.com/Dash-Industry-Forum/dash.js/pull/3988) Add support for specifying the start time of the stream as part of the initialize or the attachSource call. A demo can be found [here](https://reference.dashif.org/dash.js/nightly/samples/advanced/load-with-starttime.html)
**Improvements**
[#3968](https://togithub.com/Dash-Industry-Forum/dash.js/pull/3968) JSDoc cleanup
[#3969](https://togithub.com/Dash-Industry-Forum/dash.js/pull/3969) Dispatch volumechange from the native video element via dedicated MediaPlayerEvent
[#3963](https://togithub.com/Dash-Industry-Forum/dash.js/pull/3963) Extends the License Request Complete event to include the original server response when DRM errors are reported
[link](https://togithub.com/Dash-Industry-Forum/dash.js/commit/b98673e661cd93dd5cd379a624b091a5160c8b77) Add example for multi audio tracks with initial track selection
[#3986](https://togithub.com/Dash-Industry-Forum/dash.js/pull/3986) Fix d trace httpList metric reporting
[#3971](https://togithub.com/Dash-Industry-Forum/dash.js/pull/3971) Overwrite manifest mediaPresentationDuration if duration mismatch
[#3997](https://togithub.com/Dash-Industry-Forum/dash.js/issues/3997) Functional Tests: Add missing vectors with "//" in url to functional tests
[#3998](https://togithub.com/Dash-Industry-Forum/dash.js/issues/3998) Run functional tests by groupname
**Bugfixes**
[#3980](https://togithub.com/Dash-Industry-Forum/dash.js/pull/3980) Do not trigger inline and inband events multiple times after a manifest refresh
[#3984](https://togithub.com/Dash-Industry-Forum/dash.js/pull/3984) Account for events defined in different periods in the EventController.js
[#3985](https://togithub.com/Dash-Industry-Forum/dash.js/pull/3985) Fix for a rounding error not allowing BUFFERING_COMPLETED to get fired
[#3970](https://togithub.com/Dash-Industry-Forum/dash.js/pull/3970) Fix \_checkPortalSize and initialRatio caluculation for unsorted Representations in an AS
[#3966](https://togithub.com/Dash-Industry-Forum/dash.js/pull/3966) Fix text track enabling for MSS live streams
[#3944](https://togithub.com/Dash-Industry-Forum/dash.js/pull/3944) Fix bug in abandon request workflow. Also enable rule by default
[#3953](https://togithub.com/Dash-Industry-Forum/dash.js/pull/3953) Use lastBitrateCachingInfo.enabled and lastMediaSettingsCachingInfo.enabled
[#3939](https://togithub.com/Dash-Industry-Forum/dash.js/pull/3939) Check for keyPairs in clearkeys object before updating the key session
[#3942](https://togithub.com/Dash-Industry-Forum/dash.js/pull/3942) Fix/clearkey from ref UI: Check for initData in protData before overwriting
[#3928](https://togithub.com/Dash-Industry-Forum/dash.js/pull/3928) Fix SegmentTimeline's segment getter from requested time
[#3978](https://togithub.com/Dash-Industry-Forum/dash.js/pull/3978) Fix wrong description of PLAYBACK_LOADED_DATA event
[#3979](https://togithub.com/Dash-Industry-Forum/dash.js/pull/3979) Fix a bug that lead to undefined customParametersModel after calling Mediaplayer.reset()
[Link](https://togithub.com/Dash-Industry-Forum/dash.js/commit/75f59f25913e8da60c0d21b5d79f24ffbab7c409) Fix multitrack captions sample: lang values in manifest have changed
[Link](https://togithub.com/Dash-Industry-Forum/dash.js/commit/1ff979790a69031fdc3cb28c159b49bc6d57e46e) Fix multi audio DRM sample
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
4.4.0
->4.7.4
Release Notes
Dash-Industry-Forum/dash.js (dashjs)
### [`v4.7.4`](https://togithub.com/Dash-Industry-Forum/dash.js/releases/tag/v4.7.4): dash.js v4.7.4 [Compare Source](https://togithub.com/Dash-Industry-Forum/dash.js/compare/v4.7.3...v4.7.4) #### Features [#4338](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4338) Add support for DVB Font downloads as specified in ETSI TS 103 285 V1.4.1 - Section 7.2 Downloadable Fonts by [@mattjuggins](https://togithub.com/mattjuggins) [#4360](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4360) Add an event that enables manual rendering of subtitles by [@bitboxer](https://togithub.com/bitboxer) [#4330](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4330) Add API endpoint to trigger a manifest refresh by [@eirikbjornr](https://togithub.com/eirikbjornr) [#4336](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4336) Add IMSC settings for rollUp and displayForcedOnly by [@nigelmegitt](https://togithub.com/nigelmegitt)\ [#4382](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4382) Add a liveUpdateTimeThreshold to control time syncing during playback of live streams by [@matvp91](https://togithub.com/matvp91) #### Improvements [#4359](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4359) Fix flickering and blinking of IMSC subtitles by [@mattjuggins](https://togithub.com/mattjuggins) [#4350](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4350) Include HTTP request range in data that is passed to the modifyRequest function by [@dsilhavy](https://togithub.com/dsilhavy) [#4356](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4356) Remove unused depdendency foodoc and move JSDoc related dependencies to devDependencies section in the package.json by [@dsilhavy](https://togithub.com/dsilhavy) [#4362](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4362) Refactor DVB extensions properties to consistently use camel case. by [@mattjuggins](https://togithub.com/mattjuggins) #### Bugfixes [#4348](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4348) [#4349](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4349) Remove duplicate events in index.d.ts by [@kris-youview](https://togithub.com/kris-youview) [#4355](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4355) Fix invalid warning in StreamProcessor.js by [@dsilhavy](https://togithub.com/dsilhavy) [#4335](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4335) Remove specific Chrome version from CircleCI config by [@dsilhavy](https://togithub.com/dsilhavy) [#4363](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4363) Fix PlaybackErrorEvent Typescript typing by [@kris-youview](https://togithub.com/kris-youview) [#4365](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4365) Add a try/catch around matchSettingsLang in case bcp47Normalize fails with an error by [@dsilhavy](https://togithub.com/dsilhavy) [#4368](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4368) Check for undefined values in addHttpRequest method by [@dsilhavy](https://togithub.com/dsilhavy) [#4389](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4389) Fix a bug when dispatching subtitle events that causes an error in the event bus when the video is seeked by [@dsilhavy](https://togithub.com/dsilhavy) ### [`v4.7.3`](https://togithub.com/Dash-Industry-Forum/dash.js/releases/tag/v4.7.3): dash.js v4.7.3 [Compare Source](https://togithub.com/Dash-Industry-Forum/dash.js/compare/v4.7.2...v4.7.3) #### Features [#4319](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4319) Add support for playback using the Managed Media Source [@dsilhavy](https://togithub.com/dsilhavy) #### Improvements [#4280](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4280) Change template for JSDocs to avoid styling issues like the menu blocking the parameter description [@abdulaziz-bd](https://togithub.com/abdulaziz-bd) [#4298](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4298) Adds settings parameters to configure the AbandonRequestsRule.js [@dsilhavy](https://togithub.com/dsilhavy) [#4267](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4267) Update all URLs to Livesim. Use Livesim2 instead of Livesim1 [@dsilhavy](https://togithub.com/dsilhavy) [#4305](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4305) Remove outdated cues from track when adding a new cue to avoid memory leaks. [@dsilhavy](https://togithub.com/dsilhavy) [#4310](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4310) Add new BBC R\&D Test Streams to Reference Player [@mattjuggins](https://togithub.com/mattjuggins) [#4320](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4320) Enable pass-through of UTF-8 chars when provided via lang-attribute [@stschr](https://togithub.com/stschr) [#4322](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4322) For low latency DASH use min/max playbackRate when the buffer is safe in mode: liveCatchupModeLoLP [@bwallberg](https://togithub.com/bwallberg) [#4324](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4324) Update to imscJS v1.1.4 [@nigelmegitt](https://togithub.com/nigelmegitt) #### Bugfixes [#4296](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4296) Fix two scheduling errors related to quality switches [@dsilhavy](https://togithub.com/dsilhavy) [#4297](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4297) Fix the handling of abandoning segment requests [@dsilhavy](https://togithub.com/dsilhavy) [#4314](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4314) Fix issues with the controlbar when muting video playback and transitioning from dynamic to static content [@ShikiSeiren](https://togithub.com/ShikiSeiren) [#4323](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4323) Fix a bug in the OfflineStreamProcessor.js [@dsilhavy](https://togithub.com/dsilhavy) ### [`v4.7.2`](https://togithub.com/Dash-Industry-Forum/dash.js/releases/tag/v4.7.2): dash.js v4.7.2 [Compare Source](https://togithub.com/Dash-Industry-Forum/dash.js/compare/v4.7.1...v4.7.2) #### Features [#4281](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4281) Adds a functional testsuite based on the Karma framework [@dsilhavy](https://togithub.com/dsilhavy) [#4270](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4270) Reset MSE when switching codec if changeType() is unstable or unavailable. [@matvp91](https://togithub.com/matvp91) #### Improvements [#4225](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4225) Define target web and es5 for webpack to make build files ES5 compliant [@dsilhavy](https://togithub.com/dsilhavy) [#4221](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4221) Fix init value for storeLastSettings [@minhui-foxtel](https://togithub.com/minhui-foxtel) [#4278](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4278) Add support for replacing a text node via MPD patching. [@dsilhavy](https://togithub.com/dsilhavy) [#4242](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4242) Prevent redundant CC parser restarts during Low Latency streams [@m-buczek](https://togithub.com/m-buczek) [#4274](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4274) Add setting to change mediasource duration from infinity to math.pow(2, 32) [@bwallberg](https://togithub.com/bwallberg) [#4249](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4249) Compare indices of mediaInfo objects when checking if a track change was rendered. This accounts for content that has no ID attribute for the AdaptationSets [@dsilhavy](https://togithub.com/dsilhavy) [#4272](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4272) Remove babel-preset-env [@ShiningTrapez](https://togithub.com/ShiningTrapez) #### Bugfixes [#4224](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4224) Fix a bug for VTT.js based rendering that causes cues not to be removed after switching to a new source. [@dsilhavy](https://togithub.com/dsilhavy) [#4279](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4279) Do not execute multiple setCurrentTime via waitForReadyState to avoid race condition [@dsilhavy](https://togithub.com/dsilhavy) [#4239](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4239) Remove unusable key sessions when ProtectionController is stopped without waiting for session.close promise to be resolved [@dsilhavy](https://togithub.com/dsilhavy) [#4246](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4246) Fixes for edge case errors that have been captured by Sentry IO around referencing null objects after reset has been called. [@littlespex](https://togithub.com/littlespex) [#4211](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4211) Fix types of TestRequest URL property [@ondreian](https://togithub.com/ondreian) [#4268](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4268) Added getTargetLiveDelay method to type definitions [@matvp91](https://togithub.com/matvp91) [#4252](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4252) Fix wrong attribute in L2A rule [@dsilhavy](https://togithub.com/dsilhavy) [#4253](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4253) Fix error in ProtectionModel\_21Jan2015.js when closing key session [@dsilhavy](https://togithub.com/dsilhavy) [#4223](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4223) Fix wrong Typescript definition of updateSource [@dsilhavy](https://togithub.com/dsilhavy) [#4265](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4265) Check for "text/vtt" in catch block of SourceBufferSink.js [@dsilhavy](https://togithub.com/dsilhavy) [#4273](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4273) Use fixed version of Chrome driver as latest one is unavailable [@dsilhavy](https://togithub.com/dsilhavy) [#Link](https://togithub.com/Dash-Industry-Forum/dash.js/commit/123747ff46813a3d3693f5fe340b641a8b7dce91) Upgrade browser-tools CircleCI orb to 1.4.2 to solve Chromedriver issue [@dsilhavy](https://togithub.com/dsilhavy) #### Others [Link](https://togithub.com/Dash-Industry-Forum/dash.js/commit/77ae5f0893544be9bc998beefc6e125ad45ccb69) Change content steering sample stream URL [@dsilhavy](https://togithub.com/dsilhavy) [Link](https://togithub.com/Dash-Industry-Forum/dash.js/commit/9dbd5699dbdbf535b368153bd40e986f6b5a2a05) Use license that doesnt expire in the Widevine sample [@dsilhavy](https://togithub.com/dsilhavy) [Link](https://togithub.com/Dash-Industry-Forum/dash.js/commit/798b07b7b7990acee707046187f910f45772e74d) Change MSS sample streams [@dsilhavy](https://togithub.com/dsilhavy) ### [`v4.7.1`](https://togithub.com/Dash-Industry-Forum/dash.js/releases/tag/v4.7.1): dash.js v4.7.1 [Compare Source](https://togithub.com/Dash-Industry-Forum/dash.js/compare/v4.7.0...v4.7.1) #### Improvements [#4201](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4201) [#4203](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4203) Improve throughput on abort: Enables throughput rule to consider measured throughput (or value returned by CMSD response header) on the aborted requests [@bbert](https://togithub.com/bbert) [#4195](https://togithub.com/Dash-Industry-Forum/dash.js/issues/4195) L2A Improvements based on BBC MMSys Paper [@piersoh](https://togithub.com/piersoh) [#4193](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4193) Add autoLoad flag to start playback in reference client once page is loaded [@dsilhavy](https://togithub.com/dsilhavy) [#4196](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4196) Add option to mute playback in reference UI via query parameters [@dsilhavy](https://togithub.com/dsilhavy) #### Bugfixes [#4189](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4189) Fix reporting of CMCD for SegmentBase range requests [@dsilhavy](https://togithub.com/dsilhavy) [#4213](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4213) Content Steering: Add protocol string to host url if not present [@dsilhavy](https://togithub.com/dsilhavy) [#4192](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4192) Do not close key session if key is usable in getLicense.html demo [@dsilhavy](https://togithub.com/dsilhavy) [#4191](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4191) Typescript: Fixed FragmentRequest 'type' typing [@ShikiSeiren](https://togithub.com/ShikiSeiren) [#4185](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4185) Fix handling of MPDs containing SegmentList with SegmentTimeline [@tea](https://togithub.com/tea) [#4208](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4208) Fix a regression for subtitle playback. We need the segment duration of the subtitle tracks to get a valid buffer target [@dsilhavy](https://togithub.com/dsilhavy) [#4214](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4214) Fix JSDoc in Settings.js [@dsilhavy](https://togithub.com/dsilhavy) [Link](https://togithub.com/Dash-Industry-Forum/dash.js/commit/40788949245d0962d79a9af27d8ca4b493d1022b) Add postbuild command to copy index.d.ts to dash.d.ts [@dsilhavy](https://togithub.com/dsilhavy) [Link](https://togithub.com/Dash-Industry-Forum/dash.js/commit/6994e3424f621cf133ee677ef28382f43ff10897) Add Axinom teststreams with new license server URL [@dsilhavy](https://togithub.com/dsilhavy) [Link](https://togithub.com/Dash-Industry-Forum/dash.js/commit/8c3675a1cc17fb899c104db2c146e8eaa02c4aae) Fix wrong unregister event listener for PLAYBACK_SEEKED in CatchupController [@dsilhavy](https://togithub.com/dsilhavy) ### [`v4.7.0`](https://togithub.com/Dash-Industry-Forum/dash.js/releases/tag/v4.7.0): dash.js v4.7.0 [Compare Source](https://togithub.com/Dash-Industry-Forum/dash.js/compare/v4.6.0...v4.7.0) #### Features [#4173](https://togithub.com/Dash-Industry-Forum/dash.js/pull/4173) Add support for DASH content steering version 0.9.7 including support for pathway cloning and steeringConfiguration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.