]> git.tuebingen.mpg.de Git - paraslash.git/blobdiff - filter.h
rename struct filter_chain_info to filter_chain
[paraslash.git] / filter.h
index 70f4f4feb9873a64ac1a2263373ee123e24a1840..a6b390719e72d0d9b1852915b4747f9cca4cfb5a 100644 (file)
--- a/filter.h
+++ b/filter.h
  * describes one running instance of a chain of filters
  *
  */
-struct filter_chain_info {
-/**
- *
- *
- * the number of channels of the current stream
- *
- * Set by the decoding filter
- */
-       unsigned int channels;
-/**
- *
- *
- * current samplerate in Hz
- *
- * Set by the decoding filter
- */
-       unsigned int samplerate;
-/**
- *
- *
- * the list containing all filter nodes in this filter chain
- */
-       struct list_head filters;
-/**
- *
- *
- * 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 *inbuf;
-/**
- *
- *
- * the output buffer of the filter chain
- *
- * Points to the output buffer of the last filter in the filter chain
-**/
-       char *outbuf;
-/**
- *
- *
- * pointer to variable containing the number of bytes loaded in the input buffer
- */
-       size_t *in_loaded;
-/**
- *
- *
- * 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;
+struct filter_chain {
+       /**
       *
       *
       * the number of channels of the current stream
       *
       * Set by the decoding filter
       */
+               unsigned int channels;
+       /**
       *
       *
       * current samplerate in Hz
       *
       * Set by the decoding filter
       */
+               unsigned int samplerate;
+       /**
       *
       *
       * the list containing all filter nodes in this filter chain
       */
+               struct list_head filters;
+       /**
       *
       *
       * 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 *inbuf;
+       /**
       *
       *
       * the output buffer of the filter chain
       *
       * Points to the output buffer of the last filter in the filter chain
+       **/
+               char *outbuf;
+       /**
       *
       *
       * pointer to variable containing the number of bytes loaded in the input buffer
       */
+               size_t *in_loaded;
+       /**
       *
       *
       * 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;
 };
 
 /**
@@ -104,7 +104,7 @@ struct filter_node {
  *
  * the filter chain this filter node belongs to
  */
-       struct filter_chain_info *fci;
+       struct filter_chain *fc;
 /**
  *
  *
@@ -212,8 +212,8 @@ struct filter_callback {
 };
 
 
-void close_filters(struct filter_chain_info *fci);
-int filter_io(struct filter_chain_info *fci);
+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);
@@ -330,6 +330,13 @@ DECLARE_EXTERN_FILTER_INIT(mp3dec);
 #define MP3DEC_FILTER
 #endif
 
+#ifdef HAVE_FAAD
+DECLARE_EXTERN_FILTER_INIT(aacdec);
+#define AACDEC_FILTER FILTER_INIT(aacdec)
+#else
+#define AACDEC_FILTER
+#endif
+
 #ifdef HAVE_OGGVORBIS
 DECLARE_EXTERN_FILTER_INIT(oggdec);
 #define OGGDEC_FILTER FILTER_INIT(oggdec)
@@ -344,6 +351,7 @@ DECLARE_EXTERN_FILTER_INIT(oggdec);
        FILTER_INIT(wav) \
        FILTER_INIT(compress) \
        MP3DEC_FILTER \
+       AACDEC_FILTER \
        OGGDEC_FILTER \
        { .name = NULL } };
 /** \endcond */