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
00028 static void filter_samples(AVFilterLink *inlink, AVFilterBufferRef *insamples)
00029 {
00030 avfilter_filter_samples(inlink->dst->outputs[0],
00031 avfilter_ref_buffer(insamples, ~AV_PERM_WRITE));
00032 avfilter_filter_samples(inlink->dst->outputs[1],
00033 avfilter_ref_buffer(insamples, ~AV_PERM_WRITE));
00034 avfilter_unref_buffer(insamples);
00035 }
00036
00037 AVFilter avfilter_af_asplit = {
00038 .name = "asplit",
00039 .description = NULL_IF_CONFIG_SMALL("Pass on the audio input to two outputs."),
00040
00041 .inputs = (const AVFilterPad[]) {
00042 { .name = "default",
00043 .type = AVMEDIA_TYPE_AUDIO,
00044 .get_audio_buffer = avfilter_null_get_audio_buffer,
00045 .filter_samples = filter_samples, },
00046 { .name = NULL}
00047 },
00048 .outputs = (const AVFilterPad[]) {
00049 { .name = "output1",
00050 .type = AVMEDIA_TYPE_AUDIO, },
00051 { .name = "output2",
00052 .type = AVMEDIA_TYPE_AUDIO, },
00053 { .name = NULL}
00054 },
00055 };