[FFmpeg-devel] [PATCH] Check stream time base before using it to set global duration.
Justin Ruggles
justin.ruggles
Thu Feb 3 23:40:18 CET 2011
On 02/03/2011 02:58 PM, Reimar D?ffinger wrote:
> On Wed, Feb 02, 2011 at 03:24:12PM -0500, Justin Ruggles wrote:
>>
>> Fixes Issue 2475.
>> ---
>> libavformat/utils.c | 2 +-
>> 1 files changed, 1 insertions(+), 1 deletions(-)
>>
>
>> diff --git a/libavformat/utils.c b/libavformat/utils.c
>> index 4f51c26..a9d5a70 100644
>> --- a/libavformat/utils.c
>> +++ b/libavformat/utils.c
>> @@ -1823,7 +1823,7 @@ static void av_update_stream_timings(AVFormatContext *ic)
>> end_time = end_time1;
>> }
>> }
>> - if (st->duration != AV_NOPTS_VALUE) {
>> + if (st->duration != AV_NOPTS_VALUE && st->time_base.den) {
>> duration1 = av_rescale_q(st->duration, st->time_base, AV_TIME_BASE_Q);
>> if (duration1 > duration)
>> duration = duration1;
>
> I don't really like that this still leaves applications to deal with an invalid
> time_base.
> Making sure that everything uses av_set_pts_info (patch for that still in limbo)
> and making that function a nop (and just print a warning) for invalid values
> seems more thorough and more user-friendly, though at more effort.
Yes, that seems better.
-Justin
More information about the ffmpeg-devel
mailing list