-
Notifications
You must be signed in to change notification settings - Fork 46
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
Insufficient specification for CodecDelay and Cues #849
Comments
Indeed, Without looking at the code my guess is that these codes were designed before Also The proper seeking would be to a Block with a timestamp of So I think we reached the same conclusion:
The same thing happens with We should probably add a paragraph in the Cues section to mention how |
Looking at existing code:
So it seems we all agree that it should not be used in Cues. Now we have to make proper text to make it explicit. |
It'll copy existing values from Matroska files but also sets them for Opus tracks. There are bug reports that request I also use them for other codecs (mostly DiscardPadding). |
No CodecDelay, DiscardPadding or SeekPreRoll. Fixes ietf-wg-cellar#849 Once merged an errata should be sent to https://www.rfc-editor.org/errata.php#reportnew
CodecDelay
states "This timestamp value MUST be subtracted from each frame timestamp in order to get the timestamp that will be actually played."CueTime
just says "Absolute timestamp of the seek point." But "absolute timestamp" can be interpreted in different ways. The interaction of these two elements is unclear and underspecified. Questions:CueTime
's absolute timestamp value beCluster.Timestamp + Block.Timestamp
, or should it beCluster.Timestamp + Block.Timestamp - CodecDelay
? If the latter, should it also account for any potentialDiscardPadding
in a block group?CodecDelay
? If so, should it also account for any potentialDiscardPadding
in a block group?In my experience cues have not accounted for
CodecDelay
or anyDiscardPadding
. Assuming this is correct, it may also be worth calling out that applications should account forCodecDelay
(andDiscardPadding
if feasible, though that's harder) when usingCueTime
s because it's pretty easy to accidentally skip it.For example, let's say an Opus track is saved with 5 segments with each being 10 seconds long (ignoring any codec delay or padding) with
CueTime
s of 0s, 10s, 20s, 30s, and 40s. It would be technically incorrect for the application to blindly take theseCueTime
s and use them or present them to the user. The actual media times for these segments are be [0, 9.9935] for the first segment, [9.9935, 19.9935] for the second segment, etc. until [39.9935, 49.9935] for the final segment.The text was updated successfully, but these errors were encountered: