18,356
社区成员
发帖
与我相关
我的任务
分享
#include "AudioCoderEasyG722.h"
#include "BaseTypeDefine.h"
#pragma comment(lib, "Easy_G722")
CAudioCoderEasyG722::CAudioCoderEasyG722()
: m_hG722_Encoder(0),
m_hG722_Decoder(0)
{
m_hG722_Encoder = EasyG722_init_encoder();
m_hG722_Decoder = EasyG722_init_decoder();
}
CAudioCoderEasyG722::~CAudioCoderEasyG722()
{
if (m_hG722_Encoder != 0) {
EasyG722_release_encoder(m_hG722_Encoder);
m_hG722_Encoder = 0;
}
if (m_hG722_Decoder != 0) {
EasyG722_release_decoder(m_hG722_Decoder);
m_hG722_Decoder = 0;
}
}
bool CAudioCoderEasyG722::Encode(char *pDataIn, char *pDataOut) const
{
if (!m_hG722_Encoder || !pDataIn || !pDataOut) {
return false;
}
Pointer ptIn(pDataIn);
Pointer ptOut(pDataOut);
return EasyG722_encoder(m_hG722_Encoder, ptIn.pShort, ptOut.pUChar);
}
bool CAudioCoderEasyG722::Decode(char *pDataIn, char *pDataOut) const
{
if (!m_hG722_Decoder || !pDataIn || !pDataOut) {
return false;
}
Pointer ptIn(pDataIn);
Pointer ptOut(pDataOut);
return EasyG722_decoder(m_hG722_Decoder, ptIn.pUChar, ptOut.pShort);
}