[vorbis-dev] Carrying non-audio data in an Ogg/Vorbis I stream

Alejandro G. Belluscio baldusi at uol.com.ar
Tue Oct 29 02:01:18 PST 2002



Hello Tor-Einar,

Tuesday, October 29, 2002, 5:43:47 AM, you wrote:

TEJ> Mandag, 28 oktober 2002, skrev du:

>>I don't understand how per-packet metadata makes any difference
>>here. The demux happens at the Ogg level, and yes it has too peek at
>>the headers to see which codec to hand each stream to. How is that
>>different?

TEJ> The JMF is a "pluggable" API, where demultiplexing and decoding
TEJ> is completely separated, and the different plugins are unaware of
TEJ> eachother. A demultiplexer plugin must take an input stream and
TEJ> split it into any number of output streams, and it also has to
TEJ> determine the content type of each output stream, and if there
TEJ> are more output streams, which are to be synchronized, each
TEJ> output stream has to know its current media time.

TEJ> With the Ogg file format, this causes at least the following
TEJ> problems:

TEJ> - Since the demux has to know the content type of each resulting
TEJ> output stream, the Ogg demux has to contain logic, to "peek" into
TEJ> the logical streams and try to determine the content type,
TEJ> although these steps are completely separated in the API, and the
TEJ> demux should not really be concerned about the actual content.

TEJ> - The demux has to know quite a lot about the content format to
TEJ> be able to tell the current media time. In Ogg/Vorbis, the time
TEJ> for an audio packet is calculated using the granule position in
TEJ> the ogg framing, the sample rate and the number of PCM samples in
TEJ> each audio packet. Without parsing the Vorbis stream, the demux
TEJ> is not able to determine the sample rate and the number of
TEJ> samples in each packet.

I don't see why a demux plug-in must know what media is each stream.
But I don't know jack, so never mind. What might be useful is reading
this Monty rant. And participating in the Theora Dev List which is
were this things are discused.
http://www.xiph.org/archives/theora-dev/200209/0040.html
This is because vorbis I file, by specification is a degenerate ogg
file. So if you're interested in amultiplexed ogg, you need to see the
Theora framework which deals specifically with it.

Regards,
Alejandro Belluscio

<p>--- >8 ----
List archives:  http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/
To unsubscribe from this list, send a message to 'vorbis-dev-request at xiph.org'
containing only the word 'unsubscribe' in the body.  No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.



More information about the Vorbis-dev mailing list