History

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.

Anton Khirnov committed 14 years ago

Commit fa066231 parent 9ee33344 files · +5 −33Browse files

Unified · Split

4 files
  1. libavfilter/af_aformat.c +1 −2
  2. libavfilter/af_anull.c +1 −2
  3. libavfilter/audio.c +3 −23
  4. libavfilter/audio.h +0 −6
libavfilter/af_aformat.c+1−2
@@ -139,8 +139,7 @@ AVFilter avfilter_af_aformat = { · 138 unmodified lines
139139 .priv_size = sizeof(AFormatContext),
140140
141141 .inputs = (AVFilterPad[]) {{ .name = "default",
142− .type = AVMEDIA_TYPE_AUDIO,
143− .filter_samples = ff_null_filter_samples },
142+ .type = AVMEDIA_TYPE_AUDIO, },
144143 { .name = NULL}},
145144 .outputs = (AVFilterPad[]) {{ .name = "default",
146145 .type = AVMEDIA_TYPE_AUDIO},
libavfilter/af_anull.c+1−2
@@ -33,8 +33,7 @@ AVFilter avfilter_af_anull = { · 32 unmodified lines
3333
3434 .inputs = (AVFilterPad[]) {{ .name = "default",
3535 .type = AVMEDIA_TYPE_AUDIO,
36− .get_audio_buffer = ff_null_get_audio_buffer,
37− .filter_samples = ff_null_filter_samples },
36+ .get_audio_buffer = ff_null_get_audio_buffer, },
3837 { .name = NULL}},
3938
4039 .outputs = (AVFilterPad[]) {{ .name = "default",
libavfilter/audio.c+3−23
@@ -146,32 +146,12 @@ fail: · 145 unmodified lines
146146 return NULL;
147147 }
148148
149−void ff_null_filter_samples(AVFilterLink *link, AVFilterBufferRef *samplesref)
149+static void default_filter_samples(AVFilterLink *link,
150+ AVFilterBufferRef *samplesref)
150151 {
151152 ff_filter_samples(link->dst->outputs[0], samplesref);
152153 }
153154
154−/* FIXME: samplesref is same as link->cur_buf. Need to consider removing the redundant parameter. */
155−void ff_default_filter_samples(AVFilterLink *inlink, AVFilterBufferRef *samplesref)
156−{
157− AVFilterLink *outlink = NULL;
158−
159− if (inlink->dst->nb_outputs)
160− outlink = inlink->dst->outputs[0];
161−
162− if (outlink) {
163− outlink->out_buf = ff_default_get_audio_buffer(inlink, AV_PERM_WRITE,
164− samplesref->audio->nb_samples);
165− outlink->out_buf->pts = samplesref->pts;
166− outlink->out_buf->audio->sample_rate = samplesref->audio->sample_rate;
167− ff_filter_samples(outlink, avfilter_ref_buffer(outlink->out_buf, ~0));
168− avfilter_unref_buffer(outlink->out_buf);
169− outlink->out_buf = NULL;
170− }
171− avfilter_unref_buffer(samplesref);
172− inlink->cur_buf = NULL;
173−}
174−
175155 void ff_filter_samples(AVFilterLink *link, AVFilterBufferRef *samplesref)
176156 {
177157 void (*filter_samples)(AVFilterLink *, AVFilterBufferRef *);
@@ -181,7 +161,7 @@ void ff_filter_samples(AVFilterLink *link, AVFilterBufferRef *samplesref) · 3 unmodified lines
181161 FF_DPRINTF_START(NULL, filter_samples); ff_dlog_link(NULL, link, 1);
182162
183163 if (!(filter_samples = dst->filter_samples))
184− filter_samples = ff_default_filter_samples;
164+ filter_samples = default_filter_samples;
185165
186166 /* prepare to copy the samples if the buffer has insufficient permissions */
187167 if ((dst->min_perms & samplesref->perms) != dst->min_perms ||
libavfilter/audio.h+0−6
@@ -42,12 +42,6 @@ AVFilterBufferRef *ff_null_get_audio_buffer(AVFilterLink *link, int perms, · 41 unmodified lines
4242 AVFilterBufferRef *ff_get_audio_buffer(AVFilterLink *link, int perms,
4343 int nb_samples);
4444
45−/** default handler for filter_samples() for audio inputs */
46−void ff_default_filter_samples(AVFilterLink *link, AVFilterBufferRef *samplesref);
47−
48−/** filter_samples() handler for filters which simply pass audio along */
49−void ff_null_filter_samples(AVFilterLink *link, AVFilterBufferRef *samplesref);
50−
5145 /**
5246 * Send a buffer of audio samples to the next filter.
5347 *

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t