]> git.sesse.net Git - ffmpeg/blobdiff - libavfilter/af_join.c
Add some more missing includes after removing the implicit common.h
[ffmpeg] / libavfilter / af_join.c
index ab5e9055b384958f664522fe11f9a530780b818a..c44788bd80b2e2ca1013c483729ffec04a434a1c 100644 (file)
@@ -27,6 +27,7 @@
 
 #include "libavutil/audioconvert.h"
 #include "libavutil/avassert.h"
+#include "libavutil/common.h"
 #include "libavutil/opt.h"
 
 #include "audio.h"
@@ -92,7 +93,7 @@ static const AVClass join_class = {
     .version    = LIBAVUTIL_VERSION_INT,
 };
 
-static void filter_samples(AVFilterLink *link, AVFilterBufferRef *buf)
+static int filter_samples(AVFilterLink *link, AVFilterBufferRef *buf)
 {
     AVFilterContext *ctx = link->dst;
     JoinContext       *s = ctx->priv;
@@ -104,6 +105,8 @@ static void filter_samples(AVFilterLink *link, AVFilterBufferRef *buf)
     av_assert0(i < ctx->nb_inputs);
     av_assert0(!s->input_frames[i]);
     s->input_frames[i] = buf;
+
+    return 0;
 }
 
 static int parse_maps(AVFilterContext *ctx)
@@ -184,7 +187,7 @@ static int parse_maps(AVFilterContext *ctx)
     return 0;
 }
 
-static int join_init(AVFilterContext *ctx, const char *args, void *opaque)
+static int join_init(AVFilterContext *ctx, const char *args)
 {
     JoinContext *s = ctx->priv;
     int ret, i;
@@ -246,7 +249,7 @@ static void join_uninit(AVFilterContext *ctx)
 
     for (i = 0; i < ctx->nb_inputs; i++) {
         av_freep(&ctx->input_pads[i].name);
-        avfilter_unref_buffer(s->input_frames[i]);
+        avfilter_unref_bufferp(&s->input_frames[i]);
     }
 
     av_freep(&s->channels);
@@ -400,7 +403,7 @@ static void join_free_buffer(AVFilterBuffer *buf)
         int i;
 
         for (i = 0; i < priv->nb_in_buffers; i++)
-            avfilter_unref_buffer(priv->in_buffers[i]);
+            avfilter_unref_bufferp(&priv->in_buffers[i]);
 
         av_freep(&priv->in_buffers);
         av_freep(&buf->priv);
@@ -419,7 +422,7 @@ static int join_request_frame(AVFilterLink *outlink)
     JoinBufferPriv *priv;
     int linesize   = INT_MAX;
     int perms      = ~0;
-    int nb_samples;
+    int nb_samples = 0;
     int i, j, ret;
 
     /* get a frame on each input */
@@ -448,6 +451,7 @@ static int join_request_frame(AVFilterLink *outlink)
         perms     &= cur_buf->perms;
     }
 
+    av_assert0(nb_samples > 0);
     buf = avfilter_get_audio_buffer_ref_from_arrays(s->data, linesize, perms,
                                                     nb_samples, outlink->format,
                                                     outlink->channel_layout);
@@ -467,11 +471,11 @@ static int join_request_frame(AVFilterLink *outlink)
     priv->nb_in_buffers = ctx->nb_inputs;
     buf->buf->priv      = priv;
 
-    ff_filter_samples(outlink, buf);
+    ret = ff_filter_samples(outlink, buf);
 
     memset(s->input_frames, 0, sizeof(*s->input_frames) * ctx->nb_inputs);
 
-    return 0;
+    return ret;
 
 fail:
     avfilter_unref_buffer(buf);