Commit Graph
9 Commits
Author SHA1 Message Date
Rob WalchandRob Walch 074821e317 Update chai, sinon, mocha, and wrangler dependencies with compatibility fixes
Replaces #7558
2026-02-09 13:45:41 -08:00
Rob WalchandGitHub 128d6fd33e Handle MEDIA_SOURCE_REQUIRES_RESET with adaptation and reset (#7702)
* Handle `MEDIA_SOURCE_REQUIRES_RESET` with variant switch, switch to SDR, and reset media source error action and flags
Fixes #7535 with unsupported HLG only variants
Follow-up to #7699 and #7697

* Do not recover from MediaSource close while attached following fatal append error

* Add media error event logging
Related to #7116

* Use add/remove event listener helpers in buffer-controller
2026-01-29 12:04:50 -08:00
Chris TriantafilisandRob Walch e1a424fe4f refactor: route MediaSource close through error flow 2026-01-23 13:24:51 -08:00
Chris TriantafilisandGitHub 51725fcc81 fix: handle page restoration from bfcache in Safari (#7683) 2026-01-15 17:31:27 -08:00
Rob WalchandGitHub a19f42425d Interstitials improvements and fixes (#7425)
* Interstitials improvements
- Fix DateRange mapping in Live with fragment reference sliding (use `frag.setStart` over `frag.start =` to update tagAnchor ref)
- Skip gaps between interstitial assets
- Make MEDIA_ATTACHED async on transferMedia (this.media undefined in id3-track-controller onMediaAttached otherwise)
- Add metadata cue timing to assets for better event timing
- Removed unnecessary conditionals in changed files (added looser typing in cases where object[index] result may be undefined)
Fixes #7426

* Fix `fragment.byteLength` with no byte range

* Load next asset m3u8 on asset-list loaded (w/o append-in-place)

* Prevent schedule from advancing past interstitials loading asset-lists (with no duration)

* Handle append-in-line interstitials with shorter that playout-limit fill

* Advance asset player buffering on asset error prior to starting interstitial

* Update asset duration on first playlist update

* Workaround asset buffered to end edge cases

* Do not flush when QuotaExceededError is received by asset players while playing primary

* Handle seeking to unplayable range caused by truncated interstitial
2025-08-04 15:41:12 -07:00
Rob WalchandGitHub f70ecdc631 Supplemental codecs support (#7095)
* Parse supplemental codecs and skip auto selection when support check fails
#5558

* Add parsed supplemental video codec to tracks

* Add supplemental video codec (DoVi fourCC + profile) to codecSet to prevent adaptation across supplemental codecs

* Use supplemental video codec when supported when adding SourceBuffer
Related to #5558

* Add unit test to cover supplemental codec parsing (DoVi 8, DoVi 10, and HDR10+)
2025-03-20 12:37:52 -07:00
Rob WalchandGitHub 305a3a7477 Flush MSE rendering pipeline when crossing video buffer holes with audio (#6972)
* Flush MSE rendering pipeline when crossing video buffer holes with audio
Resolves #5631
* Don't wait to nudge when stalling with waiting event
Fixes #6169
* Add `hls.inFlightFragments` to Hls API. Used to determine if gap-controller should wait for in-flight media segments before seeking over gaps.
2025-01-31 16:23:13 -08:00
Rob WalchandGitHub 2299042f74 Add import/order eslint rules and run npm run lint:fix (#6378) 2024-10-10 07:44:14 -07:00
Rob WalchandGitHub 06f0e755d4 HLS Interstitials Support (#6591) 2024-10-03 15:19:12 -07:00