/*
- * Copyright (C) 2005-2006 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2005-2007 Andre Noll <maan@systemlinux.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* pointer to variable containing the number of bytes loaded in the output buffer
*/
size_t *out_loaded;
- /**
- *
- *
- * non-zero if end of file was encountered
- */
- int *eof;
- /**
- *
- *
- * non-zero if an error occured
- */
- int error;
+ /** non-zero if this filter wont' produce any more output */
+ int eof;
+ /** pointer to the eof flag of the receiving application */
+ int *input_eof;
+ /** pointer to the eof flag of the writing application */
+ int *output_eof;
+ /** the task associated with the filter chain */
+ struct task task;
};
/**
void close_filters(struct filter_chain *fc);
-int filter_io(struct filter_chain *fc);
void filter_init(struct filter *all_filters);
int check_filter_arg(char *filter_arg, void **conf);
-int del_filter_callback(struct filter_callback *fcb);
+void filter_pre_select(__a_unused struct sched *s, struct task *t);
/**
* the structure associated with a paraslash filter
#else
#define OGGDEC_FILTER
#endif
+/** \endcond */
-/*
- * a macro that defines an array of all available filters
- */
-#define DEFINE_FILTER_ARRAY(fa) struct filter fa[] = { \
+/** define an array of all available filters */
+#define DEFINE_FILTER_ARRAY(filters) struct filter filters[] = { \
FILTER_INIT(wav) \
FILTER_INIT(compress) \
MP3DEC_FILTER \
AACDEC_FILTER \
OGGDEC_FILTER \
{ .name = NULL } };
-/** \endcond */