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
139 .priv_size = sizeof(AFormatContext),139 .priv_size = sizeof(AFormatContext),
140 140
141 .inputs = (AVFilterPad[]) {{ .name = "default",141 .inputs = (AVFilterPad[]) {{ .name = "default",
142 .type = AVMEDIA_TYPE_AUDIO,142 .type = AVMEDIA_TYPE_AUDIO, },
143 .filter_samples = ff_null_filter_samples },
144 { .name = NULL}},143 { .name = NULL}},
145 .outputs = (AVFilterPad[]) {{ .name = "default",144 .outputs = (AVFilterPad[]) {{ .name = "default",
146 .type = AVMEDIA_TYPE_AUDIO},145 .type = AVMEDIA_TYPE_AUDIO},
libavfilter/af_anull.c+1−2
@@ -33,8 +33,7 @@ AVFilter avfilter_af_anull = { · 32 unmodified lines
33 33
34 .inputs = (AVFilterPad[]) {{ .name = "default",34 .inputs = (AVFilterPad[]) {{ .name = "default",
35 .type = AVMEDIA_TYPE_AUDIO,35 .type = AVMEDIA_TYPE_AUDIO,
36 .get_audio_buffer = ff_null_get_audio_buffer,36 .get_audio_buffer = ff_null_get_audio_buffer, },
37 .filter_samples = ff_null_filter_samples },
38 { .name = NULL}},37 { .name = NULL}},
39 38
40 .outputs = (AVFilterPad[]) {{ .name = "default",39 .outputs = (AVFilterPad[]) {{ .name = "default",
libavfilter/audio.c+3−23
@@ -146,32 +146,12 @@ fail: · 145 unmodified lines
146 return NULL;146 return NULL;
147}147}
148 148
149void ff_null_filter_samples(AVFilterLink *link, AVFilterBufferRef *samplesref)149static void default_filter_samples(AVFilterLink *link,
150 AVFilterBufferRef *samplesref)
150{151{
151 ff_filter_samples(link->dst->outputs[0], samplesref);152 ff_filter_samples(link->dst->outputs[0], samplesref);
152}153}
153 154
154/* FIXME: samplesref is same as link->cur_buf. Need to consider removing the redundant parameter. */
155void 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
175void ff_filter_samples(AVFilterLink *link, AVFilterBufferRef *samplesref)155void ff_filter_samples(AVFilterLink *link, AVFilterBufferRef *samplesref)
176{156{
177 void (*filter_samples)(AVFilterLink *, AVFilterBufferRef *);157 void (*filter_samples)(AVFilterLink *, AVFilterBufferRef *);
@@ -181,7 +161,7 @@ void ff_filter_samples(AVFilterLink *link, AVFilterBufferRef *samplesref) · 3 unmodified lines
181 FF_DPRINTF_START(NULL, filter_samples); ff_dlog_link(NULL, link, 1);161 FF_DPRINTF_START(NULL, filter_samples); ff_dlog_link(NULL, link, 1);
182 162
183 if (!(filter_samples = dst->filter_samples))163 if (!(filter_samples = dst->filter_samples))
184 filter_samples = ff_default_filter_samples;164 filter_samples = default_filter_samples;
185 165
186 /* prepare to copy the samples if the buffer has insufficient permissions */166 /* prepare to copy the samples if the buffer has insufficient permissions */
187 if ((dst->min_perms & samplesref->perms) != dst->min_perms ||167 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
42AVFilterBufferRef *ff_get_audio_buffer(AVFilterLink *link, int perms,42AVFilterBufferRef *ff_get_audio_buffer(AVFilterLink *link, int perms,
43 int nb_samples);43 int nb_samples);
44 44
45/** default handler for filter_samples() for audio inputs */
46void ff_default_filter_samples(AVFilterLink *link, AVFilterBufferRef *samplesref);
47
48/** filter_samples() handler for filters which simply pass audio along */
49void ff_null_filter_samples(AVFilterLink *link, AVFilterBufferRef *samplesref);
50
51/**45/**
52 * Send a buffer of audio samples to the next filter.46 * Send a buffer of audio samples to the next filter.
53 *47 *

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