summaryrefslogtreecommitdiff
path: root/libavfilter/af_biquads.c
diff options
context:
space:
mode:
Diffstat (limited to 'libavfilter/af_biquads.c')
-rw-r--r--libavfilter/af_biquads.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/libavfilter/af_biquads.c b/libavfilter/af_biquads.c
index cae3e02b49..6384090d4c 100644
--- a/libavfilter/af_biquads.c
+++ b/libavfilter/af_biquads.c
@@ -392,24 +392,24 @@ static int config_output(AVFilterLink *outlink)
return 0;
}
-static int filter_frame(AVFilterLink *inlink, AVFilterBufferRef *buf)
+static int filter_frame(AVFilterLink *inlink, AVFrame *buf)
{
BiquadsContext *p = inlink->dst->priv;
AVFilterLink *outlink = inlink->dst->outputs[0];
- AVFilterBufferRef *out_buf;
- int nb_samples = buf->audio->nb_samples;
+ AVFrame *out_buf;
+ int nb_samples = buf->nb_samples;
int ch;
- if (buf->perms & AV_PERM_WRITE) {
+ if (av_frame_is_writable(buf)) {
out_buf = buf;
} else {
- out_buf = ff_get_audio_buffer(inlink, AV_PERM_WRITE, nb_samples);
+ out_buf = ff_get_audio_buffer(inlink, nb_samples);
if (!out_buf)
return AVERROR(ENOMEM);
out_buf->pts = buf->pts;
}
- for (ch = 0; ch < buf->audio->channels; ch++)
+ for (ch = 0; ch < buf->channels; ch++)
p->filter(buf->extended_data[ch],
out_buf->extended_data[ch], nb_samples,
&p->cache[ch].i1, &p->cache[ch].i2,
@@ -417,7 +417,7 @@ static int filter_frame(AVFilterLink *inlink, AVFilterBufferRef *buf)
p->b0, p->b1, p->b2, p->a1, p->a2);
if (buf != out_buf)
- avfilter_unref_buffer(buf);
+ av_frame_free(&buf);
return ff_filter_frame(outlink, out_buf);
}