无法播放YouTube网站的视频

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

无法播放YouTube网站的视频

3,272 Views
cloudygong
Contributor I

同样的硬件,在Android 5.0的load上,无法播放YouTube网站的视频,在Android 4.2的load上,可以播放

0 Kudos
8 Replies

2,463 Views
cloudygong
Contributor I

Hi Weidong,

这个问题还是你在跟吗?有进展吗?

Cloudy

0 Kudos

2,463 Views
cloudygong
Contributor I

Hi Weidong,

这个问题有没有新的进展?

Cloudy

0 Kudos

2,463 Views
cloudygong
Contributor I

我们测试方法是直接在Browser中打开youtube网站,播放任何视频

由于走得是https protocol,会启用StagefrightPlayer

0 Kudos

2,463 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Hi Cloudy,

     我请其他客户测试了一下,在国内上youtube网站,会遇到不少的问题,所有人遇到的是上不去的问题。这个会与上网限制有关。如果你播放搜狐视频和腾讯视频,那么就不是解码器不完整的问题。

      因此,用4.2.2BSP还是用5.0 BSP,登录都无法成功。你们测试的时候,确认能上youtube网站么?

Weidong

0 Kudos

2,463 Views
cloudygong
Contributor I

国内上YouTube网站,当然是走VPN上去的

0 Kudos

2,463 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Hi Cloudy,

     please capture android 5.0 log when playing youtube wideo, then paste it here, let us check it !

Regards,

weidong

0 Kudos

2,463 Views
cloudygong
Contributor I

02-26 09:43:18.770   167  1504 E OMXCodec: before getParameter

02-26 09:43:18.770   167  1504 E OMX     : getParameter(42 0x2000001 0xb0103af8 96)

02-26 09:43:18.770   167  1504 E OMXNodeInstance: OMXNodeInstance::getParameter, index: 0x2000001

02-26 09:43:18.770   167  1504 E         : FSLOMXWrapper::GetParameter, nParamIndex: 0x2000001

02-26 09:43:18.770   167  1504 E         : before ConvertOMXToAndroidColorFormat, pPortDef->format.video.eColorFormat: 19

02-26 09:43:18.770   167  1504 E         : after ConvertOMXToAndroidColorFormat, pPortDef->format.video.eColorFormat: 257

02-26 09:43:18.770   167  1504 E         : FSLOMXWrapper::GetParameter, ret: 0

02-26 09:43:18.770   167  1504 E OMXCodec: after getParameter, color format: 257, err: 0

02-26 09:43:18.770   167  1504 E OMXCodec: Not supported color format 257 by surface!

02-26 09:43:18.770   167  1504 E AwesomePlayer: failed to start video source

OMXFSLPlugin_new.cpp (external\fsl_imx_omx\stagefright\src)

OMX_ERRORTYPE FSLOMXWrapper::GetParameter(

        OMX_INDEXTYPE nParamIndex,

        OMX_PTR pStructure)

//when enable native buffer, the color format required in ACodec.cpp is pixel format.
//so need to convert OMX format to androd pixel format.
//once got the pixel format, it will report OMX color format when calling the function again.
if(bEnableNativeBuffers && bGotPixelFormat && OMX_IndexParamPortDefinition == nParamIndex){
    OMX_PARAM_PORTDEFINITIONTYPE *pPortDef = (OMX_PARAM_PORTDEFINITIONTYPE*)pStructure;
    if(pPortDef->nPortIndex == 1 && OMX_PortDomainVideo == pPortDef->eDomain){
    LOGE("before ConvertOMXToAndroidColorFormat, pPortDef->format.video.eColorFormat: %d", pPortDef->format.video.eColorFormat);
        pPortDef->format.video.eColorFormat = (OMX_COLOR_FORMATTYPE)ConvertOMXToAndroidColorFormat(pPortDef->format.video.eColorFormat);
    LOGE("after ConvertOMXToAndroidColorFormat, pPortDef->format.video.eColorFormat: %d", pPortDef->format.video.eColorFormat);
        bGotPixelFormat = OMX_FALSE;
    }
}

上面这段如果注释掉,就不会有问题了

OMXCodec.cpp (frameworks\av\media\libstagefright)

status_t OMXCodec::allocateOutputBuffersFromNativeWindow() {

int color_fmt = HAL_PIXEL_FORMAT_YCbCr_420_SP;
switch(def.format.video.eColorFormat) {
    case OMX_COLOR_FormatYUV420SemiPlanar:
   color_fmt = HAL_PIXEL_FORMAT_YCbCr_420_SP;
   break;
    case OMX_COLOR_FormatYUV420Planar:
   color_fmt = HAL_PIXEL_FORMAT_YCbCr_420_P;
   break;
    case OMX_COLOR_Format16bitRGB565:
   color_fmt = HAL_PIXEL_FORMAT_RGB_565;
   break;
    case OMX_COLOR_FormatYUV422Planar:
   color_fmt = HAL_PIXEL_FORMAT_YCbCr_422_P;
   break;
    default:
   ALOGE("Not supported color format %d by surface!", def.format.video.eColorFormat);
   return UNKNOWN_ERROR;
}

上面这段已经做了color format转换,fsl_imx_omx下的code多做了一次这样的动作,造成了问题

但是,我担心直接这样修改,会造成其他问题,要确认一下,贵司是否已经有official patch for such issue

0 Kudos

2,463 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Hi Cloudy,

      Would you please send a short video you can't play to me ? let me try !

Regards,

Weidong

0 Kudos