[FFmpeg-devel] [PATCH] make analyze_duration work for streams with incomplete timestamps (mp3)

Michael Niedermayer michaelni
Mon Sep 14 01:55:06 CEST 2009

On Sun, Sep 13, 2009 at 12:41:09PM +0200, Reimar D?ffinger wrote:
> Hello,
> currently max_analyze_duration does not work for e.g.
> because the mpeg audio parser is very
> thorough in making a mess of timestamps.
> Basically, only every 4th packet has a timestamp and thus none at all
> have any duration.
> Attached patch handles this case by using the difference between the
> minimum and current dts for comparing against max_analyze_duration when
> we have no other duration info.

i think your code introduces a nasty bug, namely it fails fatally in case
of positive timestamp discontinuities, that is the code retunrns before its done
also we already have the last_dts table that could be used but really i dont
think this is the correct solution

the correct solution IMHO is to set duration, and actually i would naively
expect compute_frame_duration)()/get_audio_frame_size() to do so, but it seems
that its not otherwise this issue wouldnt exist ...

Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Asymptotically faster algorithms should always be preferred if you have
asymptotical amounts of data
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20090914/eaac9a55/attachment.pgp>

More information about the ffmpeg-devel mailing list