[theora-dev] How to get the duration of a file or track?
forum at larsontechnologies.com
Mon Aug 27 15:59:44 PDT 2007
Thanks, that will come in handy, because I do eventually need to try to
determine duration of individual frames.
Actually, I phrased my question badly though: What I originally wanted
to know was how to find the total duration of the movie.
Ralph Giles wrote:
> On Thu, Aug 23, 2007 at 07:13:17AM -0400, Ken Larson wrote:
>> I'm starting with the theora player_example.c. I want to be able to
>> determine the duration of the audio/video ahead of time, to be able to
>> display it somewhere.
>> I can't see anything obvious in ogg.h, theora.h, or vorbis.h for this.
> It's a little complicated. First you bisection-search based on the ogg
> page serial numbers to find all the chain segments. Then you read the
> bos pages for each chain segment to identify the codecs and get their
> granulepos mappings. Then you read the first and last data packets for
> each stream in each chain segment and use those to calculate the
> duration of each segment. The length of the ogg stream is the sum of the
> durations of each segment.
>> Can anyone help me with the right place to look to do this?
> You might take a look at liboggplay; it's a convenience library that
> does this for general streams, as well as general playback marshalling.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the theora-dev