* 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
* 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
* 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+)
* 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.