[vorbis-dev] Multiplexing problems

rillian rillian at telus.net
Tue Jun 12 21:12:37 PDT 2001



On Tuesday, June 12, 2001, at 08:39 , Scott wrote:

> Does someone have a simple example of encoding (intializing and
> multiplexing) an OGG and non-OGG logical stream?

You mean a vorbis and non-vorbis logical stream? I made some efforts in 
this direction [1] but the only part that actually works is embedding a 
mng file in an ogg bitstream.

> I have successfully managed to do this to some extent.  During the
> playback I am able to identify the change in sections from the second
> stream.  However I am unable to retrieve the data as only one logical
> stream is being found by the API and subsequently fails out on
> identifying the page/packet.

You can't use libvorbisfile at all for this. There's no multiplexing 
code in the libraries at all; you have to write your own. We want to 
have it at some point, so feel free to write a nice one. :)

Basically, you have to use libogg directly to parse each page. Look at 
the header packets to associate each logical bitstream id with its 
appropriate handler, and then hand the packets off manually to the 
proper decoders based on the bitstream id of each page.

Encode is considerably simpler; we've not worked out any guidelines for 
interleaving, so basically you can just write out pages from each of the 
input bitstreams in whatever order you please. (so long as you follow 
the spec about headers and end-of-stream pages being together, of course)

Hope that's of some help,
  -ralph

[1] http://snow.thaumas.net/ogg/src/oggmerge/

--- >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