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@xiph.org'
containing only the word 'unsubscribe' in the body. No subject is
needed.
Unsubscribe messages sent to the list will be ignored/filtered.