Commit fa066239 authored by Anton Khirnov's avatar Anton Khirnov

lavfi/audio: eliminate ff_default_filter_samples().

It currently does the following:
1) get a zeroed audio buffer
2) copy some properties (but not the data) of the input buffer to it
3) pass this buffer to the output filter
This looks useless and is indeed not used by any filters, therefore
delete it.

Make ff_null_filter_samples() (just pass the buffer to the next filter)
the new default.
parent 9ee33348
...@@ -139,8 +139,7 @@ AVFilter avfilter_af_aformat = { ...@@ -139,8 +139,7 @@ AVFilter avfilter_af_aformat = {
.priv_size = sizeof(AFormatContext), .priv_size = sizeof(AFormatContext),
.inputs = (AVFilterPad[]) {{ .name = "default", .inputs = (AVFilterPad[]) {{ .name = "default",
.type = AVMEDIA_TYPE_AUDIO, .type = AVMEDIA_TYPE_AUDIO, },
.filter_samples = ff_null_filter_samples },
{ .name = NULL}}, { .name = NULL}},
.outputs = (AVFilterPad[]) {{ .name = "default", .outputs = (AVFilterPad[]) {{ .name = "default",
.type = AVMEDIA_TYPE_AUDIO}, .type = AVMEDIA_TYPE_AUDIO},
......
...@@ -33,8 +33,7 @@ AVFilter avfilter_af_anull = { ...@@ -33,8 +33,7 @@ AVFilter avfilter_af_anull = {
.inputs = (AVFilterPad[]) {{ .name = "default", .inputs = (AVFilterPad[]) {{ .name = "default",
.type = AVMEDIA_TYPE_AUDIO, .type = AVMEDIA_TYPE_AUDIO,
.get_audio_buffer = ff_null_get_audio_buffer, .get_audio_buffer = ff_null_get_audio_buffer, },
.filter_samples = ff_null_filter_samples },
{ .name = NULL}}, { .name = NULL}},
.outputs = (AVFilterPad[]) {{ .name = "default", .outputs = (AVFilterPad[]) {{ .name = "default",
......
...@@ -146,32 +146,12 @@ fail: ...@@ -146,32 +146,12 @@ fail:
return NULL; return NULL;
} }
void ff_null_filter_samples(AVFilterLink *link, AVFilterBufferRef *samplesref) static void default_filter_samples(AVFilterLink *link,
AVFilterBufferRef *samplesref)
{ {
ff_filter_samples(link->dst->outputs[0], samplesref); ff_filter_samples(link->dst->outputs[0], samplesref);
} }
/* FIXME: samplesref is same as link->cur_buf. Need to consider removing the redundant parameter. */
void ff_default_filter_samples(AVFilterLink *inlink, AVFilterBufferRef *samplesref)
{
AVFilterLink *outlink = NULL;
if (inlink->dst->nb_outputs)
outlink = inlink->dst->outputs[0];
if (outlink) {
outlink->out_buf = ff_default_get_audio_buffer(inlink, AV_PERM_WRITE,
samplesref->audio->nb_samples);
outlink->out_buf->pts = samplesref->pts;
outlink->out_buf->audio->sample_rate = samplesref->audio->sample_rate;
ff_filter_samples(outlink, avfilter_ref_buffer(outlink->out_buf, ~0));
avfilter_unref_buffer(outlink->out_buf);
outlink->out_buf = NULL;
}
avfilter_unref_buffer(samplesref);
inlink->cur_buf = NULL;
}
void ff_filter_samples(AVFilterLink *link, AVFilterBufferRef *samplesref) void ff_filter_samples(AVFilterLink *link, AVFilterBufferRef *samplesref)
{ {
void (*filter_samples)(AVFilterLink *, AVFilterBufferRef *); void (*filter_samples)(AVFilterLink *, AVFilterBufferRef *);
...@@ -181,7 +161,7 @@ void ff_filter_samples(AVFilterLink *link, AVFilterBufferRef *samplesref) ...@@ -181,7 +161,7 @@ void ff_filter_samples(AVFilterLink *link, AVFilterBufferRef *samplesref)
FF_DPRINTF_START(NULL, filter_samples); ff_dlog_link(NULL, link, 1); FF_DPRINTF_START(NULL, filter_samples); ff_dlog_link(NULL, link, 1);
if (!(filter_samples = dst->filter_samples)) if (!(filter_samples = dst->filter_samples))
filter_samples = ff_default_filter_samples; filter_samples = default_filter_samples;
/* prepare to copy the samples if the buffer has insufficient permissions */ /* prepare to copy the samples if the buffer has insufficient permissions */
if ((dst->min_perms & samplesref->perms) != dst->min_perms || if ((dst->min_perms & samplesref->perms) != dst->min_perms ||
......
...@@ -42,12 +42,6 @@ AVFilterBufferRef *ff_null_get_audio_buffer(AVFilterLink *link, int perms, ...@@ -42,12 +42,6 @@ AVFilterBufferRef *ff_null_get_audio_buffer(AVFilterLink *link, int perms,
AVFilterBufferRef *ff_get_audio_buffer(AVFilterLink *link, int perms, AVFilterBufferRef *ff_get_audio_buffer(AVFilterLink *link, int perms,
int nb_samples); int nb_samples);
/** default handler for filter_samples() for audio inputs */
void ff_default_filter_samples(AVFilterLink *link, AVFilterBufferRef *samplesref);
/** filter_samples() handler for filters which simply pass audio along */
void ff_null_filter_samples(AVFilterLink *link, AVFilterBufferRef *samplesref);
/** /**
* Send a buffer of audio samples to the next filter. * Send a buffer of audio samples to the next filter.
* *
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment