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

Media pipeline timing for currentTime and ended properties of HTMLMediaElement #6

Open
JohnRiv opened this issue Jun 1, 2020 · 2 comments
Labels
Timing Timing issues

Comments

@JohnRiv
Copy link
Member

JohnRiv commented Jun 1, 2020

Migrated from w3c/webmediaporting#30:

If the hardware media pipeline has a 80-150-250-750ms latency/delay between encoded samples entering the beginning and decoded data leaving the output & being visible/audible, what time is measured by the MediaElement currentTime property?

When would the ended event be fired – when the data for the last frame/sample enters the pipeline or perhaps 750ms later when it leaves the media pipeline?

Does it make any difference if video and graphics take separate paths through some of this pipeline and are then combined to pass through the remainder of it. (TVs typically have a low latency mode for gaming where the latency could be <40ms or even <20ms. Media consumption is however typically done with the media pipeline configured differently and having a higher latency. 750ms is however an extremely pessimistic example).

@JohnRiv JohnRiv added the Timing Timing issues label Jun 1, 2020
@fghilardi
Copy link
Contributor

Chrome's Media Stack (c/o @sandersdan from w3c/webmediaporting#30 (comment))

currentTime: currentTime is the target time for rendered output. There is additional latency in the output path, but decoding latency is not a factor.

@sandersdan
Copy link

ended should be fired when currentTime reaches duration. It's not really JS-exposed whether if there is still output occurring, but for example gl.texImage2D(video) should provide the last frame if ended has been fired (same rule as gl.texImage2D(video) must return the frame matching currentTime if the video is paused).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Timing Timing issues
Projects
None yet
Development

No branches or pull requests

3 participants