00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00026 #include "avfilter.h"
00027 #include "audio.h"
00028
00029 static void filter_samples(AVFilterLink *inlink, AVFilterBufferRef *insamples)
00030 {
00031 ff_filter_samples(inlink->dst->outputs[0],
00032 avfilter_ref_buffer(insamples, ~AV_PERM_WRITE));
00033 ff_filter_samples(inlink->dst->outputs[1],
00034 avfilter_ref_buffer(insamples, ~AV_PERM_WRITE));
00035 avfilter_unref_buffer(insamples);
00036 }
00037
00038 AVFilter avfilter_af_asplit = {
00039 .name = "asplit",
00040 .description = NULL_IF_CONFIG_SMALL("Pass on the audio input to two outputs."),
00041
00042 .inputs = (const AVFilterPad[]) {
00043 { .name = "default",
00044 .type = AVMEDIA_TYPE_AUDIO,
00045 .get_audio_buffer = ff_null_get_audio_buffer,
00046 .filter_samples = filter_samples, },
00047 { .name = NULL}
00048 },
00049 .outputs = (const AVFilterPad[]) {
00050 { .name = "output1",
00051 .type = AVMEDIA_TYPE_AUDIO, },
00052 { .name = "output2",
00053 .type = AVMEDIA_TYPE_AUDIO, },
00054 { .name = NULL}
00055 },
00056 };