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

Make switching between layers seamless (without any freezes or artifacts) #100

Open
daniel-abramov opened this issue Jan 12, 2023 · 0 comments
Assignees
Labels
T-Enhancement New feature or request

Comments

@daniel-abramov
Copy link
Contributor

daniel-abramov commented Jan 12, 2023

Sometimes when we switch between layers, there is a freeze of up to 2 seconds. Sometimes instead of a frozen picture, one can observe a short glitch for half a second. This happens because when we switch between the layers, we must get a keyframe to ensure smooth playback. We do request a new keyframe, but it may take some time until we get one (2 RTT + processing).

We do not store the previous keyframes (and should not), however, what we could do is implement a logic where when we switch the layer, we continue to send frames on a previously selected layer (as if the layer was not switched) up until we get the new keyframe on a layer that we wanted to switch to. Once the keyframe is received, we switch to the newest layer.

That way there won't be any glitches observed during the switch.

I.e. when switching simulcast layers, we must make sure that the first packet after switch is a key frame

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
T-Enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant