Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AV1 change level freeze image until next segment #6355

Open
5 tasks done
Jumaron opened this issue Apr 15, 2024 · 8 comments
Open
5 tasks done

AV1 change level freeze image until next segment #6355

Jumaron opened this issue Apr 15, 2024 · 8 comments
Labels
Browser issue If there is an underlying issue with the browser that hls.js is running on, this tag should be used. Revisit-at-later-release-cycle Will revisit during release cycle indicated by the Milestone Works as expected
Milestone

Comments

@Jumaron
Copy link

Jumaron commented Apr 15, 2024

What version of Hls.js are you using?

v1.5.8

What browser (including version) are you using?

newest Chrome, newest Microsoft Edge

What OS (including version) are you using?

Windows 11

Test stream

No response

Configuration

{default}

Additional player setup steps

No response

Checklist

Steps to reproduce

  1. Insert a Player
  2. Play a playlist including an AV1 video

Expected behaviour

Switch level and flush out the current frame for the new quality

What actually happened?

Audio goes without a change but the video freezes to the next segment and when the next segment arrives it continues playing.

Console output

Play current segment on change (video)

Chrome media internals output

No response

@Jumaron Jumaron added Bug Needs Triage If there is a suspected stream issue, apply this label to triage if it is something we should fix. labels Apr 15, 2024
@Jumaron
Copy link
Author

Jumaron commented Apr 15, 2024

It works in Firefox wow o.0
But it doesn't work in any chromium related one :/

@robwalch
Copy link
Collaborator

robwalch commented Apr 15, 2024

Can you provide more details regarding "flush out the current frame for the new quality"?

Please provide precise steps to reproduce.

If you remove the video buffer at the playhead, video playback will appear frozen until it reaches the next key frame after appending over the playhead.

@Jumaron
Copy link
Author

Jumaron commented Apr 15, 2024

Sorry i meant this one: Instant switching (immediate quality switch at current video position)
Edit: I should note that i use this with addition to VidStack where the error first appeared, but it still insists when using the demo Website for testing.

@robwalch
Copy link
Collaborator

robwalch commented Apr 15, 2024

To avoid dropped frames perform a smooth switch. Chrome does not render frames that are dependent on a keyframe appended earlier than the playhead. This is a browser issue. HLS.js is not responsible for decoding and rendering the media appended to the video SourceBuffer.

@robwalch robwalch added Browser issue If there is an underlying issue with the browser that hls.js is running on, this tag should be used. Works as expected and removed Bug Needs Triage If there is a suspected stream issue, apply this label to triage if it is something we should fix. labels Apr 15, 2024
@robwalch
Copy link
Collaborator

Note that as a workaround you can perform a tiny seek following the buffer appended event.

@robwalch robwalch added the Revisit-at-later-release-cycle Will revisit during release cycle indicated by the Milestone label Apr 15, 2024
@robwalch
Copy link
Collaborator

This is related to #3596. There is some work to report these late appends with partial or under-reported dropped frames. As part of that work we could add the option to perform a nudge (tiny seek) to render video following the append.

@robwalch robwalch added this to the 1.8.0 milestone Apr 15, 2024
@Jumaron
Copy link
Author

Jumaron commented Apr 15, 2024

This is related to #3596. There is some work to report these late appends with partial or under-reported dropped frames. As part of that work we could add the option to perform a nudge (tiny seek) to render video following the append.

I would love if you could implement this 👍
Thanks for keeping the work up your my number 1 solution regarding on-demand video streaming

@Jumaron
Copy link
Author

Jumaron commented Apr 15, 2024

Using it with hls-level-switching works even better just like i would expect thank you very much

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Browser issue If there is an underlying issue with the browser that hls.js is running on, this tag should be used. Revisit-at-later-release-cycle Will revisit during release cycle indicated by the Milestone Works as expected
Projects
None yet
Development

No branches or pull requests

2 participants