Helix软解MP3出了点问题,大部分320Kbps歌曲可以流畅播放,某些歌曲播放中造成当机,求解决方案

2019-07-20 10:11发布

是这样的,我把探索者的综合例程中的MP3解码部分给移植到自己的工程中,因为目前主要是验证MP3软解,也就没有用RTOS,纯裸奔的,然后发现部分歌曲会全程帧解码错误,返回错误代码-2,-8,-9;还有一部分歌曲会在开始解码错误以后,返回错误代码-3,然后F4进hardfault,跟踪此类错误进入代码中,发现memcpy(mp3DecInfo->mainBuf + mp3DecInfo->mainDataBegin, *inbuf, mp3DecInfo->nSlots);这句代码导致问题产生,也许是跟堆栈设置有关?
Heap_Size       EQU     0x00000400
Stack_Size       EQU     0x00000800
我把综合例程烧入板子,发现出问题的2首音乐是可以播放的,按理说裸奔的代码和使用UCOS时候应该是一样的,不应该会出错的,昨天晚上查找一晚上没找到问题,现发贴上来问问,求各位不吝赐教
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
xijiele
1楼-- · 2019-07-20 14:03
 精彩回答 2  元偷偷看……
Coder
2楼-- · 2019-07-20 14:33
我刚刚尝试把不能播放的MP3文件换成256Kbps的,然后能播放了。各路大神求解救啊,为啥不能播放部分320KbpsMP3歌曲呢?
Coder
3楼-- · 2019-07-20 16:54
 精彩回答 2  元偷偷看……
Coder
4楼-- · 2019-07-20 19:13
回复【4楼】xijiele:
---------------------------------
感谢你的回复,我后来定位了下问题,进入HardFault肯定是堆栈溢出了,查找mymalloc和myfree以及野指针。后来发现是在某些判断下少了一个myfree,然后把异常情况的内存都给释放掉,现在情况好点了。正在尝试某些320Kbps比特率MP3歌曲。
Dahuang
5楼-- · 2019-07-21 00:59
二楼的哥们,能提供一下你的源码吗?

一周热门 更多>