OpenMax硬解码 输入和输出端口分配完buffer后,程序挂掉,求高手指点

幸福摩天轮 2012-10-12 02:25:38
本人现在在做NVida Tegra2的OpenMax硬解码,采用IOMX.h中的适配层接口,调用service端的相应接口来实现解码器创建,h264解码组件的端口设置和端口buffer的分配,但是在进行端口buffer分配完成以后,程序直接挂掉了,打印信息显示Media server挂掉了: 相关打印信息如下:
10-12 10:30:46.293: WARN/AudioSystem(1052): AudioFlinger server died!
10-12 10:30:46.293: WARN/AudioSystem(1052): AudioPolicyService server died!
10-12 10:30:46.293: INFO/ServiceManager(966): service 'media.audio_flinger' died
10-12 10:30:46.293: INFO/ServiceManager(966): service 'media.player' died
10-12 10:30:46.293: INFO/ServiceManager(966): service 'media.camera' died
10-12 10:30:46.293: INFO/ServiceManager(966): service 'media.audio_policy' died

10-12 14:16:21.485: ERROR/AudioService(1059): Media server died.
10-12 14:16:21.485: ERROR/AudioService(1059): Media server started.


这个问题纠结了2天了,希望大牛们给点建议!!!
...全文
296 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
幸福摩天轮 2012-10-15
  • 打赏
  • 举报
回复
重新进行测试以后发现,调用service端的allocateBuffer进行buffer分配的时候,返回值是ok的,但是用来分配内存的指针仍然是NULL,也就是buffer其实分配是失败的,以为是buffer设置的大小过大或过小造成的,结果设置不同buffer的大小进行测试,用来分配内存的指针还是NULL。还在纠结中,继续查找问题根源~~
ayuppie 2012-10-15
  • 打赏
  • 举报
回复
没做过硬件编码,不过软件编码 openmax做了不少。楼主问题,mediaserver died,可能是crash在编解码器里面。如访问非法地址,内存越界等等,从而导致died。
PiGuBieBie 2012-10-14
  • 打赏
  • 举报
回复
出现这样的原因, 你给的数据并不能帮助判断错误出在那里,再者AudioFlinger 是先挂断的,但并不能确定问题就出在这里。另外openmax是由stagefright来调用的,两者是不能很好的能够传送数据也很重要。
hello_kitty8888 2012-10-13
  • 打赏
  • 举报
回复
[Quote=引用楼主 的回复:]
本人现在在做NVida Tegra2的OpenMax硬解码,采用IOMX.h中的适配层接口,调用service端的相应接口来实现解码器创建,h264解码组件的端口设置和端口buffer的分配,但是在进行端口buffer分配完成以后,程序直接挂掉了,打印信息显示Media server挂掉了: 相关打印信息如下:
10-12 10:30:46.293: WARN/AudioSystem(10……
[/Quote]
出现这样的原因, 你给的数据并不能帮助判断错误出在那里,再者AudioFlinger 是先挂断的,但并不能确定问题就出在这里。另外openmax是由stagefright来调用的,两者是不能很好的能够传送数据也很重要。

80,362

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧