v4.11.0
4.11.0 (2024-09-04)
Features
- ABR: Add preferNetworkInformationBandwidth config (#7090) (6425b91)
- Add getFetchedPlaybackInfo method (#7074) (ef02763)
- Add public method for parsing cue payload (#6992) (eeadace)
- Add video codec preference array at same resolution and bitrate (#7204) (28523a3)
- Add width/height to getFetchedPlaybackInfo (#7107) (e58ac70), closes #6725
- Ads: Add basic VAST support without IMA (#7052) (c59922b)
- Ads: Add basic VMAP support without IMA (#7054) (a6f3999)
- Ads: Added advanced type to ad requests (#7196) (f5b78dc)
- Ads: Allow the use of custom interstitials ads (#6991) (9e1f4e7)
- Allow set the videoContainer in the Player constructor (#6953) (a35028c)
- CEA: Support alignment in CEA-608 (#7022) (11a2cc5)
- CMCD: Implement new streaming format from CMCDv2 (#7216) (8842648)
- DASH: Add DVB Font downloads (#6971) (789101c)
-
DASH: Add support for urn:mpeg:dash:ssr:2023 with SegmentTemplate
$Number$ (#6745) (3cb40bf) - DASH: MPD Alternate support (#7055) (93f2d96)
- DASH: Support Annex I: Flexible Insertion of URL Parameters (#7086) (a5adb39)
- DASH: Support DVB fonts with relative urls (#6974) (5849e25)
- DASH: Support trick-mode per resolution (#7224) (cb5aae4)
- Dispatch MediaSourceRecovered event (#7198) (fd5b09c)
- Export addFont method (#6975) (afc3e59)
- HLS: Add I-Frame playlist support (#7230) (67859c9)
- HLS: Add support for EXT-X-START (#6938) (d63df14)
- HLS: Deprecate useSafariBehaviorForLive config (#6978) (aaeafa4)
- net: Add minimum bytes for progress events (#7117) (d36ff65)
- Parse TS frameRate (#6998) (f4f9b05)
- preload: Add isPreload to net filter context (#7170) (5723a2b)
- Render native cues using text displayer (#6985) (6c0c63d)
- Store bandwidth info inside references. (#6825) (b4e04b6)
- TTML: Add support for IMSC1 (CMAF) image subtitle (#6968) (3b62296)
- UI: Add chapter button (#7018) (87bf738)
- UI: Add MediaSession management (#7188) (3026ba5)
Bug Fixes
- ABR: Do not adapt between spatial & non spatial audio (#7067) (1dc5c87)
- ABR: Fix restrictToElementSize running while abr disabled (#7153) (aea85b0)
- ABR: Not change to another quality without respecting a min time (#6979) (a5095a8)
- Add more info in getVariantTracks for muxed streams (#7181) (d63c44a)
- Add null check for current reference (#7184) (f5aceed)
- Adjust timing of mediaqualitychanged event when safe margin is set (#7114) (f6ac236)
- Ads: Detect correctly interstitial preroll when using native HLS playback in Safari (#7093) (9912798)
- Ads: Don't show duplicate SKIP UI in IMA CS (#7084) (9337143)
- Ads: Fix back to live for native HLS when interstitial endTime is Infinity (#7095) (18aea54)
- Ads: Fix mangled properties when using X-ASSET-LIST (#7002) (ade19cb)
- Ads: Fix playback of preroll interstitial when the currentTime is 0 (#7092) (0cdeb65)
- Ads: Fix timelineRange detection in HLS interstitials (#7091) (d79f8e2)
- Ads: Only allow play the preroll once (#7096) (0248268)
- Allow dispatch metadata event with cueTime equal to 0 (#7098) (dcdecf9)
- Allow recover normal stream when trick play stream fails (#7234) (2638ada)
- Allow reference mimeType change in StreamingEngine (#7061) (bf6632e)
- Apply playRange config to src= (#7168) (7cf332e)
- Avoid clear buffer when select the same audio track (#6959) (b953a75)
- Avoid reset iterator when seek into the buffer (#7004) (dc34ec4)
- CEA: Always init CEA parser with new init segment (#7102) (61e570e)
- CEA: Offset text CEA-608 that are out of viewport (#7024) (230f6e0)
- Compare normalized codecs in codec switching checks (#7143) (01545f4)
- Correct the behavior to defer closeSegmentIndex() calls during updates (#7217) (7ba7e61)
- DASH: Allow play all time fastSwitching tracks (#7180) (4abfc5a)
- DASH: Clear streamMap when period is removed from the manifest (#7202) (c5df88b)
- DASH: Fix allPartialSegments signal when using L3D (#7179) (a1d3927)
- DASH: Fix codec/mimeType for single text file (#7075) (4728d08)
- DASH: Fix creation of multiperiod trickmode streams (#7229) (ebab340)
- DASH: Fix EventStream Elements creation (#7194) (bd06fe7)
- DASH: Fix MPD Patch when SegmentTemplate is shared between Representations (#7218) (b2502fd), closes #7214
- DASH: Fix period combining when roles are equal (#7065) (38c691b)
- DASH: Fix transitions from 'dynamic' to 'static' (#7029) (3ba94b8)
- DASH: Improve memory usage with live streams (#7039) (d1435c7)
- DASH: Patch manifest Adaptationset indexing, @n=<Numbering> and @t= (#7131) (0f2cea4)
- DASH: Prioritize highest bandwidth in PeriodCombiner (#7045) (29ed0a8)
- DASH: Use proper namespace when mapping TXml node to Element (#7240) (cd2fc71)
- Defer
closeSegmentIndex()
for old streams during ABR switches when segment fetches are ongoing (#7157) (4cff18d) - Destroy correctly unused transmuxer (#7059) (f161a1c)
- Disable CC with disableText config (#7078) (f9040ce)
- Disable seek retry cooldown on most platforms (#7010) (dcc60f9)
- Do not minify CodecSwitchingStrategy enum keys (#7200) (f718139)
- Don't throw an error when trying to disable a trick mode stream (#7235) (92f70ee)
- Dont use inaccurateManifestTolerance for sequenceMode (#7207) (b119c03)
- Dont use trick play track for liveSync feature (#7219) (b7481f2)
- Exclude future segments in notifyTimeRange calculations (#6970) (62881f6)
- Filter duplicate cues on text displayer append (#6949) (fa9feb3)
- Fire the correct error code in src= mode in some situations (#7167) (a7a307c)
- Fix bad warning when use selectAudioLanguage (#6999) (fbf1ad0)
- Fix ended state in stateHistory (#7189) (f6be619)
- Fix error thrown after catching null error (#7177) (b4dc2ad)
- Fix horizontal alignment of WebVTT in UITextDisplayer (#7169) (efac129)
- Fix ID3 timing when included in EMSG (#7099) (eb36c0d)
- Fix iteration of document.fonts (#6976) (c70586c)
- Fix MSE polyfill for iOS (#7049) (fcd87aa)
- Fix NaN and empty objects in getNonDefaultConfiguration (#6956) (52e3864)
- Fix normalized codec for VVC (#7201) (8ca1b74)
- Fix skip interstitials with another ID but same URL (#7050) (8b70bb6)
- Fix support for Dolby Vision based in VVC (#7212) (cdbbe23)
- Fix type passed to isTypeSupported in some cases (#7233) (3e3953d)
- Fix UITextDisplayer desync & null pointer exception (#7199) (247753d)
- HLS: A/V sync regression for HLS live (#6987) (da6c605)
- HLS: A/V sync regression for HLS with different segment sizes (#7015) (83955ee)
- HLS: Add HLS_EMPTY_MEDIA_PLAYLIST error (#6951) (b3df270)
- HLS: Calculate the delay based on the sum of the segment lengths (#7209) (abdabb0)
- HLS: Check that segment 0 exists (#7208) (d744ef8)
- HLS: Expose tilesLayout properly for live (#7123) (388050c)
- HLS: Fix filtering video/audio streams without bandwidth (#7008) (64430ed)
- HLS: Fix load AES media playlist (#7012) (3bd032c)
- HLS: Fix parsing of width and height when using media playlist (#6989) (cec6166)
- HLS: Fix use of EXT-X-MEDIA when not using Content Steering (#7166) (fcacb95)
- HLS: Propagate bandwidth to stream in audio-only and video-only (#7006) (1f5badf)
- HLS: Remove init segment on formats without init segment (#7060) (c576bc3)
- honor autoShowText on non-audio streams (#6977) (ef15d13)
- net: Remove
AbortController
polyfill (#7149) (65e6681) - Offset text regions that are out of viewport (#6986) (ca7fd6e)
- Only check encryptionScheme when is not null and not empty string (#7079) (c62c5b5)
- Pass correct adaptation value to MediaSourceEngine (#7111) (0ff0578)
- PeriodCombiner: Use normalized codec to remove duplicates (#7032) (0669d24)
- Prefetch: Use the same references time for evict and prefetchSegmentsByTime (#7003) (9fcaf4d)
- properly map region height/width when applying anchors (#7105) (ac9a6ca)
- Repeated initial segment load & cancellations (#7147) (3f3bbc6)
- Revert change that caused a lot of warning with "cannot find endTime" and hls playback errors (#7239) (e522921)
- Revert change that caused stalls with "cannot find endTime" (#7213) (2d2bddd)
- SimpleTextDisplayer: Do not disable metadata & chapters tracks (#6948) (c6d834e)
- SSA: Support files with line breaks that are not necessary (#6947) (88431b6)
- Stats: Fix bytesDownloaded when using src= (#7223) (1faada6)
- Stats: Fix completionPercent for Live (#6957) (d719328)
- Transmuxer: Fix init segment between discontinuities (#7042) (6850f68)
- TTML: Fix font styles parsing (#6969) (f56f7ba)
- ttml: Handle escaped special characters. (#7047) (90668c2), closes #7044
- TTML: Show background color with image subtitles (#6967) (e68fd55)
- UI: Don't display NaN stats (#6958) (7c33192)
- UI: Fix ad markers set before full initialization (#7089) (1d5c7d2)
- UI: Fix display seekbar and time when the seekrange is infinite (#7182) (867f8b2)
- UI: Fix font-family override in UITextDisplayer (#7249) (3d33277)
- UI: Fix resolution label when the stream has not resolution (#7043) (089518c)
- UI: Fix seek preview time in VoD (#7027) (226c740)
- UI: fix wrong french in translation (#6982) (2d6c2af)
- UI: Only show frame rate if there are several frame rates (#7190) (d4249b1)
- UI: Remove not loaded font (#7242) (47f686f)
- UI: Show all resolutions when there are only one audio. (#7017) (2a2c9cd)
- UI: Show the ad marker in the seek bar when there are some intersections (#6990) (247037e)
- Unify maxDisabledTime behaviour (#7077) (8e13e91)
- WebVTT: Fix rendering of WebVTT in UITextDisplayer (#7023) (22a7c49)
- WebVTT: Re-add rollover logic (#7104) (0708379)
- Xbox: Fix screen resolution detection (#6988) (4d2aa24)
- Xbox: Override Dolby Vision codecs (#7115) (2c399e0)
- Xbox: Support screen resolution detection on Xbox when using WebView2 (#7144) (d93a019), closes #7141