On Sun, 3 Sep 2017, Pavel Koshevoy wrote:

On 08/30/2017 03:01 PM, Pavel Koshevoy wrote:
On Wed, Aug 30, 2017 at 2:00 PM, Marton Balint <c...@passwd.hu> wrote:
On Mon, 19 Dec 2016, Marton Balint wrote:

On Sat, 17 Dec 2016, pkoshe...@gmail.com wrote:

From: Pavel Koshevoy <pkoshe...@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

Sure, but it will probably have to wait until the weekend.

     Pavel.



You can probably revert 4240e5b047379b29c33dd3f4438bc4e610527b83 -- I tried it locally and I no longer see the false assertion trigger it was supposed to fix.  Something must have changed elsewhere.

You can still reproduce the assertion with a sligthly different command line after reverting:

./ffmpeg -f lavfi -i sine=d=1 -af aselect=e=0,atempo=0.5 -y atempo.wav

Regards,
Marton
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to