0
我嘗試硬件讀取read_media組件http://home.nouwen.name/RaspberryPi/doc媒體文件... media.html 首先,我創建組件:OpenMax的read_media
// create read_media
if(status == 0 && ilclient_create_component(client, &read_media, "read_media",ILCLIENT_DISABLE_ALL_PORTS) != 0){status = -14; printf("=> ilclient_create_component() for read_media failed!!\n");exit(1);}
list[0] = read_media;
接下來,我創建PARAM:
OMX_PARAM_CONTENTURITYPE *in_file_uri;
然後我分配內存並建立uri文件:
//read_media
OMX_U8 *file_name="/home/pi/git_video/firmware/opt/vc/src/hello_pi/hello_video/test.h264";
size_t lenght=strlen(file_name)+1;
size_t param_size=sizeof(OMX_PARAM_CONTENTURITYPE)+lenght-1;
//memset(&in_file_uri, 0,param_size);
in_file_uri=malloc(param_size);
in_file_uri->nSize = param_size;
in_file_uri->nVersion.nVersion = OMX_VERSION;
memcpy(in_file_uri->contentURI,file_name,lenght);
printf("==>URI: SIZE %d, %s \n",in_file_uri->nSize,in_file_uri->contentURI);
最後我設置參數爲rea d_media組件:
OMX_ERRORTYPE r=OMX_SetParameter(ILC_GET_HANDLE(read_media), OMX_IndexParamContentURI,in_file_uri);
if(r!=OMX_ErrorNone){printf("=> Failed set port params (read_media),error %f \n",r);status=-1;}
但是設置了元件提交的參數,有什麼錯?任何幫助我嗎?