/*
- * Copyright (C) 2005-2014 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2005 Andre Noll <maan@tuebingen.mpg.de>
*
* Licensed under the GPL v2. For licencing details see COPYING.
*/
/**
* Set scheduler timeout and add file descriptors to fd sets.
*
- * This function is used to control the timeout value for select. It
- * only allowed to decrease the current value. The second purpose of
- * this function is to set file descriptors to be watched by the
- * subsequent select call to the two fd sets.
+ * This function controls the timeout value for the next call to
+ * select(2). It may decrease the current timeout but shall never
+ * increase it. The second purpose of this function is to add file
+ * descriptors to the two fd sets of the sched structure. The
+ * descriptors in these sets will be watched by the subsequent
+ * select(2) call.
*/
- void (*pre_select)(struct sched *s, struct task *t);
+ void (*pre_select)(struct sched *s, void *context);
/**
* Convert (filter) the given data.
*
* Pointer to the converting function of the filter. On errors, the
* post_select function is supposed to return a negative error code.
*/
- int (*post_select)(struct sched *s, struct task *t);
+ int (*post_select)(struct sched *s, void *context);
/**
* Answer a buffer tree query.
*
void filter_init(void);
int check_filter_arg(char *filter_arg, void **conf);
void print_filter_helps(unsigned flags);
-void generic_filter_pre_select(struct sched *s, struct task *t);
+void generic_filter_pre_select(struct sched *s, void *context);
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. */
extern struct filter filters[NUM_SUPPORTED_FILTERS];