-
Notifications
You must be signed in to change notification settings - Fork 20
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
What is the impact of timestamp for video frames enqueued in VideoTrackGenerator? #96
Comments
This relates to the somehow bigger issue in #88. |
I think out of order behaviour is probably necessary in order to support the full range of NACK/RTX functionality in javascript. |
I did an experiment on Chrome, capturing a track from a camera, encoding RVFC spec says that |
VideoTrackGenerator should probably not care about It is then up to each sink to determine what to do with the VideoFrame timestamp. Given track->MSTP->pipeTo->VTG->RVFC should be the same as track->RVFC, we could have the following rules:
I think 1, 2, 3 and 4 are aligned with @aboba Chrome's testing but this does not seem described anywhere. Looking at the sink side in Safari,
|
Chrome's internal VideoFrames have their timestamp directly sourced from Both RtpSender and MediaRecorder prefers to use the capture time if present, otherwise
I think HTMLVideoElement uses the internal timestamp to smooth out playback, @drkron can you shed some light? |
VideoTrackGenerator enqueues VideoFrame objects which have a timestamp.
As per existing WPT tests, timestamps are expected to be preserved when doing VideoTrackGenerator->MediaStreamTrackProcessor.
This would mean that a web application is free to enqueue video frames with non increasing timestamps, say 1, 2, 4 and then back to 1 and 3.
Another approach would be for VideoTrackGenerator to consider that timestamp of a frame is the time it gets enqueued.
The text was updated successfully, but these errors were encountered: