X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=filter.h;h=2d1c150afdda6add9bb498c625889fdcbdda5ea3;hp=500a85379bd42b0dabdea4383d875a4f2180b640;hb=b779fcfc62bca2e728348c70bab3c50df3fe63b8;hpb=2b8ac364a9ad11f67bfc1cdd01c113bde30baaf7 diff --git a/filter.h b/filter.h index 500a8537..2d1c150a 100644 --- a/filter.h +++ b/filter.h @@ -34,6 +34,7 @@ struct filter_node { /** Describes one running instance of a chain of filters */ struct filter_chain { + /** The length of the filter chain. */ unsigned int num_filters; /** * The number of channels of the current stream. @@ -190,14 +191,16 @@ struct filter { /** * A pointer to the filter's command line parser. * - * If this optional function pointer is not NULL, any filter options are passed - * from the main program to this command line parser once at application - * startup. The command line parser should check its command line options given - * by \a argc and \a argv and abort on errors. On success, it should return a - * pointer to the filter-specific configuration data determined by \a argc and - * \a argv. + * If this optional function pointer is not NULL, any filter options + * are passed from the main program to this command line parser once at + * application startup. The command line parser should check its + * command line options given by \a argc and \a argv and abort on + * errors. Success must be indicated by a non-negative return value. In + * this case the function should return a pointer to the + * filter-specific configuration data determined by \a argc and \a + * argv. On failure, a negative paraslash error code must be returned. */ - void *(*parse_config)(int argc, char **argv); + int (*parse_config)(int argc, char **argv, void **config); }; void close_filters(struct filter_chain *fc);