redsonic
V2EX  ›  Android

mtk6589 cm10.1 kodi 硬解无视频

  •  
  •   redsonic · Apr 28, 2016 · 13882 views
    This topic created in 3694 days ago, the information mentioned may be changed or developed.
    捡了一台红米 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 源码做很多修改才能跑起来? 望有经验或相关代码资源的指教一下
    4 replies    2016-04-29 13:04:50 +08:00
    georgema1982
        1
    georgema1982  
       Apr 29, 2016
    kodi 应该是不支持 mtk 硬解的
    redsonic
        2
    redsonic  
    OP
       Apr 29, 2016
    但是官方的 miui v5 和 miui 开发版都没问题, kodi 完美硬解播放。
    zjj2008se
        3
    zjj2008se  
       Apr 29, 2016 via Android
    直接用官方的内核和驱动试试?
    redsonic
        4
    redsonic  
    OP
       Apr 29, 2016
    @zjj2008se 已经替换了内核和驱动(*.ko ),以及 vendor 和 hw 里面的动态库,替换以后该正常的还是正常,不正常的还是不正常,所以我觉得是 android 中间层需要做一些工作,但我对 android 不熟悉,花了一周时间刚刚了解了它的编译系统和基本服务框架。去 xda 逛了逛发现 MTK 非常偏门,能把 MTK 跑在 android 新版本上的都是大神(就不计较什么硬解了),所以我是不是需要“从没入门到放弃”系列...
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1563 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 16:49 · PVG 00:49 · LAX 09:49 · JFK 12:49
    ♥ Do have faith in what you're doing.