#pragma once #include #include #include #include "IDecodeToPcm.h" extern "C" { #include } class PcmToAac { public: PcmToAac(void); ~PcmToAac(void); public: bool Init(InAudioInfo* info); int Encode(int32_t * inputBuffer, unsigned int samplesInput, unsigned char *outputBuffer, unsigned int bufferSize); public: unsigned int GetPCMBitSize() { return m_nPCMBitSize; } unsigned int GetInputSamples() { return m_nInputSamples; } unsigned int GetMaxOutputBytes() { return m_nMaxOutputBytes; } unsigned int GetPCMBufferSize() { return (m_nInputSamples * (m_nPCMBitSize / 8)); } private: faacEncHandle hEncoder; faacEncConfigurationPtr pConfiguration; unsigned int m_nPCMBitSize /*= 16*/; unsigned long m_nInputSamples /*= 0*/; unsigned long m_nMaxOutputBytes /*= 0*/; };