OMX read_media

Hi, I try, on Raspberry, hardware read media file with read_media component http://home.nouwen.name/RaspberryPi/doc … media.html
First I create component:

   // 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!!
");exit(1);}
   list[0] = read_media;

Next I create param:

OMX_PARAM_CONTENTURITYPE *in_file_uri;

Then I allocate memory and set up uri to file:

   //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 
",in_file_uri->nSize,in_file_uri->contentURI);

And finaly I setup param to read_media component:

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 
",r);status=-1;}

But set params of component filed, what wrong? Can any help me?