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