[ogg-dev] Re: Embedding int32's within threora & vorbis files

Ian Malone ibmalone at gmail.com
Mon Aug 13 01:06:41 PDT 2007

On 13/08/07, Silvia Pfeiffer <silviapfeiffer1 at gmail.com> wrote:
> On 8/11/07, Paul Griffiths <gafferuk at gmail.com> wrote:
> > Paul Griffiths <gafferuk <at> gmail.com> writes:

> > >
> > > Thanks for the info, been looking at OggPCM wiki, but where can I get at the
> > > source? I can't use cvs on this machine so a direct link would be great.
> > >
> >
> > What I really am looking for is a codec base example to work from?
> > Just an example of a non compressing codec which just stores bytes from a
> > buffer.
> >

> What do you want to use OggPCM for? Why not use AU or WAV?
> I can only see an advantage in using OggPCM if you want it annotated
> using CMML or want to mix it with another codec, such as Theora.

The OP's original desire was to be able to incorporate
integers at intervals into an Ogg stream alongside
Vorbis or Theora.

I'm not aware of an existing OggPCM implementation, however
it's fairly simple as there's little decoding required, just
extraction of packets from the Ogg stream.  So:

1. Create a codec spec based on OggPCM, defining a
discontinuous codec.  Give it a different packet identifier.
2. Add this identifier to the demuxer of the player that you're
working with.
2a. At an appropriate point in codec recognition check the
stream contains the correct datatype (as it would be a good
thing to keep OggPCM's support for different number formats).
3. Write a routine to unpack your integers from the OggNumber
(or whatever you've called it) codec.
4. Can't help here as I don't know what it's for or what player
framework you're using. You need to provide a notification
upon receipt of an integer.

On the mux side you need to be able to work out the
stream time point and inject the page at the appropriate
time.  liboggz can probably do that nicely for you.


More information about the ogg-dev mailing list