[FFmpeg-devel] [PATCH] flv duration

Howard Chu hyc
Thu Apr 1 22:01:56 CEST 2010


Michael Niedermayer wrote:
> On Thu, Apr 01, 2010 at 02:28:11AM -0700, Howard Chu wrote:
>> When playing an FLV, you always see this message:
>>
>> [flv @ 0x120cea0]Estimating duration from bitrate, this may be inaccurate
>>
>> even if the FLV metadata provides the duration. I'd been ignoring this for
>> the most part, but after someone else mentioned it on irc I decided to take
>> a look. The FLV demux sets the AVFormatContext->duration based on the
>> metadata, but the av_has_duration() function wants to see it set in one of
>> the AVStreams. It looks to me like it does no harm one way or the other,
>> but I wrote this patch just to shut up that diagnostic.
>>
>> --
>>    -- Howard Chu
>>    CTO, Symas Corp.           http://www.symas.com
>>    Director, Highland Sun     http://highlandsun.com/hyc/
>>    Chief Architect, OpenLDAP  http://www.openldap.org/project/
>
>> Index: libavformat/flvdec.c
>> ===================================================================
>> --- libavformat/flvdec.c	(revision 22757)
>> +++ libavformat/flvdec.c	(working copy)
>> @@ -192,9 +192,16 @@
>>           } else if(amf_type == AMF_DATA_TYPE_NUMBER) {
>>               snprintf(str_val, sizeof(str_val), "%.f", num_val);
>>               av_metadata_set(&s->metadata, key, str_val);
>> -            if(!strcmp(key, "duration")) s->duration = num_val * AV_TIME_BASE;
>> -            else if(!strcmp(key, "videodatarate")&&  vcodec&&  0<= (int)(num_val * 1024.0))
>> +            if(!strcmp(key, "duration")) {
>
>> +                s->duration = num_val * AV_TIME_BASE;
>> +                s->streams[0]->duration = num_val * 1000;
>
> you dont need to set s->duration

I just kept that since the original code did it. But ok, will remove that. 
(Why was the original code doing it then?)
-- 
   -- Howard Chu
   CTO, Symas Corp.           http://www.symas.com
   Director, Highland Sun     http://highlandsun.com/hyc/
   Chief Architect, OpenLDAP  http://www.openldap.org/project/



More information about the ffmpeg-devel mailing list