lavfi/atempo: Avoid false triggering an assertion failure
authorPavel Koshevoy <pkoshevoy@gmail.com>
Mon, 4 Sep 2017 02:44:31 +0000 (20:44 -0600)
committerMarton Balint <cus@passwd.hu>
Wed, 6 Sep 2017 21:57:59 +0000 (23:57 +0200)
Steps to reproduce:
1. revert 4240e5b047379b29c33dd3f4438bc4e610527b83
2. ./ffmpeg -f lavfi -i sine=d=1 -af aselect=e=0,atempo=0.5 -y atempo.wav

Signed-off-by: Marton Balint <cus@passwd.hu>
libavfilter/af_atempo.c

index 9eee8a6..8b214bc 100644 (file)
@@ -914,6 +914,11 @@ static int yae_flush(ATempoContext *atempo,
 
     atempo->state = YAE_FLUSH_OUTPUT;
 
+    if (!atempo->nfrag) {
+        // there is nothing to flush:
+        return 0;
+    }
+
     if (atempo->position[0] == frag->position[0] + frag->nsamples &&
         atempo->position[1] == frag->position[1] + frag->nsamples) {
         // the current fragment is already flushed: