github shaka-project/shaka-player v5.0.0

6 hours ago

5.0.0 (2026-02-06)

� BREAKING CHANGES

  • Require apps to call updateStartTime instead of setting media element currentTime directly during startup (#9668)
  • Remove setTextTrackVisibility from the public API (#9664)
  • UI: Remove airplay button from uncompiled version (#9663)
  • UI: Remove airplay button (#9654)
  • UI: Change buttons order (#9651)
  • UI: Add bigButtons config and remove addBigPlayButton config (#9636)
  • UI: Enable customContextMenu by default on desktop browsers (#9635)
  • UI: Add documentPictureInPicture config (#9634)
  • Remove shaka.util.XmlUtils (#9616)
  • Remove codem-isoboxer dependency (#9608)
  • Use shared logic for MediaError details (#9594)
  • Text displayers should receive a shaka.Player pointer (#9515)
  • Move speech to text to the accessibility section in config (#9507)
  • ABR: Remove abr.removeLatencyFromFirstPacketTime config (#9496)
  • Remove autoShowText and simplify initial text track selection (#9435)
  • UI: Improve Media Session management (#9483)
  • Simplify shaka.ads.AdManager interface (#9357)
  • Remove LRC, SBV, SSA support (#9330)
  • Remove MSS support (#9329)
  • Remove setSequenceMode from TextParser plugins (#9326)
  • Remove enableTextDisplayer from TextDisplayer plugins (#9311)
  • Remove all deprecated things (#9162)

Features

  • ABR: Remove abr.removeLatencyFromFirstPacketTime config (#9496) (687f0ee)
  • Add a bufferAppending event (#9377) (d79d001), closes #9328
  • Add application/mp4 as valid mimetype on MoQ (#9558) (f1de698)
  • Add automatic subtitles (#9123) (61d80f6)
  • Add configurationchanged event (#9531) (909655f)
  • Add getMimeType method to shaka.Player (#9592) (55b0681)
  • Add isDynamic method to shaka.Player (#9471) (a7919e4)
  • Add listenMulti and listenOnceMulti to shaka.util.EventManager (#9652) (bd167c3)
  • Add MoQT draft-14 + WARP/MSF draft-1 experimental support (#9409) (ef361ed)
  • Add native chapters support (#9208) (9aed4df)
  • Add new config to allow stop fetching new segments on pause (#9567) (e96442c)
  • Ads: Add basic SVTA2053-2 support (#9172) (840ca96)
  • Ads: Add getCurrentAd method (#9291) (6c683d7)
  • Ads: Add new interstitials events (#9444) (2e124ba)
  • ads: Add option to disable snapback behavior in ad settings (#9188) (a09d18e)
  • Ads: Add support for SVTA2053-2 in HLS Interstitial with ASSET-LIST Carriage (#9159) (7dd132d)
  • Ads: Add support for tracking urls (#9144) (e6dfa90)
  • Ads: Add SVTA2053-2 support when using native HLS (#9310) (9a85fca)
  • Ads: Allow auto init MediaTailor (#9351) (470d01c)
  • Ads: Allow configure interstitial preload ahead time (#9464) (f690503)
  • Ads: Allow init Media Tailor without container (#9294) (3996872)
  • Ads: Allow preload post-roll interstitials (#9467) (be921e6)
  • Ads: Apply disableTrackingEvents config to MediaTailor (#9189) (454a285)
  • Ads: Support multi tracking urls in VAST (#9157) (1c941d7)
  • Ads: Support noJump and skipAfter on Alternative Media Presentations (#9246) (822dc0c)
  • Allow detect Fairplay on shaka.media.SegmentUtils (#9585) (eda2429)
  • Allow override subtitle position (#9522) (c6e6082)
  • Cast: Support getCurrentAd while casting (#9306) (02a2bb5)
  • Change dvvC box to free box for Dolby Vision workarounds (#9101) (729cea8)
  • CMCDv2: Response Received (#9362) (ac2d390)
  • DASH: Add programinformation event (#9202) (0ecc68c)
  • DASH: Add support for SegmentTimeline@Pattern (#9669) (4082ed7)
  • Derive frameRate from fMP4 samples and improve MP4 parsing in SegmentUtils (#9626) (1debeb8)
  • Disable remote usage on TV, CONSOLE and CAST devices (#9375) (b1a7e7b)
  • Disable streams from MSE errors (#9097) (57229da)
  • EME: Add retryLicensing() and failureCallback for manual license retry (#9638) (d98169b)
  • EME: Implement MediaKeySessionClosedReason handling (#9540) (2bfb798)
  • FairPlay: Add support for Gumlet (#9396) (49a4d56)
  • Handle AdManager in CastProxy, CastSender and CastReceiver (#9266) (76cea8d)
  • Handle forced subtitles automatically by default (configurable) (#9497) (1ace441)
  • HLS: Add a mediaTypes field to shaka.extern.DrmInfo (#9198) (1ad3497)
  • HLS: Add AES-256-GCM support (#9562) (e5d9471)
  • HLS: Add support for com.apple.hls.chapters (#9195) (7ccb20a)
  • HLS: Detect new chapter streams added after initial load (#9573) (c4a506a)
  • HLS: Remove enableAudioGroups usage (#9228) (e7c0a01)
  • HLS: Support chapters on Live and custom config to add it (#9561) (bdfd028)
  • Improve management of processLocally when using Speech To Text (#9449) (8f62320)
  • Move speech to text to the accessibility section in config (#9507) (86bfea0)
  • MSF: Add support for custom namespaces via config (#9586) (4c945af)
  • net: Allow request filters to be called multiple times (#9129) (6d04f7f)
  • Only disallow SourceBuffer.changeType on PlayReady when using Edge browser (#9603) (71af24f)
  • Preload Manager update language configuration for audio and text (#9244) (7a70998)
  • Queue: Allow set a custom player (#9256) (f20c5e4)
  • Remove enableTextDisplayer from TextDisplayer plugins (#9311) (7f662a1)
  • Remove all deprecated things (#9162) (945c57a)
  • Remove alwaysStreamText config (#9053) (dc235fc)
  • Remove autoShowText and simplify initial text track selection (#9435) (73ee27b)
  • Remove codem-isoboxer dependency (#9608) (12b9a9f)
  • Remove LRC, SBV, SSA support (#9330) (4bc2518)
  • Remove MSS support (#9329) (e85b648)
  • Remove setSequenceMode from TextParser plugins (#9326) (8e0e0d8)
  • Remove setTextTrackVisibility from the public API (#9664) (2db6038)
  • Remove shaka.util.XmlUtils (#9616) (d452350)
  • Require apps to call updateStartTime instead of setting media element currentTime directly during startup (#9668) (a10287e)
  • Simplify shaka.ads.AdManager interface (#9357) (643e2c8)
  • SRT: Improve SRT to WebVTT conversion and color handling (#9624) (afd2422)
  • Support HLS live chapters using PDT or relative to start time of the stream (#9563) (6557fee)
  • Suspend caption rendering when not visible using IntersectionObserver + Page Visibility + PiP (#9545) (14ebd65)
  • Temporarily increase of segmentPrefetchLimit at high playback rates (#9231) (3c91c16)
  • Text displayers should receive a shaka.Player pointer (#9515) (d5be5d6)
  • UI: Add bigButtons config and remove addBigPlayButton config (#9636) (3fd73ce)
  • UI: Add chapters marks to seek bar (#9643) (0542863)
  • UI: Add copy video frame button (#9384) (ad64dba)
  • UI: Add default config for CAST devices (#9257) (500672f)
  • UI: Add documentPictureInPicture config (#9634) (023111f)
  • UI: Add enableVrDeviceMotion config (#9303) (081beff)
  • UI: Add new config to keep the menu open until user closes it (#9245) (ea72a74)
  • UI: Add PiP placeholder with poster and exit icon (#9653) (333a941)
  • UI: Add showUIAlways config (#9648) (60366e7)
  • UI: Add showUIAlwaysOnAudioOnly config (#9390) (83d63d5)
  • UI: Add subtitle size button (#9530) (6ba19b2)
  • UI: Add support to nexttrack, previoustrack and skipad Media Session actions (#9218) (ffcbd4e)
  • UI: Add translations for qaa and qad languages (#9501) (7ae5328)
  • UI: Add video type button (#9107) (c0b85c7)
  • UI: Adjust context menu positioning to avoid overflow (#9632) (a0384a1)
  • UI: Allow all items registered in overflow to be in the context menu (#9527) (2d02ae3)
  • UI: Allow configure the key name for shortcuts and add some new ones (#9105) (9d7b37b)
  • UI: Allow display remaining time in the presentation time (#9249) (5be5289)
  • UI: Allow show the content title (#9206) (179f7e8)
  • UI: Change buttons order (#9651) (fbbfb11)
  • UI: Enable customContextMenu by default on desktop browsers (#9635) (0c0c2ff)
  • UI: Enable doubleClickForFullscreen for mobile (#9566) (6e23b40)
  • UI: Improve Media Session management (#9483) (ff72abc)
  • UI: Improve overflow menu style (#9631) (4b679d8)
  • UI: Improve title management via MediaSession (#9203) (77e7f77)
  • UI: Increase interactive area of seek bar and volume bar (#9124) (e9afbba), closes #9120
  • UI: Modernize style of big play button (#9630) (7c42832)
  • UI: Remove airplay button (#9654) (514246c)
  • UI: Remove airplay button from uncompiled version (#9663) (be208dd)
  • UI: Setup chapter information in Media Session (#9417) (955edba)
  • UI: Show chapter name on seek bar when hovering (#9413) (978c0ed)
  • UI: Support ad events when casting (#9280) (879f927)
  • UI: Support sub menus on context button (#9526) (0d3f3d0)
  • UI: Use audio description label when accessibility purpose is visually impaired (#9537) (9e5c1a9)
  • UI: Use com.apple.hls.poster for poster setup (#9216) (d540658)
  • UI: Use Intl.DisplayNames to show the language name (#9440) (fd2112b)
  • Unify text track selection and visibility by allowing null to disable text. (#9048) (48b1f09)
  • Update catalog format to MSF/CMSF v0 and standardize MOQ terminology (#9614) (c3b8461)
  • Use shared logic for MediaError details (#9594) (5c05132)

Bug Fixes

  • ABR: Check for the existence of variables (#9201) (aa7a9fc)
  • ABR: Safeguard calls to this.switch_ (#9565) (ae971d0)
  • Add cue fontSize fallback when using fontScaleFactor (#9117) (badaafc)
  • add guards to prevent errors removing already detached media sources (#9599) (b226f80)
  • Add usage of AccessibilityPurpose.VISUALLY_IMPAIRED when using src= (#9255) (cdf5f6d)
  • Ads: Avoid duplicated HLS interstitials request when using ASSET-LIST (#9168) (9df740a)
  • Ads: Avoid fire an error when calling to onHLSMetadata when it's not necessary (#9286) (1f20652)
  • Ads: Do not start interstitials when the main video paused (#9242) (b2a946d)
  • Ads: Don't allow change supportsMultipleMediaElements while an ad is playing (#9460) (4a657a3)
  • Ads: Fix back to live when using X-RESUME-OFFSET (#9171) (97b549e)
  • Ads: Fix bad detection of support multiple media elements on interstitials (#9145) (5f9ba4d)
  • Ads: Fix LL HLS with interstitials pre-roll ad is played slightly after primary content when using ASSET-LIST (#9183) (194af00)
  • Ads: Fix overlays when the base stream is live (#9040) (b65f685)
  • Ads: Fix playback of overlays ads on mobile devices (#9078) (2179c6a)
  • Ads: Fix playback of post roll-ads when using interstitials (#9428) (a8311da)
  • Ads: Fix send _HLS_primary_id on HLS interstitials (#9581) (dbfe560)
  • Ads: Fix start time of the interstitial when playing a pre/post-roll (#9459) (50610f8)
  • Ads: Fix TypeError: null is not an object (evaluating 'b.mimeType.startsWith') (#9060) (45a82ac)
  • Ads: Fix wrong interstitial id when deleting old interstitials (#9146) (67782e3)
  • Ads: Handle bad HTTP status errors as specified, play main content (#9612) (eefc8c2)
  • Ads: Harden MediaTailorAdManager state and cuepoint handling (#9619) (674e71d)
  • Ads: Only support mutipleMediaElements when not using native controls (#9217) (772b557)
  • Ads: Populate getTimeOffset for insterstitials (#9140) (468b84f)
  • Ads: Remove duplicate listener on IMA CS integration (#9367) (388548f)
  • Ads: Returns VAST <Ad> tag's id attribute in getAdId() (#9200) (b4252a6)
  • Ads: Update HLS ad skip control (#9276) (c08f27d)
  • Allow calculate the segment size from partials segments (#9094) (81344a8)
  • Always detect framerate as positive (#9133) (75dc75e)
  • Attach mediaKeys when the device does not force us to wait for the encrypted event (#9059) (4e1e9e6)
  • Audit all usage of readBytes for memory leaks (#9027) (849bff1)
  • Avoid audio streams filtering and use AdaptationSetCriteria instead (#9457) (2c1ab30)
  • Avoid create a cast sender on Cast devices (#9258) (de5ff7b)
  • Avoid download init segments again when not necessary (#9042) (f5fa1da)
  • Avoid InvalidStateError when getting buffering when MSE is closed (#9437) (72132f5)
  • Avoid null pointer exception on MSE reset (#9089) (5726c6a)
  • Bad init segment size calculation when using byte ranges (#9092) (8dbd074)
  • Bad segment size calculation when using byte ranges (#9090) (26c4b0d)
  • build: Fix build compat with mac homebrew java (#9225) (8f5770c)
  • Cast: Add missing player methods while casting (#9309) (dd95d45)
  • Cast: Allow serialize arrays (#9277) (1916b22)
  • Cast: Allow serialize nested events (#9281) (de4c7b6)
  • Cast: Allow serialize nested events (#9283) (b376cc9)
  • Cast: Fix propagation of currentAd while casting (#9307) (51ef883)
  • Cast: Fix propagation of currentAd while casting (#9308) (747578a)
  • CEA: Remove closed captions only on video update (#9125) (98fc330)
  • ci: Fix Firefox tests running on Windows (#9670) (8db8d7a)
  • CMCDv2: Memory leaks with ts param on request mode (#9193) (f526136)
  • CMCDv2: Prevent processing when target is disabled in response mode (#9065) (c79b66b)
  • ContentWorkarounds: Insert PSSH boxes for fake init encryption (#9600) (482117f)
  • Correctly destroy enqueue blocking operations (#9677) (ebcf0fe)
  • DASH: Fix can't access property "delete", unusedStreamsPerPeriod[(i - periodsMissing)] is undefined (#9038) (2ca6810)
  • DASH: Fix stall on multiperiod streams (#9030) (bc6a7f2)
  • DASH: Handle external SegmentBase BaseURL and SIDX offset fallback (#9477) (42df30a)
  • DASH: Memory leak on DASH streams (#9369) (219c733)
  • DASH: Shift segment timeline with cached presentationTimeOffset (#9481) (0bc7a96)
  • Delay position change during codec switch (#9293) (2cd7bd7)
  • demo: Fix assets metadata (#9609) (302e14b)
  • Demo: Fix report bug button (#9161) (c691bc6)
  • Disable smooth codec switching for Hisense VIDAA (#9601) (7d857b5)
  • Dispatch metadata events when stream is paused and the user seeks (#9628) (9de4a98)
  • Do not exclude time to first byte from measurements by default (#9476) (a84c6b5)
  • Don't cancel trick play on VOD end (#9239) (c52b51b)
  • don't clear text displayer cache for vtt if we're clearing cea cache (#9538) (2d23ea4)
  • DRM: Apply initDataTransform before deduping (#9393) (1aa2903)
  • DRM: Fix cache keys to include encryption scheme (#9392) (37b952d)
  • DRM: Fix multikey playback on devices with SW DRM only (#9443) (dfbcc64)
  • Ensure that the ABR has all the updated variants after making the initial selection (#9344) (f18c393)
  • FairPlay: Fix FairPlay compatibility with DASH (#9436) (2a45491)
  • Fire segmentappended event when adding a dependency data (#9382) (2ad4306)
  • Fix access violation in TimedMetadata handler (#9431) (39758c8)
  • Fix alignItems usage on old devices (#9544) (c4de8f1)
  • Fix audio/video bandwidth calculation when only one of them is provided (#9091) (cd8285f)
  • Fix blink subtitles when using NativeTextDisplayer in Safari (#9082) (2d8056a)
  • Fix CANNOT_ADD_EXTERNAL_CHAPTERS_TO_LIVE_STREAM error code (#9138) (c94a34f)
  • Fix case-insensitive MIME type matching in ManifestParser (#9416) (a5e262f)
  • Fix default modifyCueCallback config (#9322) (856cb53)
  • Fix exception reading audio-only content (#9465) (8d7a15b)
  • Fix external text track timing when using HLS (#9511) (84dccd3)
  • Fix getAudioTracks for HLS with multiplexed streams (#9047) (948a5f7)
  • Fix getAudioTracks() return twice the same track (#9588) (125badc)
  • Fix getLiveLatency when using Apple's native HLS (#9083) (5bd55ce)
  • Fix HDLR box parsing (#9582) (32c8911)
  • Fix HDR detection on WebOS on compiled builds (#9185) (1e0dcee)
  • Fix infinite evict loop on text unload (#9331) (5c5c72e)
  • Fix infinity initial loop when no autoplay and there is a initial gap (#9372) (91b2f51)
  • Fix playback of muxed(audio+video) mp4 (#9412) (e90c782)
  • Fix selectAudioTrack doesn't keep the same video stream when ABR is disabled (#9116) (fca4df7)
  • Fix some data population on shaka.media.SegmentUtils.BasicInfo when the segment is encrypted (#9406) (da14c9c)
  • Fix some EMSG events missing (#9064) (e2f8254)
  • Fix startAtSegmentBoundary config when using a live stream (#9640) (9fd0be1)
  • Fix usage of isRemotePlayback when casting (#9251) (9741079)
  • HLS: Allow calculate stream bandwidth using segment size (#9093) (bfec94d)
  • HLS: Allow get better segment size estimations (#9043) (06d92a5)
  • HLS: closeSegmentIndex of EXT-X-IMAGE-STREAM-INF when not necessary (#9070) (9a6cba1)
  • HLS: Determine the duration of an HLS content when it ends live (#9153) (17e3529)
  • HLS: Fix bandwidth detection (#9230) (a384e0c)
  • HLS: Fix handling of multiple audio groups (#9220) (c3ccf8f)
  • HLS: Fix infinite buffering instead of end of stream for live (#9150) (7fa6b95)
  • HLS: Fix label name for audio-only content without EXT-X-MEDIA (#9520) (691e7b5)
  • HLS: Fix playback of EVENT playlist when transition from live to vod (#9054) (830b863)
  • HLS: Fix subtitle codec detection when using MP4 (#9473) (3ab6a96)
  • HLS: Fix support DATERANGE from 1970-01-01T00:00:00.000Z (#9580) (33cf09c)
  • HLS: Improve abort decision logic (#9041) (3205235)
  • HLS: Keep syncTime continuous by using previous value, if available (#9135) (d9e9da3), closes #9086
  • HLS: Remove label for video streams (#9176) (afd9427)
  • HLS: Support PATHWAY-ID (Content Steering) for subtitles (#9442) (2100fd1)
  • HLS: Support playback with gaps (#9506) (25c4539)
  • Improve handling of in-progress content (#9414) (ab16b73)
  • Improve quota exceeded handler (#9130) (99d4a1e)
  • Increase tolerance of completion ratio calculation (#9366) (4b1c3fe), closes #9365
  • LCEVC: Add remove buffer functionality for LCEVCdecJS (#9163) (afd2577)
  • LCEVC: Return early if playerInterface object is destroyed (#9621) (dde661f)
  • Make clearLiveSeekableRange more robust (#9649) (b6a73d4)
  • Make selectVideoTrack more resilient when using HLS with audio groups (#9232) (8a0cdfb)
  • Make setLiveSeekableRange more robust (#9641) (5c013eb)
  • Make sure that all variants are either: audio-only, video-only, or audio-video when preload (#9046) (288c247)
  • Make sure the player is attached when loading a new stream (#9292) (d10c5bc)
  • MSF: Do not re-encapsulate Shaka errors (#9613) (a9df794)
  • MSS: Fix originalId creation in order to avoid duplicated originalId (#9126) (0ff4062)
  • Offline: Fix playback of streams with audio muxed in video (#9229) (ee00301)
  • parseHDLR for Apple QuickTime hdlr box compatibility (#9577) (66b0c74)
  • Prefer disableStream over create a gap when a segment is missing (#9516) (35b8b08)
  • Preload: Do not fetch license if delayLicenseRequestUntilPlayed is set (#9388) (cc73fc5)
  • prevent infinite loop when constructing CMCD relative urls (#9055) (89d12a8), closes #9050
  • Properly assign shaka.extern.DrmInfo#mediaTypes (#9340) (e47c05d)
  • Queue: Fix start time when go to previous item (#9222) (c3cb63f)
  • Return the correct getAudioTracks when only differs the codec (#9178) (00e634c)
  • Return the correct getVideoTracks when only differs the audioId (#9179) (e582fa8)
  • Setup correct video codecs on MSE (#9667) (fd83489)
  • Support use addTextTrackAsync with NativeTextDisplayer (#9122) (cad470c)
  • text track active property when using src= (#9462) (35f187e)
  • text track active property with SRC_EQUALS load mode (#9418) (888f6d3)
  • Thumbnails: Fix thumbnails precision issues (#9536) (b733fe2)
  • Transmuxer: Keep stream width/height if it already exists (#9553) (c7694ca)
  • TTML: Fix MP4 TTML Parser producing invalid image subtitles (#9559) (aaecc07)
  • UI: Add LCEVC label in resolution menu (#9186) (f7c7d2a)
  • UI: Align seek hover and drag time (#9429) (e03b2a9)
  • UI: Allow play in VR in all compatible devices (#9297) (bc0dd79)
  • UI: Always show thumbnail position in the correct place (#9264) (22ad6a6)
  • UI: apply background color only for configured icons (#9121) (07462f8)
  • UI: Avoid layout shift when displaying thumbnails (#9490) (12a3287)
  • UI: Avoid show NaN in ad info (#9284) (3f3a52d)
  • UI: Change AirPlay icon to unfilled variant (#9113) (0c93128)
  • UI: Change Cast icon to unfilled variant (#9250) (beb5f69)
  • UI: Change PiP icon to be consistent with YT (#9118) (fd0b5d2)
  • UI: Change PiP icons to non filled variant (#9106) (da7ceb8), closes #9102
  • UI: Disable VR mode while casting (#9296) (846799b)
  • UI: Don't allow seek with seek on taps when there is a linear ad (#9191) (79f0512)
  • UI: Fix constructed through DOM auto-setup (#9352) (8b6fbbc)
  • UI: Fix error showing resolution list (#9219) (87b44ac)
  • UI: Fix pointer events in some big buttons on small screens (#9650) (99ec36d)
  • UI: Fix position of ad containers (#9077) (ea0ce82)
  • UI: Fix position of elements when using Shaka UI with Bootstrap v5.0 (#9235) (dfb5ebd)
  • UI: Fix position of sub menus (#9485) (0f4e849)
  • UI: Fix position of tooltip on top controls (#9236) (965e88e)
  • UI: Fix seek on taps position in CSS (#9192) (46b8dbe)
  • UI: Fix show Ad Stats button when it's not necessary (#9525) (9b728fd)
  • UI: Fix show Replay button on big play when there is not loaded video (#9234) (79e94a9)
  • UI: Fix show seek bar ad markers (#9155) (624e13b)
  • UI: Fix use of text selection component with old cast receivers (#9262) (adc4e12)
  • UI: Fix video poster setup when using CastProxy on audio only streams (#9252) (9f68f8b)
  • UI: Improve image quality on posters (#9373) (a04d084)
  • UI: Make Overflow/Settings Menu position dynamic (#9395) (da7bb4d)
  • UI: Make top controls clickable when playing an ad (#9241) (a131576)
  • UI: Only setup the poster on local video (#9263) (a94fa3f)
  • UI: Only show ad containers if they have child nodes (#9156) (ccf0755)
  • UI: Prevent PiP window size issues by using relative sizing (#9633) (248b831)
  • UI: Respect prefers-reduced-transparency for big play button (#9104) (17c2b0b)
  • UI: Respect prefers-reduced-transparency for tooltips and seekbar times (#9057) (cd2b6d4)
  • UI: Show always thumb indicator in the seekbar (#9167) (872e465)
  • UI: Show Dolby Vision text for any DV codec (#9487) (38054c9)
  • UI: Show forced subtitles in subtitle selector (#9441) (98895ce)
  • UI: Show hours in time statistics (#9410) (2ceeec3)
  • UI: Support non-square pixels in getResolutionLabel_ (#9300) (3143505)
  • UI: Update chapters button on live (#9560) (ee97007)
  • UI: Update chapters marks on live (#9509) (ee859a6)
  • UI: Use the same icon in big and small play buttons (#9304) (a5c2c4f)
  • Use timeupdate event for buffering states (#9445) (06793e4), closes #9438
  • Validate prefetched variant in preload manager (#9213) (0890c2c)
  • webOS: Disable smooth codec switch on webOS (#9273) (578c087)
  • WebOS: Script-errors on WebOS when detecting HDR support (#9604) (ceb01dc)
  • WebVTT: Fix lines starting with spaces don't break correctly (#9069) (f2b5034)
  • WebVTT: Fix lines starting with spaces don't break correctly (#9100) (2eb3b0a)
  • WebVTT: Fix times when using HLS without X-TIMESTAMP-MAP (#9313) (72955e0)
  • Xbox: Enable little-endian PlayReady key IDs to resolve DRM error (#9348) (eed8573)
  • Xbox: Implement requiresClearAndEncryptedInitSegments method for xbox (#9254) (3290498)
  • Xbox: Report buffer satisfied if time is progressing (#9397) (cab5207)

Performance Improvements

  • ABR: Minor performance optimization in EWMA alpha calculation (#9623) (7faa386)
  • ABR: Try to suggest new streams after enable (#9177) (f702e55)
  • Ads: Detect earlier initial preloadError in order to increase the performance when using supportsMultipleMediaElements = false (#9666) (dbcf5ac)
  • Ads: Improve back to live performance when using interstitials and low latency (#9079) (f2aca29)
  • Ads: Lazy initialization of SVTA ad manager (#9350) (2f36d4f)
  • Allow update the segments on streaming engine more often (#9398) (afc91ce)
  • boundary: Call MSE reset only on leading content type. (#9598) (be34778)
  • CEA: Remove captions attached to removed segments (#9068) (f128e22)
  • Chapters: Check does parser exist before fetching chapters track (#9204) (ed70317)
  • Close media source only on audio(not muxed)/video updates (#9152) (74915ce)
  • Close segment index after 5 seconds without usage of getThumbnails (#9071) (a503034)
  • HLS: Assume that partial segments have the same mimetype as full segments (#9080) (a2b936f)
  • HLS: Optimise manifest text parser (#9131) (2146c81)
  • HLS: Optimize mimetype resolution during parsing (#9088) (72a9fdb)
  • HLS: Reduce redundant parser calls (#9066) (a36fb32)
  • HLS: Use find instead of filter to get attributes (#9405) (526d6e0)
  • Improve startup performance of LiveSeekableRange operations (#9665) (2562fcb)
  • Minor performance optimizations in TXml text processing and root lookup (#9622) (793749a)
  • Optimize restrictions check (#9261) (1dde5c7)
  • Prefer Uint8Array's {to,from}{Base64,Hex} methods (#9472) (2154049)
  • Remove unnecessary ABR update during load (#9029) (d465feb)
  • Speed up shaka.Player.probeSupport() (#9095) (3c0e932)
  • UI: Combine consecutive configure calls (#9049) (f8db982)
  • Use Map.getOrInsert/getOrInsertComputed native methods (#9546) (05b0972)

Reverts

  • Revert "fix(HLS): Keep syncTime continuous by using previous value, if available (#9135)" (#9425) (60d58c4)
  • Revert "fix(UI): Align seek hover and drag time (#9429)" (#9447) (f751ccb)

Don't miss a new shaka-player release

NewReleases is sending notifications on new releases.