找回密码
 注册
搜索
查看: 1534|回复: 4

[讨论] 遇到一个非常棘手的问题,错误在:内核?硬件?android?

[复制链接]
发表于 2010-2-6 11:32:16 | 显示全部楼层 |阅读模式
这个问题呢比较大,贴代码很难。 希望过来人能够给点拨一下,一点思路也没有。

我们正在android平台上开发多媒体,AP有硬件加速器的。所以播放就用了硬件加速器。

但是播放H264出现了问题,比如一个4分钟左右的视频,他能够播放几次,但是不断循环的话就会decoder 出错,而究其原因不是硬件加速器的原因,而是往里面输入的数据就出错了。  

数据是从 文件->tempbuf->buffer->mp4 parser ->decoder

这里 文件到tempbuf数据是对的,但是从tempbuf->bffer就会出错,如果出错的话,decoder就出错了。

出错时候buffer的地址不是相同的,而且错的视频位置也不一样


我当初怀疑是sdcard读写文件的问题,但是我将文件放到onenand或者 通过
mkdir temp;
mount -t tmpfs none /temp;
然后文件拷到temp下
如果不断循环还是会出错。

而奇怪的是为什么重新开始多次之后会出错呢? 因为每次播放不都是在重复操作么? 我们的stream 和frm buffer都是事前预置的

因为我们没有调试器,所以也不知道到底是哪里的问题。调了很久也不知道到底问题出在哪里。

看起来好像是野指针的问题,但是怎么也找不到这个在哪里?!! 现在又不知道是否有可能硬件错误或者是其他错误


有人遇到过这种问题么?

谢谢

诚求高手
发表于 2010-2-8 13:25:58 | 显示全部楼层
从你描述的看不出来是什么地方出问题了。你没有调试器,但是你可以用串口输出一些trace ,或者把trace 输到一块内存里。 你必须有一些调试信息,否则你没法解决。数据拷贝出错,有可能是DMA的问题,也有可能是ram 芯片的问题,还有可能是代码的bug引起的指针异常。
点评回复

使用道具 举报

发表于 2010-2-16 11:09:21 | 显示全部楼层
[em01][em01][em01]路过一下,,,,
点评回复

使用道具 举报

发表于 2010-2-25 14:04:25 | 显示全部楼层
学习了。。。[em07]
点评回复

使用道具 举报

发表于 2010-3-5 18:54:39 | 显示全部楼层
什么平台的HW decode ?


Samsung ?
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-11-23 07:47 , Processed in 0.044853 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表