[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