Re: current_granulepos-first_granulepos ?

"Conrad Parker" <[email protected]>
Newsgroups gmane.comp.multimedia.ogg.theora.devel
Message-ID <[email protected]>
2008/6/23 Jim Smith <[email protected]>:
> Hi,
>
> Is it correct to assume that after I get the headers of a stream like theora
> or vorbis the packet time can be computed as
>
> current_granulepos-first_granulepos ?
>
> This would give me the difference between the first media packet that is not
> a
> header and the current packet I decoded most recently. In a live stream I
> would have a
> clock from this calculation starting at zero.

not quite, because the first_granulepos denotes the time of the end of
the last packet in the first page -- if there are many packets in the
first page (as is common for vorbis), then there will be a difference
between the time of the start of the stream and first_granulepos.

Shane Stephens wrote some (nasty) code for calculating this for vorbis
etc. (in http://trac.annodex.net/browser/liboggz/trunk/src/liboggz/oggz_auto.c).
Of course I'd suggest you just use liboggz rather than re-implementing
that.

cheers,

Conrad.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.