[matroska-devel] Re: more questions about libmatroska & CVS

Moritz Bunkus moritz at bunkus.org
Sun Jan 26 20:25:23 CET 2003


> i dont want to interfere but i guess i know what youre talking about. in
> "dshow language" these models are called push and pull. mplayer uses the
> "push" model which means it pushes the data towards the demuxer. libmatroska
> (as well as libmcf) uses the pull model by requesting specific data
> portions.

Yeah, that's what I meant.

> the IOCallback derived class requires its own c-api for finally pushing the
> data to the demuxer. the big problem is that you dont know which parts of
> the matroska file libmatroska wants to read at a specfic moment so in the
> worst case the IOCallbackDerivedClass needs to buffer the whole file.

So... My next question is about the format in general. Does the format
allow for sequential demultiplexing? The way Ogg works? Or does it
require seeking (like AVI for its index)? I'm pretty sure that it won't
need seeking because that makes streaming impossible, and you surely
have thought about that.

What I mean is an approach like Ogg. Here's how it works:

1. application reads data from a source (file, network, whatever)
2. application feeds that data to the Ogg library
3. the Ogg library buffers that data and returns whether or not it has
enough to demultiplex a complete Ogg page
4. if not goto 1

Is that possible for matroska? 

> im not to familiar with mplayer and so on, but i hope i could help

You definitly know what I'm talking about :)

 ==> Ciao, Mosu (Moritz Bunkus)

More information about the Matroska-devel mailing list