X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=filter.h;h=0bd546903927d412fccef946cf8f43783ed8bc70;hp=7ae28fe4946a578b0d0f229359f740252de4b1b9;hb=1709cc8f8a54429441f8f83c38146e667133c727;hpb=8c74f69967ee4d6dff3970735c8bc83ea1aae4cb diff --git a/filter.h b/filter.h index 7ae28fe4..0bd54690 100644 --- a/filter.h +++ b/filter.h @@ -58,17 +58,18 @@ struct filter { /** * Open one instance of this filter. * - * This should allocate the output buffer of the given filter node and do any - * other filter-specific preparations like initializing the private_data member - * of \a fn suitably. The open function is assumed to succeed. + * This should allocate the output buffer of the given filter node and + * do any other filter-specific preparations like initializing the + * private_data member of \a fn suitably. The open function is + * optional, If it is provided, it is assumed to succeed. */ void (*open)(struct filter_node *fn); /** * Close one instance of this filter. * - * Free all resources of associated with \a fn that were previously allocated - * by the open() function. It's OK to leave this alone if the filter does not - * need any cleanups. + * Free all resources associated with \a fn that were previously + * allocated by the open() function. It's OK to set this to NULL if the + * filter does not need to perform any cleanup operation. */ void (*close)(struct filter_node *fn); /** @@ -121,7 +122,7 @@ struct filter { }; void filter_init(void); -int check_filter_arg(char *filter_arg, void **conf); +int check_filter_arg(const char *fa, void **conf); void print_filter_helps(unsigned flags); void generic_filter_pre_select(struct sched *s, void *context); int decoder_execute(const char *cmd, unsigned sample_rate, unsigned channels, @@ -140,8 +141,4 @@ static inline void write_int16_host_endian(char *buf, int val) DECLARE_FILTER_INITS -/** Iterate over the array of supported filters. */ -#define FOR_EACH_SUPPORTED_FILTER(j) for (j = 0; j < NUM_SUPPORTED_FILTERS; j++) - -/** The filter array, one structure for each supported filter. */ -extern struct filter filters[NUM_SUPPORTED_FILTERS]; +const struct filter *filter_get(int filter_num);