捡了一台红米 1TD 手机,刷了 cm10.1 ,基本都正常,但发现 kodi 硬解无视频只有声音( mxplayer 硬解 ok )。 adb log 看出问题可能在:
E/IMGSRV ( 131): :0: gralloc_private_getIonFd: error in : hnd=42c8cc70,numFds=1
W/GraphicBufferMapper( 131): getIonFd(...) failed -22 (Invalid argument)
找了 miui v5 的 rom ,把内核及相关的二进制动态链接库刷进去问题依旧。
所以我怀疑是 android java 层的问题,下了 cm10.1 的源码按照 github 上 mtk6589 的 build 编译出 rom 刷进去直接卡白米。
google 一下,发现如下代码:
#ifdef MTK_MT6589
status_t GraphicBufferMapper::getIonFd(buffer_handle_t handle, int *idx, int *num)
{
ATRACE_CALL();
status_t err;
if (!mExtraDev) {
ALOGE("gralloc extra device is not supported");
return INVALID_OPERATION;
}
err = mExtraDev->getIonFd(mExtraDev, handle, idx, num);
ALOGW_IF(err, "getIonFd(...) failed %d (%s)", err, strerror(-err));
return err;
}
#endif
结合前面的 log 看来是 mtk6589 需要对 android 的 java 源码做很多修改才能跑起来? 望有经验或相关代码资源的指教一下
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/275061
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.