[FFmpeg-devel] [PATCH 4/4] lavfi/sendcmd: expose the options for both filters.

Clément Bœsch ubitux at gmail.com
Thu Nov 29 00:14:55 CET 2012


---
 libavfilter/f_sendcmd.c | 29 ++++++++++++++++++++++++-----
 1 file changed, 24 insertions(+), 5 deletions(-)

diff --git a/libavfilter/f_sendcmd.c b/libavfilter/f_sendcmd.c
index 9b83935..f7b9b6d 100644
--- a/libavfilter/f_sendcmd.c
+++ b/libavfilter/f_sendcmd.c
@@ -89,8 +89,6 @@ static const AVOption options[] = {
     {NULL},
 };
 
-AVFILTER_DEFINE_CLASS(sendcmd);
-
 #define SPACES " \f\t\n\r"
 
 static void skip_comments(const char **buf)
@@ -375,7 +373,6 @@ static av_cold int init(AVFilterContext *ctx, const char *args)
     SendCmdContext *sendcmd = ctx->priv;
     int ret, i, j;
 
-    sendcmd->class = &sendcmd_class;
     av_opt_set_defaults(sendcmd);
 
     if ((ret = av_set_options_string(sendcmd, args, "=", ":")) < 0)
@@ -518,6 +515,16 @@ end:
 
 #if CONFIG_SENDCMD_FILTER
 
+#define sendcmd_options options
+AVFILTER_DEFINE_CLASS(sendcmd);
+
+static av_cold int sendcmd_init(AVFilterContext *ctx, const char *args)
+{
+    SendCmdContext *sendcmd = ctx->priv;
+    sendcmd->class = &sendcmd_class;
+    return init(ctx, args);
+}
+
 static const AVFilterPad sendcmd_inputs[] = {
     {
         .name             = "default",
@@ -541,17 +548,28 @@ AVFilter avfilter_vf_sendcmd = {
     .name      = "sendcmd",
     .description = NULL_IF_CONFIG_SMALL("Send commands to filters."),
 
-    .init = init,
+    .init = sendcmd_init,
     .uninit = uninit,
     .priv_size = sizeof(SendCmdContext),
     .inputs    = sendcmd_inputs,
     .outputs   = sendcmd_outputs,
+    .priv_class = &sendcmd_class,
 };
 
 #endif
 
 #if CONFIG_ASENDCMD_FILTER
 
+#define asendcmd_options options
+AVFILTER_DEFINE_CLASS(asendcmd);
+
+static av_cold int asendcmd_init(AVFilterContext *ctx, const char *args)
+{
+    SendCmdContext *asendcmd = ctx->priv;
+    asendcmd->class = &asendcmd_class;
+    return init(ctx, args);
+}
+
 static const AVFilterPad asendcmd_inputs[] = {
     {
         .name             = "default",
@@ -574,11 +592,12 @@ AVFilter avfilter_af_asendcmd = {
     .name      = "asendcmd",
     .description = NULL_IF_CONFIG_SMALL("Send commands to filters."),
 
-    .init = init,
+    .init = asendcmd_init,
     .uninit = uninit,
     .priv_size = sizeof(SendCmdContext),
     .inputs    = asendcmd_inputs,
     .outputs   = asendcmd_outputs,
+    .priv_class = &asendcmd_class,
 };
 
 #endif
-- 
1.8.0.1



More information about the ffmpeg-devel mailing list