<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>