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