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

Revisit question of whether frames need to be ordered on incoming #119

Open
alvestrand opened this issue Aug 26, 2021 · 1 comment
Open
Labels
TPAC 2022 For discussion at TPAC

Comments

@alvestrand
Copy link
Contributor

The example use case is when you want to do a jitter buffer in Javascript; you want to have maximum time available for out-of-order frames to arrive, but you want to have the option to decide to display a frame while skipping the late one.

The opposite argument is that out of order is hard to handle, and most devs won't do a good job of handling it.

Possibly we need configuration variables for controlling this?

@aboba aboba added the TPAC 2022 For discussion at TPAC label Sep 2, 2022
@englishm-mux
Copy link

My sense is that providing unordered frames would provide developers with the most flexibility to develop applications with the lowest possible latency. If I understand correctly, application code will already need to tolerate lost frames, so tolerating out of order frames doesn't seem like it would impose too much more burden.

Offering a configurable buffer as an alternative interface could make things simpler for developers who don't wish to have as much control or don't require such low latency, but that could also be done in Javascript.

Besides the question of the usability and affordances of the interface, are there relevant tradeoffs with regard to overall memory footprint whether a jitter buffer is owned by the browser or by Javascript code?

The one reason I could see this as a "footgun" is that for some (many?) use cases, out of order frames may not occur often enough to be noticeable and therefore developers may mistakenly assume the interface guarantees ordered frames. This could be mitigated by being explicit in the specification and API documentation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
TPAC 2022 For discussion at TPAC
Projects
None yet
Development

No branches or pull requests

3 participants