summaryrefslogtreecommitdiff
path: root/libavfilter/af_earwax.c
diff options
context:
space:
mode:
Diffstat (limited to 'libavfilter/af_earwax.c')
-rw-r--r--libavfilter/af_earwax.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/libavfilter/af_earwax.c b/libavfilter/af_earwax.c
index d86b410a1e..7265c437d3 100644
--- a/libavfilter/af_earwax.c
+++ b/libavfilter/af_earwax.c
@@ -120,13 +120,15 @@ static inline int16_t *scalarproduct(const int16_t *in, const int16_t *endin, in
return out;
}
-static void filter_samples(AVFilterLink *inlink, AVFilterBufferRef *insamples)
+static int filter_samples(AVFilterLink *inlink, AVFilterBufferRef *insamples)
{
AVFilterLink *outlink = inlink->dst->outputs[0];
int16_t *taps, *endin, *in, *out;
AVFilterBufferRef *outsamples =
ff_get_audio_buffer(inlink, AV_PERM_WRITE,
insamples->audio->nb_samples);
+ int ret;
+
avfilter_copy_buffer_ref_props(outsamples, insamples);
taps = ((EarwaxContext *)inlink->dst->priv)->taps;
@@ -144,8 +146,9 @@ static void filter_samples(AVFilterLink *inlink, AVFilterBufferRef *insamples)
// save part of input for next round
memcpy(taps, endin, NUMTAPS * sizeof(*taps));
- ff_filter_samples(outlink, outsamples);
+ ret = ff_filter_samples(outlink, outsamples);
avfilter_unref_buffer(insamples);
+ return ret;
}
AVFilter avfilter_af_earwax = {