/*
- * Copyright (C) 2005-2010 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2005-2014 Andre Noll <maan@systemlinux.org>
*
* Licensed under the GPL v2. For licencing details see COPYING.
*/
struct list_head callbacks;
/** A pointer to the configuration of this instance. */
void *conf;
+ /** The buffer tree node. */
struct btr_node *btrn;
+ /** The task corresponding to this filter node. */
struct task task;
+ /** The minimal input queue size, see \ref btr_node_status(). */
size_t min_iqs;
};
* Convert (filter) the given data.
*
* Pointer to the converting function of the filter. On errors, the
- * post_select function is supposed to set t->error to a (negative)
- * error code.
+ * post_select function is supposed to return a negative error code.
*/
- void (*post_select)(struct sched *s, struct task *t);
+ int (*post_select)(struct sched *s, struct task *t);
/**
* Answer a buffer tree query.
*
void filter_init(void);
int check_filter_arg(char *filter_arg, void **conf);
-void print_filter_helps(int detailed);
+void print_filter_helps(unsigned flags);
void generic_filter_pre_select(struct sched *s, struct task *t);
int decoder_execute(const char *cmd, unsigned sample_rate, unsigned channels,
char **result);
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. */