]> git.sesse.net Git - ffmpeg/blobdiff - libavfilter/af_atempo.c
avfilter/af_dcshift: add direct path
[ffmpeg] / libavfilter / af_atempo.c
index d90910598c103aeb9b5c0a4c426ffe96beb4baa2..944df1dd32f2cc8b87493ab73d21c9535d1a47a4 100644 (file)
@@ -1090,8 +1090,10 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *src_buffer)
     while (src < src_end) {
         if (!atempo->dst_buffer) {
             atempo->dst_buffer = ff_get_audio_buffer(outlink, n_out);
-            if (!atempo->dst_buffer)
+            if (!atempo->dst_buffer) {
+                av_frame_free(&src_buffer);
                 return AVERROR(ENOMEM);
+            }
             av_frame_copy_props(atempo->dst_buffer, src_buffer);
 
             atempo->dst = atempo->dst_buffer->data[0];
@@ -1146,6 +1148,8 @@ static int request_frame(AVFilterLink *outlink)
 
             if (n_out) {
                 ret = push_samples(atempo, outlink, n_out);
+                if (ret < 0)
+                    return ret;
             }
         }