[FFmpeg-devel] [PATCH] lavfi/atempo: Avoid false triggering an assertion failure

Marton Balint cus at passwd.hu
Wed Aug 30 23:00:02 EEST 2017


On Mon, 19 Dec 2016, Marton Balint wrote:

>
> On Sat, 17 Dec 2016, pkoshevoy at gmail.com wrote:
>
>> From: Pavel Koshevoy <pkoshevoy at gmail.com>
>>
>> Steps to reproduce:
>> ./ffmpeg_g -f s16be -i /dev/null -af atempo=0.5 -y /tmp/atempo.wav
>> ---
>> libavfilter/af_atempo.c | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/libavfilter/af_atempo.c b/libavfilter/af_atempo.c
>> index 59b08ec..a487882 100644
>> --- a/libavfilter/af_atempo.c
>> +++ b/libavfilter/af_atempo.c
>> @@ -914,8 +914,8 @@ static int yae_flush(ATempoContext *atempo,
>>
>>     atempo->state = YAE_FLUSH_OUTPUT;
>> 
>> -    if (atempo->position[0] == frag->position[0] + frag->nsamples &&
>> -        atempo->position[1] == frag->position[1] + frag->nsamples) {
>> +    if (atempo->position[0] >= frag->position[0] + frag->nsamples &&
>> +        atempo->position[1] >= frag->position[1] + frag->nsamples) {
>>         // the current fragment is already flushed:
>>         return 0;
>>     }
>
> Thanks, this indeed fixes the assertion I came accross.

Hmm, this patch seems to cause cut off data at the end, as reported in 
https://trac.ffmpeg.org/ticket/6540

Pavel, would you mind taking a look?

Thanks,
Marton


More information about the ffmpeg-devel mailing list