在7802ATSC方案上播放规格为Format profile:High@L4.0的节目时,视频获取到正确的视频数据,导致不能正常解码视频无法输出。处理方法是在切台流程里每次执行MApi_VDEC_EX_Init函数之前,先调用底层MApi_VDEC_EX_PreSetControl函数清一下VDEC内存,如下:
static MS_BOOL _Zapper_Enable_AV(ZAPPER_VIEW* pstView)
{
......
if ((pstView->wVideoPID != 0) && (pstView->wVideoPID != INVALID_PID))
{
if (pstView->u32VduFlt == ZAP_INVALID_FILTER_ID)
{
......
MApi_VDEC_EX_PreSetControl(&_gstStreamId, E_VDEC_EX_USER_CMD_HVD_ONE_PENDING_BUFFER_MODE, TRUE);
if(E_VDEC_EX_OK != MApi_VDEC_EX_Init(&_gstStreamId, &initParam))
{
MApi_VDEC_EX_Exit(&_gstStreamId);
MApi_VDEC_EX_PreSetControl(&_gstStreamId, E_VDEC_EX_USER_CMD_HVD_ONE_PENDING_BUFFER_MODE, TRUE);
if(E_VDEC_EX_OK != MApi_VDEC_EX_Init(&_gstStreamId, &initParam ))
{
HB_ASSERT(FALSE);
return FALSE;
}
}
......
}
}
......
return TRUE;
}
|