kdub wrote:
Author: kdub
Date: Tue Jul 21 10:38:11 2009
New Revision: 4737
Log:
Add accepted pcm formats to my 3 filters
Modified:
afilters/af_null.c
afilters/af_src.c
afilters/avfilter.c
afilters/dummy.c
Modified: afilters/af_null.c
==============================================================================
--- afilters/af_null.c Tue Jul 21 01:42:11 2009 (r4736)
+++ afilters/af_null.c Tue Jul 21 10:38:11 2009 (r4737)
@@ -24,7 +24,10 @@
#include <stdio.h>
#include "avfilter.h"
+
static int null_filter(AVFilterLink *link, AVFilterBufferRef *sample_ref);
+static int query_af_null_formats(AVFilterContext *ctx);
+static int init_af_null(AVFilterContext *ctx, const char *args, void *opaque);
typedef struct
{
@@ -32,6 +35,7 @@ typedef struct
} af_null_priv_t;
+
AVFilter avfilter_af_null =
{
.name = "audio_null",
@@ -46,8 +50,38 @@ AVFilter avfilter_af_null =
.outputs = (AVFilterPad[]) {{ .name = "default",
.type = CODEC_TYPE_AUDIO, },
{ .name = NULL}},
+
+ .init = init_af_null,
+ .query_formats = query_af_null_formats,
};
Adding a init_af_null() method and adding a query_formats() method
should belong to two separated commits
+
+static int init_af_null(AVFilterContext *ctx, const char *args, void *opaque)
+{
+ printf("init afnull\n");
+ int i;
+ af_null_priv_t * p;
+ ctx->priv = av_mallocz(sizeof(af_null_priv_t));
It is better to design the filter framework in a way that this is
automatically done by the framework, to avoid duplicating this field in
every filter (note that this is also done in all video filters).
+ p = (af_null_priv_t*) ctx->priv;
+ for (i=0; i<100; i++)
+ p->history[i] = i;
+
+ return 0;
+}
+
+static int query_af_null_formats(AVFilterContext *ctx)
+{
+ av_log(0,0, "query formats\n");
+
+ AVFilterFormats *formats;
+ formats = avfilter_make_format_list(3, CODEC_ID_PCM_S16LE,
+ CODEC_ID_PCM_S16BE,
+ CODEC_ID_PCM_F32LE);
+ avfilter_set_common_formats(ctx,formats);
+
+ return 0;
+}
Looks good, but isn't the number of channels part of the format?
-Vitor
_______________________________________________
FFmpeg-soc mailing list
[email protected]
https://lists.mplayerhq.hu/mailman/listinfo/ffmpeg-soc