[Matroska-devel] Opus in Matroska

Ralph Giles giles at thaumas.net
Sat Sep 22 19:20:22 CEST 2012

On 12-09-22 8:52 AM, Steve Lhomme wrote:

> As for your question, what timecodes do the codec output after a seek
> ? Whatever seek starting point it corresponds to, minus the internal
> delay. For example, seeking at 0ms would output data starting at
> -80ms. Or not output them at all if they are considered garbage.

I'm sorry, I still don't understand what you're describing here. Let's
go back a level.

I am assuming that there are two components in software doing playback
one component, what Moritz called a "splitter", is parsing the
container, and handing blocks of data to the other component. That other
component is the "decoder" which runs the blocks it gets through the
actual codec and hands it back to the player. These components must be
conceptually separate because there are many codecs, and the splitter
needs to be able to talk to them all over a shared interface.

> It's up to the codec and transparent to the container.

How then, can this be true? Is the splitter supposed to ignore the
timestamps it sees, and rely on the decoder to adjust them to account
for pre-roll? I thought in most frameworks the splitter looked at the
timestamps, and expected the decode buffers to be similarly timestamped?


More information about the Matroska-devel mailing list