Skip to content

Workaround Chrome silent coded frame eviction - #7807

Merged
robwalch merged 1 commit into
masterfrom
bugfix/mp4-pts-overlap-chrome-coded-frame-eviction
Apr 17, 2026
Merged

Workaround Chrome silent coded frame eviction#7807
robwalch merged 1 commit into
masterfrom
bugfix/mp4-pts-overlap-chrome-coded-frame-eviction

Conversation

@robwalch

@robwalch robwalch commented Apr 17, 2026

Copy link
Copy Markdown
Collaborator

This PR will...

Workaround Chrome silent coded frame eviction by removing later segments from buffer when PTS overlap is detected.
Group UA checks into a utility module.

Why is this Pull Request needed?

Chrome does not update buffered ranges in certain cases where coded frame eviction is performed due to presentation timestamps overlapping on append. Because of this, hls.js will not reload and re-append the segments with those frames. The HTMLVideoElement plays through these ranges without rendering any updates to the video. As a result video appears frozen until the next video keyframe.

Are there any points in the code the reviewer needs to double check?

Resolves issues:

Resolves #6777

Checklist

  • changes have been done against master branch, and PR does not conflict
  • new unit / functional tests have been added (whenever applicable)
  • API or design changes are documented in API.md
…nts from buffer when PTS overlap is detected

Resolves #6777
@robwalch
robwalch force-pushed the bugfix/mp4-pts-overlap-chrome-coded-frame-eviction branch from 1b78235 to 507df1b Compare April 17, 2026 03:53
@robwalch
robwalch merged commit 2a1961a into master Apr 17, 2026
49 of 52 checks passed
@robwalch
robwalch deleted the bugfix/mp4-pts-overlap-chrome-coded-frame-eviction branch April 17, 2026 23:36
@github-project-automation github-project-automation Bot moved this from Top priorities to Done in HLS.js Release Planning and Backlog Apr 17, 2026
robwalch added a commit that referenced this pull request Apr 23, 2026
Fix handling of audio fragment parsing error prior to appending init-segment
robwalch added a commit that referenced this pull request Apr 23, 2026
* Make part.gap writable and handle part muxing errors as gaps
* Fix regression in part picking introduced in #7797
* Fix regression in fmp4 endPTS parsing introduced in #7807
* Fix handling of audio fragment parsing error prior to appending init-segment
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

1 participant