<div dir="ltr"><div><div><div>Hi,<br><br></div>I am using gst-omx with libomxil-bellagio (with ffmpeg codecs enabled).<br></div><br>I tried following commands like:<br><br>gst-launch-1.0 filesrc location=~/Downloads/video_test.mp4 ! mpeg4videoparse ! omxmpeg4videodec ! filesink location=~/video.raw<br>
gst-launch-1.0 filesrc location=~/big.h264 ! h264parse ! omxh264dec ! filesink location=test.mp4<br><br></div><div>But both commands stuck on  <b>g_cond_wait (&comp->messages_cond, &comp->messages_lock) </b>in gst_omx_port_acquire_buffer() / gstomx.c<br>
<br>  /* If this is an input port and at least one of the output ports<br>   * needs to be reconfigured, we wait until all output ports are<br>   * reconfigured. Afterwards this port is reconfigured if required<br>   * or buffers are returned to be filled as usual.<br>
   */<br>  if (port->port_def.eDir == OMX_DirInput) {<br>    if (comp->pending_reconfigure_outports) {<br>      gst_omx_component_handle_messages (comp);<br>      while (comp->pending_reconfigure_outports &&<br>
          (err = comp->last_error) == OMX_ErrorNone && !port->flushing) {<br>        GST_DEBUG_OBJECT (comp->parent,<br>            "Waiting for %s output ports to reconfigure", comp->name);<br>
        g_mutex_lock (&comp->messages_lock);<br>        g_mutex_unlock (&comp->lock);<br>        if (g_queue_is_empty (&comp->messages))<br>          <b>g_cond_wait (&comp->messages_cond, &comp->messages_lock);</b><br>
        g_mutex_unlock (&comp->messages_lock);<br>        g_mutex_lock (&comp->lock);<br>        gst_omx_component_handle_messages (comp);<br>      }<br>      goto retry;<br>    }<br></div><div><br></div>And getting following errors logs:<br>
<div><br>OMX-In omx_base_component_GetParameter<br>OMX-Getting parameter 33554433<br>0:00:00.198007423  7636       0xbcd280 DEBUG                    omx gstomx.c:1000:gst_omx_component_get_parameter:<omxmpeg4videodec-omxmpeg4videodec0> Got mpeg4 parameter at index 0x02000001: None (0x00000000)<br>
0:00:00.198021042  7636       0xbcd280 DEBUG                    omx gstomx.c:1191:gst_omx_port_update_port_definition:<omxmpeg4videodec-omxmpeg4videodec0> Updated mpeg4 port 1 definition: None (0x00000000)<br>OMX-In omx_base_component_SendCommand<br>
OMX-In omx_base_component_SendCommand messageSem up param=1<br>0:00:00.198056452  7636       0xbcd280 DEBUG                    omx gstomx.c:997:gst_omx_component_get_parameter:<omxmpeg4videodec-omxmpeg4videodec0> Getting mpeg4 parameter at index 0x02000001<br>
OMX-In compMessageHandlerFunction<br>OMX-In omx_videodec_component_MessageHandler<br>OMX-In omx_base_component_MessageHandler<br>In base_port_DisablePort Port Index=1<br>OMX-In base_port_DisablePort Port Index=1<br>OMX-In base_port_DisablePort TFlag=0 Qelem=0 BSem=0 bMgmtsem=0 component=OMX.st.video_decoder.mpeg4<br>
OMX-Out base_port_DisablePort Port Index=1 isEnabled=0<br>0:00:00.210366122  7636 0x7f3e38001930 DEBUG                    omx gstomx.c:422:EventHandler:<omxmpeg4videodec-omxmpeg4videodec0> mpeg4 DisablePort command complete (2)<br>
0:00:00.210387843  7636 0x7f3e38001930 DEBUG                    omx gstomx.c:458:EventHandler:<omxmpeg4videodec-omxmpeg4videodec0> mpeg4 port 1 disabled<br>OMX-Returning from omx_base_component_MessageHandler: <br>OMX-   Getting parameter 33554433<br>
OMX-In omx_base_component_GetParameter<br>OMX-Getting parameter 33554433<br>0:00:00.210434497  7636       0xbcd280 DEBUG                    omx gstomx.c:1000:gst_omx_component_get_parameter:<omxmpeg4videodec-omxmpeg4videodec0> Got mpeg4 parameter at index 0x02000001: None (0x00000000)<br>
0:00:00.210448954  7636       0xbcd280 DEBUG                    omx gstomx.c:1191:gst_omx_port_update_port_definition:<omxmpeg4videodec-omxmpeg4videodec0> Updated mpeg4 port 1 definition: None (0x00000000)<br>0:00:00.210463551  7636       0xbcd280 INFO                     omx gstomx.c:1914:gst_omx_port_set_enabled_unlocked:<omxmpeg4videodec-omxmpeg4videodec0> Set mpeg4 port 1 to disabled: None (0x00000000)<br>
0:00:00.210479265  7636       0xbcd280 DEBUG                    omx gstomx.c:997:gst_omx_component_get_parameter:<omxmpeg4videodec-omxmpeg4videodec0> Getting mpeg4 parameter at index 0x02000001<br>OMX-   Getting parameter 33554433<br>
OMX-In omx_base_component_GetParameter<br>OMX-Getting parameter 33554433<br>0:00:00.210512998  7636       0xbcd280 DEBUG                    omx gstomx.c:1000:gst_omx_component_get_parameter:<omxmpeg4videodec-omxmpeg4videodec0> Got mpeg4 parameter at index 0x02000001: None (0x00000000)<br>
0:00:00.210527386  7636       0xbcd280 DEBUG                    omx gstomx.c:1191:gst_omx_port_update_port_definition:<omxmpeg4videodec-omxmpeg4videodec0> Updated mpeg4 port 1 definition: None (0x00000000)<br>0:00:00.210542192  7636       0xbcd280 DEBUG                    omx gstomx.c:279:gst_omx_component_handle_messages:<omxmpeg4videodec-omxmpeg4videodec0> mpeg4 port 1 disabled<br>
0:00:00.210556020  7636       0xbcd280 INFO                     omx gstomx.c:2155:gst_omx_port_wait_enabled_unlocked:<omxmpeg4videodec-omxmpeg4videodec0> Waiting for mpeg4 port 1 to be disabled<br>0:00:00.210570058  7636       0xbcd280 DEBUG                    omx gstomx.c:2168:gst_omx_port_wait_enabled_unlocked:<omxmpeg4videodec-omxmpeg4videodec0> mpeg4 waiting for 1000000us<br>
0:00:00.210583468  7636       0xbcd280 DEBUG                    omx gstomx.c:997:gst_omx_component_get_parameter:<omxmpeg4videodec-omxmpeg4videodec0> Getting mpeg4 parameter at index 0x02000001<br>OMX-   Getting parameter 33554433<br>
OMX-In omx_base_component_GetParameter<br>OMX-Getting parameter 33554433<br>0:00:00.210613989  7636       0xbcd280 DEBUG                    omx gstomx.c:1000:gst_omx_component_get_parameter:<omxmpeg4videodec-omxmpeg4videodec0> Got mpeg4 parameter at index 0x02000001: None (0x00000000)<br>
0:00:00.210627677  7636       0xbcd280 DEBUG                    omx gstomx.c:1191:gst_omx_port_update_port_definition:<omxmpeg4videodec-omxmpeg4videodec0> Updated mpeg4 port 1 definition: None (0x00000000)<br>0:00:00.210641995  7636       0xbcd280 DEBUG                    omx gstomx.c:997:gst_omx_component_get_parameter:<omxmpeg4videodec-omxmpeg4videodec0> Getting mpeg4 parameter at index 0x02000001<br>
OMX-   Getting parameter 33554433<br>OMX-In omx_base_component_GetParameter<br>OMX-Getting parameter 33554433<br>0:00:00.210672795  7636       0xbcd280 DEBUG                    omx gstomx.c:1000:gst_omx_component_get_parameter:<omxmpeg4videodec-omxmpeg4videodec0> Got mpeg4 parameter at index 0x02000001: None (0x00000000)<br>
0:00:00.210686414  7636       0xbcd280 DEBUG                    omx gstomx.c:1191:gst_omx_port_update_port_definition:<omxmpeg4videodec-omxmpeg4videodec0> Updated mpeg4 port 1 definition: None (0x00000000)<br>0:00:00.210700312  7636       0xbcd280 INFO                     omx gstomx.c:2230:gst_omx_port_wait_enabled_unlocked:<omxmpeg4videodec-omxmpeg4videodec0> mpeg4 port 1 is disabled: None (0x00000000)<br>
0:00:00.210715468  7636       0xbcd280 INFO                     omx gstomx.c:756:gst_omx_component_set_state:<omxmpeg4videodec-omxmpeg4videodec0> Setting mpeg4 state from Loaded to Idle<br>OMX-In omx_base_component_SendCommand<br>
OMX-In compMessageHandlerFunction<br>OMX-In omx_videodec_component_MessageHandler<br>OMX-In omx_base_component_MessageHandler<br>OMX-In omx_base_component_DoStateSet<br>OMX-Changing state from 1 to 2<br>OMX-pPort=12262288<br>
OMX-In omx_base_component_DoStateSet: wait for buffers. port enabled 1,  port populated 0<br>OMX-In omx_base_component_SendCommand messageSem up param=2<br>0:00:00.210792084  7636       0xbcd280 DEBUG                    omx gstomx.c:997:gst_omx_component_get_parameter:<omxmpeg4videodec-omxmpeg4videodec0> Getting mpeg4 parameter at index 0x02000001<br>
OMX-   Getting parameter 33554433<br>OMX-In omx_base_component_GetParameter<br>OMX-Getting parameter 33554433<br>0:00:00.210824280  7636       0xbcd280 DEBUG                    omx gstomx.c:1000:gst_omx_component_get_parameter:<omxmpeg4videodec-omxmpeg4videodec0> Got mpeg4 parameter at index 0x02000001: None (0x00000000)<br>
0:00:00.210838109  7636       0xbcd280 DEBUG                    omx gstomx.c:1191:gst_omx_port_update_port_definition:<omxmpeg4videodec-omxmpeg4videodec0> Updated mpeg4 port 0 definition: None (0x00000000)<br>0:00:00.210851938  7636       0xbcd280 INFO                     omx gstomx.c:1633:gst_omx_port_allocate_buffers_unlocked:<omxmpeg4videodec-omxmpeg4videodec0> Allocating 2 buffers of size 32768 for mpeg4 port 0<br>
OMX-In base_port_AllocateBuffer<br>OMX-openmaxStandPort->nNumAssignedBuffers 1<br>0:00:00.210897334  7636       0xbcd280 DEBUG                    omx gstomx.c:1674:gst_omx_port_allocate_buffers_unlocked:<omxmpeg4videodec-omxmpeg4videodec0> mpeg4: allocated buffer 0xaad780 (0x7f3e40017780)<br>
OMX-In base_port_AllocateBuffer<br>OMX-openmaxStandPort->nNumAssignedBuffers 2<br>OMX-In base_port_AllocateBuffer nPortIndex=0<br>OMX-Tunnel status : port 0 flags  0x0<br>OMX-pPort=12190720<br><b>OMX-In omx_base_component_DoStateSet: Port 1 Disabled So no wait</b><br>
OMX-Tunnel status : port 1 flags  0x0<br>OMX-running callback in omx_base_component_MessageHandler<br>0:00:00.211003074  7636 0x7f3e38001930 DEBUG                    omx gstomx.c:422:EventHandler:<omxmpeg4videodec-omxmpeg4videodec0> mpeg4 SetState command complete (0)<br>
0:00:00.211017252  7636 0x7f3e38001930 DEBUG                    omx gstomx.c:433:EventHandler:<omxmpeg4videodec-omxmpeg4videodec0> mpeg4 state change to Idle finished<br>OMX-Returning from omx_base_component_MessageHandler: <br>
0:00:00.211038972  7636       0xbcd280 DEBUG                    omx gstomx.c:1674:gst_omx_port_allocate_buffers_unlocked:<omxmpeg4videodec-omxmpeg4videodec0> mpeg4: allocated buffer 0xaaae20 (0x7f3e4001f790)<br>0:00:00.211053709  7636       0xbcd280 INFO                     omx gstomx.c:225:gst_omx_component_handle_messages:<omxmpeg4videodec-omxmpeg4videodec0> mpeg4 state change to Idle finished<br>
0:00:00.211067537  7636       0xbcd280 DEBUG                    omx gstomx.c:997:gst_omx_component_get_parameter:<omxmpeg4videodec-omxmpeg4videodec0> Getting mpeg4 parameter at index 0x02000001<br>OMX-   Getting parameter 33554433<br>
OMX-In omx_base_component_GetParameter<br>OMX-Getting parameter 33554433<br>0:00:00.214136289  7636       0xbcd280 DEBUG                    omx gstomx.c:1000:gst_omx_component_get_parameter:<omxmpeg4videodec-omxmpeg4videodec0> Got mpeg4 parameter at index 0x02000001: None (0x00000000)<br>
0:00:00.214164994  7636       0xbcd280 DEBUG                    omx gstomx.c:1191:gst_omx_port_update_port_definition:<omxmpeg4videodec-omxmpeg4videodec0> Updated mpeg4 port 0 definition: None (0x00000000)<br>0:00:00.214175121  7636       0xbcd280 INFO                     omx gstomx.c:1690:gst_omx_port_allocate_buffers_unlocked:<omxmpeg4videodec-omxmpeg4videodec0> Allocated buffers for mpeg4 port 0: None (0x00000000)<br>
0:00:00.214187902  7636       0xbcd280 DEBUG                    omx gstomx.c:807:gst_omx_component_get_state:<omxmpeg4videodec-omxmpeg4videodec0> Getting state of mpeg4<br>0:00:00.214197331  7636       0xbcd280 DEBUG                    omx gstomx.c:884:gst_omx_component_get_state:<omxmpeg4videodec-omxmpeg4videodec0> mpeg4 returning state Idle<br>
0:00:00.214206061  7636       0xbcd280 INFO                     omx gstomx.c:756:gst_omx_component_set_state:<omxmpeg4videodec-omxmpeg4videodec0> Setting mpeg4 state from Idle to Executing<br>OMX-In omx_base_component_SendCommand<br>
OMX-In compMessageHandlerFunction<br>OMX-In omx_videodec_component_MessageHandler<br>OMX-In omx_base_component_MessageHandler<br>OMX-In omx_base_component_DoStateSet<br>OMX-Changing state from 2 to 3<br>OMX-running callback in omx_base_component_MessageHandler<br>
0:00:00.214241889  7636 0x7f3e38001930 DEBUG                    omx gstomx.c:422:EventHandler:<omxmpeg4videodec-omxmpeg4videodec0> mpeg4 SetState command complete (0)<br>0:00:00.214251597  7636 0x7f3e38001930 DEBUG                    omx gstomx.c:433:EventHandler:<omxmpeg4videodec-omxmpeg4videodec0> mpeg4 state change to Executing finished<br>
OMX-Returning from omx_base_component_MessageHandler: <br>OMX-In omx_base_component_SendCommand messageSem up param=32574<br>0:00:00.214269127  7636       0xbcd280 INFO                     omx gstomx.c:225:gst_omx_component_handle_messages:<omxmpeg4videodec-omxmpeg4videodec0> mpeg4 state change to Executing finished<br>
0:00:00.214279673  7636       0xbcd280 DEBUG                    omx gstomx.c:807:gst_omx_component_get_state:<omxmpeg4videodec-omxmpeg4videodec0> Getting state of mpeg4<br>0:00:00.214288334  7636       0xbcd280 DEBUG                    omx gstomx.c:884:gst_omx_component_get_state:<omxmpeg4videodec-omxmpeg4videodec0> mpeg4 returning state Executing<br>
0:00:00.214297064  7636       0xbcd280 DEBUG                    omx gstomx.c:1436:gst_omx_port_set_flushing:<omxmpeg4videodec-omxmpeg4videodec0> Setting mpeg4 port 0 to not flushing<br>0:00:00.214305654  7636       0xbcd280 DEBUG                    omx gstomx.c:1442:gst_omx_port_set_flushing:<omxmpeg4videodec-omxmpeg4videodec0> mpeg4 port 0 was not flushing already<br>
0:00:00.214314105  7636       0xbcd280 DEBUG                    omx gstomx.c:997:gst_omx_component_get_parameter:<omxmpeg4videodec-omxmpeg4videodec0> Getting mpeg4 parameter at index 0x02000001<br>OMX-   Getting parameter 33554433<br>
OMX-In omx_base_component_GetParameter<br>OMX-Getting parameter 33554433<br>0:00:00.214327934  7636       0xbcd280 DEBUG                    omx gstomx.c:1000:gst_omx_component_get_parameter:<omxmpeg4videodec-omxmpeg4videodec0> Got mpeg4 parameter at index 0x02000001: None (0x00000000)<br>
0:00:00.214336594  7636       0xbcd280 DEBUG                    omx gstomx.c:1191:gst_omx_port_update_port_definition:<omxmpeg4videodec-omxmpeg4videodec0> Updated mpeg4 port 0 definition: None (0x00000000)<br>0:00:00.214345534  7636       0xbcd280 DEBUG                    omx gstomx.c:1561:gst_omx_port_set_flushing:<omxmpeg4videodec-omxmpeg4videodec0> Set mpeg4 port 0 to not flushing: None (0x00000000)<br>
0:00:00.214354823  7636       0xbcd280 DEBUG                    omx gstomx.c:1436:gst_omx_port_set_flushing:<omxmpeg4videodec-omxmpeg4videodec0> Setting mpeg4 port 1 to not flushing<br>0:00:00.214363553  7636       0xbcd280 DEBUG                    omx gstomx.c:997:gst_omx_component_get_parameter:<omxmpeg4videodec-omxmpeg4videodec0> Getting mpeg4 parameter at index 0x02000001<br>
OMX-   Getting parameter 33554433<br>OMX-In omx_base_component_GetParameter<br>OMX-Getting parameter 33554433<br>0:00:00.214377661  7636       0xbcd280 DEBUG                    omx gstomx.c:1000:gst_omx_component_get_parameter:<omxmpeg4videodec-omxmpeg4videodec0> Got mpeg4 parameter at index 0x02000001: None (0x00000000)<br>
0:00:00.214386601  7636       0xbcd280 DEBUG                    omx gstomx.c:1191:gst_omx_port_update_port_definition:<omxmpeg4videodec-omxmpeg4videodec0> Updated mpeg4 port 1 definition: None (0x00000000)<br>0:00:00.214395750  7636       0xbcd280 DEBUG                    omx gstomx.c:1561:gst_omx_port_set_flushing:<omxmpeg4videodec-omxmpeg4videodec0> Set mpeg4 port 1 to not flushing: None (0x00000000)<br>
0:00:00.214405178  7636       0xbcd280 DEBUG                    omx gstomx.c:973:gst_omx_component_get_last_error:<omxmpeg4videodec-omxmpeg4videodec0> Returning last mpeg4 error: None (0x00000000)<br>0:00:00.214428505  7636       0xbcd280 DEBUG                    omx gstomx.c:1215:gst_omx_port_acquire_buffer:<omxmpeg4videodec-omxmpeg4videodec0> Acquiring mpeg4 buffer from port 0<br>
0:00:00.214438493  7636       0xbcd280 DEBUG                    omx gstomx.c:1326:gst_omx_port_acquire_buffer:<omxmpeg4videodec-omxmpeg4videodec0> mpeg4 port 0 has pending buffers<br>0:00:00.214447083  7636       0xbcd280 DEBUG                    omx gstomx.c:1345:gst_omx_port_acquire_buffer:<omxmpeg4videodec-omxmpeg4videodec0> Acquired buffer 0xaad780 (0x7f3e40017780) from mpeg4 port 0: 0<br>
0:00:00.214461820  7636       0xbcd280 DEBUG                    omx gstomx.c:1367:gst_omx_port_release_buffer:<omxmpeg4videodec-omxmpeg4videodec0> Releasing buffer 0xaad780 (0x7f3e40017780) to mpeg4 port 0<br>OMX-In omx_base_component_EmptyThisBuffer<br>
OMX-In base_port_SendBufferFunction portIndex 0<br>OMX-In base_port_SendBufferFunction Signalling bMgmtSem Port Index=0<br>0:00:00.214494505  7636       0xbcd280 DEBUG                    omx gstomx.c:1412:gst_omx_port_release_buffer:<omxmpeg4videodec-omxmpeg4videodec0> Released buffer 0xaad780 to mpeg4 port 0: None (0x00000000)<br>
0:00:00.214506658  7636       0xbcd280 DEBUG                    omx gstomx.c:1215:gst_omx_port_acquire_buffer:<omxmpeg4videodec-omxmpeg4videodec0> Acquiring mpeg4 buffer from port 0<br>0:00:00.214515877  7636       0xbcd280 DEBUG                    omx gstomx.c:1326:gst_omx_port_acquire_buffer:<omxmpeg4videodec-omxmpeg4videodec0> mpeg4 port 0 has pending buffers<br>
0:00:00.214524328  7636       0xbcd280 DEBUG                    omx gstomx.c:1345:gst_omx_port_acquire_buffer:<omxmpeg4videodec-omxmpeg4videodec0> Acquired buffer 0xaaae20 (0x7f3e4001f790) from mpeg4 port 0: 0<br>0:00:00.214560505  7636       0xbcd280 DEBUG                    omx gstomx.c:1367:gst_omx_port_release_buffer:<omxmpeg4videodec-omxmpeg4videodec0> Releasing buffer 0xaaae20 (0x7f3e4001f790) to mpeg4 port 0<br>
OMX-In omx_base_component_EmptyThisBuffer<br>OMX-In base_port_SendBufferFunction portIndex 0<br>OMX-In base_port_SendBufferFunction Signalling bMgmtSem Port Index=0<br>0:00:00.214577128  7636       0xbcd280 DEBUG                    omx gstomx.c:1412:gst_omx_port_release_buffer:<omxmpeg4videodec-omxmpeg4videodec0> Released buffer 0xaaae20 to mpeg4 port 0: None (0x00000000)<br>
0:00:00.244461312  7636       0xbcd280 DEBUG                    omx gstomx.c:1215:gst_omx_port_acquire_buffer:<omxmpeg4videodec-omxmpeg4videodec0> Acquiring mpeg4 buffer from port 0<br>0:00:00.244497700  7636       0xbcd280 DEBUG                    omx gstomx.c:1313:gst_omx_port_acquire_buffer:<omxmpeg4videodec-omxmpeg4videodec0> Queue of mpeg4 port 0 is empty<br>
0:00:00.244529896  7636 0x7f3e400024a0 DEBUG                    omx gstomx.c:1313:gst_omx_port_acquire_buffer:<omxmpeg4videodec-omxmpeg4videodec0> Queue of mpeg4 port 1 is empty<br>OMX-In omx_base_filter_BufferMgmtFunction<br>
OMX-Waiting for next input/output buffer<br>OMX-Waiting for input buffer semval=2 <br>OMX-Waiting for next input/output buffer<br>OMX-Waiting for input buffer semval=1 <br>OMX-Waiting for next input/output buffer<br><br>Any help from you is highly appreciated...!!!!<br>
<br></div><div>Thanks,<br><br></div></div>