Застрял на ilclient_get_input_buffer

#c #raspberry-pi #raspberry-pi3 #raspbian #openmax

#c #raspberry-pi #raspberry-pi3 #raspbian #openmax

Вопрос:

В настоящее время моя программа застревает на этом вызове: ilclient_get_input_buffer(). К сожалению, из-за отсутствия документации по openmax IL я не могу до конца понять, что я делаю неправильно.

 if(ilclient_create_component(decoder->Client, amp;decoder->Video_Decode, "video_decode", ILCLIENT_CREATE_FLAGS_T(ILCLIENT_DISABLE_ALL_PORTS | ILCLIENT_ENABLE_INPUT_BUFFERS)) != 0) {
    return;
  }

set_tunnel(decoder->Tunnel,     decoder->Video_Decode,    131, decoder->Video_Render, 10);

ilclient_change_component_state(decoder->Video_Decode, OMX_StateExecuting);

if (OMX_SetParameter(ILC_GET_HANDLE(decoder->Video_Decode), OMX_IndexParamVideoPortFormat, amp;decoder->Format) == OMX_ErrorNone amp;amp;
        ilclient_enable_port_buffers(decoder->Video_Decode, 130, NULL, NULL, NULL) == 0) {
     ilclient_change_component_state(decoder->Video_Decode, OMX_StateExecuting);
  }

decoder->Buffer = ilclient_get_input_buffer(decoder->Video_Decode, 130, 1);
  

Буду признателен за любую помощь!

Комментарии:

1. Если block ненулевая функция будет блокироваться до тех пор, пока не будет доступен буфер.

2. как я могу заставить его вернуть буфер тогда? Я ничего не могу сделать, если он не выделяет буфер для меня. Я почти уверен, что неправильно инициализировал его