//初始化
mad_stream_init(&pDecoder->stream);
mad_frame_init(&pDecoder->frame);
mad_timer_reset(&(pDecoder->timer));
mad_synth_init(&pDecoder->synth);
mad_stream_options(&pDecoder->stream, MAD_OPTION_IGNORECRC);
//解码过程
mad_stream_buffer(stream, pBuffer, mlength);
while(1){
if(pMad->nMadFlag&MAD_HEADER_FLAG)
{
if(-1==mad_header_decode(&pMad->frame.header,&pMad->stream)){
if(!MAD_RECOVERABLE(pMad->stream.error))
break;
}
mResult=wzMadReadHeader(pBuffer,ulSize,&pMad->stream);
MADDECODER_ERROR(mResult,nResult);
}
if(-1==mad_frame_decode(&pMad->frame,&pMad->stream))
{
if (!MAD_RECOVERABLE(pMad->stream.error))
break;
}
else
pMad->nBadLastFrame=0;
if(pMad->nMadFlag&a
libmad 解码库用法
最新推荐文章于 2024-01-19 22:38:24 发布
本文介绍如何使用libmad库进行音频解码,适用于多种平台。示例代码来源于官方示例并经过简单调整,详细内容请参阅原文链接。
摘要由CSDN通过智能技术生成