oggdec: Fix a thinko in post_select().
[paraslash.git] / filter.h
index bf99a677b7c0b6e5cab95111834ad031c19c7619..a11cad50d272981c21d986f6381d3dd41a823c25 100644 (file)
--- a/filter.h
+++ b/filter.h
@@ -15,19 +15,11 @@ enum filter_enum {FILTER_ENUM};
 struct filter_node {
        /** The number in the array of available filters. */
        unsigned filter_num;
-       /** The filter chain this filter node belongs to. */
-       struct filter_chain *fc;
        /**
         * Each filter may store any filter-specific information about the particular
         * instance of the filter here.
         */
        void *private_data;
-       /** The output buffer. */
-       char *buf;
-       /** The size of the output buffer. */
-       size_t bufsize;
-       /** The number of bytes currently loaded in \a buf. */
-       size_t loaded;
        /** The list of registered callbacks. */
        struct list_head callbacks;
        /** A pointer to the configuration of this instance. */
@@ -37,53 +29,6 @@ struct filter_node {
        size_t min_iqs;
 };
 
-/** 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.
-        *
-        * Set by the decoding filter.
-        */
-       unsigned int channels;
-       /**
-        * Current sample rate in Hz.
-        *
-        * Set by the decoding filter.
-        */
-       unsigned int samplerate;
-       /** The list containing all filter nodes in this filter chain. */
-       struct filter_node *filter_nodes;
-       /**
-        * The input buffer of the filter chain.
-        *
-        * This is set to point to the output buffer of the receiving application (the
-        * buffer used to read from stdin for para_filter; the output buffer of the
-        * current receiver for para_audiod).
-        */
-       char **inbufp;
-       /**
-        * The output buffer of the filter chain.
-        *
-        * Points to the output buffer of the last filter in the filter chain.
-        */
-       char **outbufp;
-       /** Contains the number of bytes loaded in the input buffer. */
-       size_t *in_loaded;
-       /** Contains the number of bytes loaded in the output buffer. */
-       size_t *out_loaded;
-       /** Pointer to the error variable of the receiving application. */
-       int *input_error;
-       /** Pointer to the error variable of the writing application. */
-       int *output_error;
-       /** The task associated with the filter chain. */
-       struct task task;
-};
-
-#define FOR_EACH_FILTER_NODE(fn, fc, i) for (i = 0; i < (fc)->num_filters \
-       && (fn = (fc)->filter_nodes + i); i++)
-
 /**
  * The structure associated with a paraslash filter.
  *
@@ -119,7 +64,8 @@ struct filter {
         * Close one instance of this filter.
         *
         * Free all resources of associated with \a fn that were previously allocated
-        * by the open() function.
+        * by the open() function. It's OK to leave this alone if the filter does not
+        * need any cleanups.
         */
        void (*close)(struct filter_node *fn);
        /**