1 /***************************************************************************
2             \file audiofilter_mixer
3             \brief Mixer
4               (c) 2006 Mean , fixounet@free.fr
5  ***************************************************************************/
6 
7 /***************************************************************************
8  *                                                                         *
9  *   This program is free software; you can redistribute it and/or modify  *
10  *   it under the terms of the GNU General Public License as published by  *
11  *   the Free Software Foundation; either version 2 of the License, or     *
12  *   (at your option) any later version.                                   *
13  *                                                                         *
14  ***************************************************************************/
15 
16 #ifndef AUDM_AUDIO_MIXER_H
17 #define AUDM_AUDIO_MIXER_H
18 #include "audiofilter_dolby.h"
19 class AUDMAudioFilterMixer : public AUDMAudioFilter
20 {
21     protected:
22         CHANNEL_CONF    _output;
23         CHANNEL_CONF    _input;
24         // output channel mapping
25         CHANNEL_TYPE    outputChannelMapping[MAX_CHANNELS];
26         // Dolby specific info
27     public:
28        ADMDolbyContext dolby;
29 
30       ~AUDMAudioFilterMixer();
31       AUDMAudioFilterMixer(AUDMAudioFilter *instream,CHANNEL_CONF out);
32       uint32_t   fill(uint32_t max,float *output,AUD_Status *status);
33       // That filter changes its output channel mapping...
34       virtual   CHANNEL_TYPE    *getChannelMapping(void );
rewind(void)35       uint8_t  rewind(void)
36                 {
37                         dolby.reset();
38                         return AUDMAudioFilter::rewind();
39                 }
40 };
41 #endif
42