Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #include "AudioDecoder.h"
00018
00019 #ifdef HAVE_CONFIG_H
00020 # include "gnashconfig.h"
00021 #endif
00022 #include <speex/speex.h>
00023
00024 #ifdef RESAMPLING_SPEEX
00025 # include <speex/speex_resampler.h>
00026 #endif
00027
00028 #ifndef GNASH_MEDIA_DECODER_SPEEX
00029 #define GNASH_MEDIA_DECODER_SPEEX
00030
00031 namespace gnash {
00032 namespace media {
00033
00035
00038 class AudioDecoderSpeex : public AudioDecoder
00039 {
00040 public:
00041 AudioDecoderSpeex();
00042 ~AudioDecoderSpeex();
00043
00044 boost::uint8_t* decode(const EncodedAudioFrame& input,
00045 boost::uint32_t& outputSize);
00046
00047 private:
00048
00049 SpeexBits _speex_bits;
00050 void* _speex_dec_state;
00051 int _speex_framesize;
00052
00053 #ifdef RESAMPLING_SPEEX
00054 SpeexResamplerState* _resampler;
00056 boost::uint32_t _target_frame_size;
00057 #endif
00058 };
00059
00060 }
00061 }
00062
00063 #endif // GNASH_MEDIA_DECODER_SPEEX