Please avoid top posting on this list.

On Mon, 2010-01-11 at 13:44 -0800, Sean McAllister wrote:
> Interestingly, the time_base coming out of my AVCodecContext for my audio
> stream seems to be zero, what do you make of that?
> 
> Sean
> 
> On Mon, Jan 11, 2010 at 12:30 AM, Tomas Härdin 
> <[email protected]>wrote:
> 
> > On Sun, 2010-01-10 at 16:27 -0800, Sean McAllister wrote:
> > > How consistent are the sizes of audio packets that come out of an audio
> > > decoder?  I'm seeing packets that
> > > are consistently 4800 samples, but I'm curious if this is something
> > that's
> > > reliable or if it can vary packet-to-packet (eg: if it's a VBR codec).
> > > I'm basically curious whether, if I know the packet size, and number of
> > > packets, I can turn that into a time in seconds.
> > >
> > > Sean
> > > _______________________________________________
> > > libav-user mailing list
> > > [email protected]
> > > https://lists.mplayerhq.hu/mailman/listinfo/libav-user
> >
> > That depends on the codec. Check out AVCodecContext::frame_size. If it
> > is greater than one (1) then each packet contains a constant amount of
> > samples. If not, then you probably have a PCM or other special codec,
> > which means no guarantees.
> >
> > I suspect you're better off relying on the timestamps given by the
> > demuxer, unless you don't have one. Otherwise just use the number of
> > samples given so far, with time_base equal to the one your decoder uses
> > (48 kHz for instance). I wouldn't rely on frame_size, even if
> > consistent.
> >
> > Ah, and also note that you can get more than one frame of audio from
> > each packet if the return value of avcodec_decode_audio3() is less than
> > the size of the packet.
> >
> > /Tomas
> >

Hm. Try setting time_base and/or sample_rate based on the values given
by the demuxer before opening the decoder.

/Tomas

_______________________________________________
libav-user mailing list
[email protected]
https://lists.mplayerhq.hu/mailman/listinfo/libav-user

Reply via email to