[FFmpeg-devel] [PATCH 1/5] avfilter/af_afade: fix crossfade duration maximum value

Marton Balint cus at passwd.hu
Mon Oct 1 20:37:09 EEST 2018



On Mon, 1 Oct 2018, Paul B Mahol wrote:

> On 10/1/18, Marton Balint <cus at passwd.hu> wrote:
>>
>>
>> On Mon, 1 Oct 2018, Paul B Mahol wrote:
>>
>>> On 9/30/18, Marton Balint <cus at passwd.hu> wrote:
>>>> Signed-off-by: Marton Balint <cus at passwd.hu>
>>>> ---
>>>>  libavfilter/af_afade.c | 4 ++--
>>>>  1 file changed, 2 insertions(+), 2 deletions(-)
>>>>
>>>
>>> Why?
>>>
>>> Value is too big.
>>
>> AV_OPT_TYPE_DURATION is microsecond precision, therefore 60 is 60 usecs.
>> Probably you meant 60 seconds as limit. That is what the patch fixes.
>
> I do not think so. Duration is interpreted as seconds, look how
> variable is used in code.

As far as I see duration is rescaled from AV_TIME_BASE (microseconds) to 
sample_rate time base:

if (s->duration)
      s->nb_samples = av_rescale(s->duration, outlink->sample_rate, AV_TIME_BASE);

Duration is parsed as seconds (can be fractional as well), but internally 
it is stored as microseconds (int64). Another example is the f_realtime 
filter where the sleep time limit default according to the documentation 
is 2 seconds and it is expressed as 2000000 in the code.

Regards,
Marton


More information about the ffmpeg-devel mailing list