[FFmpeg-devel] [PATCH] lavf/mov.c: Set duration to zero if the duration is UINT_MAX

Sasi Inguva isasi at google.com
Thu Nov 3 20:06:28 EET 2016


ping.

Thanks!

On Mon, Oct 31, 2016 at 10:25 PM, Sasi Inguva <isasi at google.com> wrote:

> For MP4F files , stream duration is updated by the sum of duration of
> moof's http://git.videolan.org/?p=ffmpeg.git;a=blob;f=libavformat/mov.c;h=
> 414007e7aa128aa66e07395b42c0cd4b369b3146;hb=HEAD#l4193  , only if the
> duration in the header is less than that. Normally duration field in header
> is 0, so this is ok. But some MP4F files have it set to UINT_MAX , like the
> example I have uploaded.
>
> On Mon, Oct 31, 2016 at 5:16 PM, Yusuke Nakamura <
> muken.the.vfrmaniac at gmail.com> wrote:
>
>> 2016-10-27 4:40 GMT+09:00 Sasi Inguva <isasi-at-google.com at ffmpeg.org>:
>>
>> > Fixes some MP4F files which have duration in mdhd set to UINT_MAX
>> instead
>> > of zero.
>> >
>>
>> What does this patch fix?
>>
>>
>> >
>> > Signed-off-by: Sasi Inguva <isasi at google.com>
>> > ---
>> >  libavformat/mov.c | 5 +++++
>> >  1 file changed, 5 insertions(+)
>> >
>> > diff --git a/libavformat/mov.c b/libavformat/mov.c
>> > index 357d800..245e424 100644
>> > --- a/libavformat/mov.c
>> > +++ b/libavformat/mov.c
>> > @@ -1221,6 +1221,11 @@ static int mov_read_mdhd(MOVContext *c,
>> AVIOContext
>> > *pb, MOVAtom atom)
>> >      sc->time_scale = avio_rb32(pb);
>> >      st->duration = (version == 1) ? avio_rb64(pb) : avio_rb32(pb); /*
>> > duration */
>> >
>> > +    if ((version == 1 && st->duration == UINT64_MAX) ||
>> > +        (version != 1 && st->duration == UINT32_MAX)) {
>> > +        st->duration = 0;
>> > +    }
>> > +
>> >      lang = avio_rb16(pb); /* language */
>> >      if (ff_mov_lang_to_iso639(lang, language))
>> >          av_dict_set(&st->metadata, "language", language, 0);
>> > --
>> > 2.8.0.rc3.226.g39d4020
>> >
>> > _______________________________________________
>> > ffmpeg-devel mailing list
>> > ffmpeg-devel at ffmpeg.org
>> > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>> >
>> _______________________________________________
>> ffmpeg-devel mailing list
>> ffmpeg-devel at ffmpeg.org
>> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>>
>
>


More information about the ffmpeg-devel mailing list