[Ffmpeg-cvslog] r8424 - trunk/libavformat/utils.c

Baptiste Coudurier baptiste.coudurier
Tue Mar 20 13:38:27 CET 2007


Michael Niedermayer wrote:
> Hi
> 
> On Tue, Mar 20, 2007 at 12:46:05PM +0100, Baptiste Coudurier wrote:
>> Michael Niedermayer wrote:
>>> Hi
>>>
>>> On Tue, Mar 20, 2007 at 11:06:34AM +0100, Baptiste Coudurier wrote:
>>>> Baptiste Coudurier wrote:
>>>>> Hi
>>>>>
>>>>> michael wrote:
>>>>>> Author: michael
>>>>>> Date: Fri Mar 16 23:59:45 2007
>>>>>> New Revision: 8424
>>>>>>
>>>>>> Modified:
>>>>>>    trunk/libavformat/utils.c
>>>>>>
>>>>>> Log:
>>>>>> add a delay variable to hold the timestamp buffer size
>>>>>> set cur_dts correctly for delay>1
>>>>>>
>>>>>> [...]
>>>>>> @@ -611,8 +612,7 @@ static void compute_pkt_fields(AVFormatC
>>>>>>      }
>>>>>>  
>>>>>>      if(st->cur_dts == AV_NOPTS_VALUE){
>>>>>> -        if(presentation_delayed) st->cur_dts = -pkt->duration;
>>>>>> -        else                     st->cur_dts = 0;
>>>>>> +        st->cur_dts = -delay * pkt->duration;
>>>>>>      }
>>>>>>  
>>>>> Would adding a check for pkt->duration != AV_NOPTS_VALUE hurt here ?
>>>> err read != 0, Im not yet awake.
>>> yes it would hurt, all code afterwards assumes cur_dts != AV_NOPTS_VALUE
>> So, what the code should do ?
> 
> what it does probably
> 
> 
>> Lavf behaviour changed, old code returned pts to AV_NOPTS_VALUE,
>> which is obviously more correct than always 0.
> 
> always returning AV_NOPTS_VALUE is hardly more correct, also the change
> you quote does not cause this

IMHO AV_NOPTS_VALUE at least indicate that value is not
set/present/valid, 0 means a valid timestamp of 0.

After checking it seems to be r8428, it seems at least one of
dts/pts/duration
needs to be available to compute pts/dts.

> you will have to send a proper bugreport or debug it yourself like everyone
> else too i cant guess which codecs and containers you used ...

Right, sure, SWF/zeldaADPCM2bit.swf, should I use another thread ?
Audio has no timestamps and frame size for adpcm is not computed,
situation is a bit special.

-- 
Baptiste COUDURIER                              GnuPG Key Id: 0x5C1ABAAA
SMARTJOG S.A.                                    http://www.smartjog.com
Key fingerprint                 8D77134D20CC9220201FC5DB0AC9325C5C1ABAAA
Phone: +33 1 49966312




More information about the ffmpeg-cvslog mailing list