Dear Greatest Developers !
Envrionment
- GStreamer 1.16.4 (With GST-OMX)
- ARM base
How to reproduce
cmd : gst-launch-1.0 playbin uri="http://www-itec.uni-klu.ac.at/ftp/datasets/mmsys12/RedBullPlayStreets/redbull_4s/RedBullPlayStreets_4s_isoffmain_DIS_23009_1_v_2_1c2_2011_08_30.mpd" video-sink=v4l2sink
GST_LOG
0:00:24.657274193 20562 0xb2501c30 INFO omx gstomx.c:2048:gst_omx_port_wait_buffers_released_unlocked:<omxh264dec-omxh264dec0> Waiting for avcdec port 1 to release all buffers
0:00:24.657304861 20562 0xb2501c30 DEBUG omx gstomx.c:469:gst_omx_component_wait_message:<omxh264dec-omxh264dec0> avcdec waiting for 1000000us
0:00:24.686855265 20562 0xb1224350 DEBUG omx gstomx.c:1506:gst_omx_port_release_buffer:<omxh264dec-omxh264dec0> Releasing buffer 0xb1204a18 (0xb121a970) to avcdec port 1
0:00:24.686903891 20562 0xb1224350 DEBUG omx gstomx.c:1535:gst_omx_port_release_buffer:<omxh264dec-omxh264dec0> avcdec port 1 is flushing or disabled, not releasing buffer
0:00:24.686955433 20562 0xb2501c30 DEBUG omx gstomx.c:469:gst_omx_component_wait_message:<omxh264dec-omxh264dec0> avcdec waiting for 1000000us
0:00:24.720172305 20562 0xb1224350 DEBUG omx gstomx.c:1506:gst_omx_port_release_buffer:<omxh264dec-omxh264dec0> Releasing buffer 0xb1204a30 (0xb1219c00) to avcdec port 1
0:00:24.720222889 20562 0xb1224350 DEBUG omx gstomx.c:1535:gst_omx_port_release_buffer:<omxh264dec-omxh264dec0> avcdec port 1 is flushing or disabled, not releasing buffer
0:00:24.720274889 20562 0xb2501c30 DEBUG omx gstomx.c:469:gst_omx_component_wait_message:<omxh264dec-omxh264dec0> avcdec waiting for 1000000us
0:00:25.720359040 20562 0xb2501c30 ERROR omx gstomx.c:2085:gst_omx_port_wait_buffers_released_unlocked:<omxh264dec-omxh264dec0> Timeout waiting for avcdec port 1 to release all buffers</omxh264dec-omxh264dec0></omxh264dec-omxh264dec0></omxh264dec-omxh264dec0></omxh264dec-omxh264dec0></omxh264dec-omxh264dec0></omxh264dec-omxh264dec0></omxh264dec-omxh264dec0></omxh264dec-omxh264dec0></omxh264dec-omxh264dec0>
GDB BackTrace
Thread 10 (Thread 0xb01fb470 (LWP 20573)):
0 0xb6d5054c in __pthread_cond_wait (cond=cond@entry=0xb1216ff8, mutex=mutex@entry=0xb1217028) at /usr/src/debug/glibc/linaro-2.20-r2014.11/glibc-linaro-2.20-2014.11/nptl/pthread_cond_wait.c:188
1 0xb3b1fc28 in tsem_down (tsem=0xb1216ff8) at /usr/src/debug/libomxil-telechips/1.0.0-r0/git/src/omx/omx_base/src/tsemaphore.c:68
2 0xb3b1e818 in omx_base_filter_BufferMgmtFunction (param=0x0) at /usr/src/debug/libomxil-telechips/1.0.0-r0/git/src/omx/omx_base/src/omx_base_filter.c:147
3 0xb6d4ab9c in start_thread (arg=0xb01fb470) at /usr/src/debug/glibc/linaro-2.20-r2014.11/glibc-linaro-2.20-2014.11/nptl/pthread_create.c:315
Thread 9 (Thread 0xb11ff470 (LWP 20572)):
0 0xb6d5054c in __pthread_cond_wait (cond=cond@entry=0xb12174a0, mutex=mutex@entry=0xb12174d0) at /usr/src/debug/glibc/linaro-2.20-r2014.11/glibc-linaro-2.20-2014.11/nptl/pthread_cond_wait.c:188
1 0xb3b1fc28 in tsem_down (tsem=0xb12174a0) at /usr/src/debug/libomxil-telechips/1.0.0-r0/git/src/omx/omx_base/src/tsemaphore.c:68
2 0xb3b1d0bc in base_port_DisablePort (openmaxStandPort=0xb12172a0) at /usr/src/debug/libomxil-telechips/1.0.0-r0/git/src/omx/omx_base/src/omx_base_port.c:275
3 0xb3b1bbf0 in omx_base_component_MessageHandler (openmaxStandComp=openmaxStandComp@entry=0xb1214d38, message=message@entry=0xb1249e90)
at /usr/src/debug/libomxil-telechips/1.0.0-r0/git/src/omx/omx_base/src/omx_base_component.c:1577
4 0xb3b35a40 in omx_videodec_component_MessageHandler (openmaxStandComp=0xb1214d38, message=0xb1249e90)
at /usr/src/debug/libomxil-telechips/1.0.0-r0/git/src/omx/omx_videodec_component/src/omx_videodec_component.c:10531
5 0xb3b1b170 in compMessageHandlerFunction (param=0xb1214d38) at /usr/src/debug/libomxil-telechips/1.0.0-r0/git/src/omx/omx_base/src/omx_base_component.c:1392
6 0xb6d4ab9c in start_thread (arg=0xb11ff470) at /usr/src/debug/glibc/linaro-2.20-r2014.11/glibc-linaro-2.20-2014.11/nptl/pthread_create.c:315
7 0xb6cd8c80 in () at ../sysdeps/unix/sysv/linux/arm/clone.S:89
Thread 8 (Thread 0xb1bff470 (LWP 20571)):
0 0xb6cd519c in syscall () at ../sysdeps/unix/sysv/linux/arm/syscall.S:37
1 0xb6dfb51c in g_cond_wait (cond=cond@entry=0xb4c046f8, mutex=mutex@entry=0xb4c046f0) at /usr/src/debug/glib-2.0/1_2.52.3-r0/glib-2.52.3/glib/gthread-posix.c:1395
2 0xb3b57044 in gst_omx_component_wait_message (comp=comp@entry=0xb4c046b8, timeout=<optimized out="">) at /usr/src/debug/gstreamer1.0-omx/1.2.0-r0/git/omx/gstomx.c:485</optimized>
3 0xb3b5e4b0 in gst_omx_component_get_state (comp=0xb4c046b8, timeout=<optimized out="">) at /usr/src/debug/gstreamer1.0-omx/1.2.0-r0/git/omx/gstomx.c:971</optimized>
4 0xb3b66870 in gst_omx_video_dec_flush (decoder=0xb1210408 [GstOMXH264Dec-omxh264dec]) at /usr/src/debug/gstreamer1.0-omx/1.2.0-r0/git/omx/gstomxvideodec.c:2864
6 0xb6841b78 in gst_video_decoder_setcaps (caps=0xb2503f68, decoder=0xb1210408 [GstOMXH264Dec-omxh264dec]) at /usr/src/debug/gstreamer1.0-plugins-base/1.10.4-r0/git/gst-libs/gst/video/gstvideodecoder.c:714
7 0xb6841b78 in gst_video_decoder_sink_event_default (decoder=0xb1210408 [GstOMXH264Dec-omxh264dec], event=0xb2502868)
at /usr/src/debug/gstreamer1.0-plugins-base/1.10.4-r0/git/gst-libs/gst/video/gstvideodecoder.c:1137
8 0xb3b611ec in gst_omx_video_dec_sink_event (decoder=0xb1210408 [GstOMXH264Dec-omxh264dec], event=0xb2502868) at /usr/src/debug/gstreamer1.0-omx/1.2.0-r0/git/omx/gstomxvideodec.c:922
9 0xb6f244e0 in gst_pad_send_event_unchecked (pad=pad@entry=0xb1212020 [GstPad], event=event@entry=0xb2502868, type=<optimized out="">, type@entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM)</optimized>
at /usr/src/debug/gstreamer1.0/1.10.4-r0/git/gst/gstpad.c:5613
10 0xb6f24a44 in gst_pad_push_event_unchecked (pad=pad@entry=0xb3708bf8 [GstPad], event=0xb2502868, type=type@entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM)
at /usr/src/debug/gstreamer1.0/1.10.4-r0/git/gst/gstpad.c:5269
11 0xb6f24e9c in push_sticky (pad=0xb3708bf8 [GstPad], ev=0xb1bfe558, user_data=0xb1bfe59c) at /usr/src/debug/gstreamer1.0/1.10.4-r0/git/gst/gstpad.c:3812
12 0xb6f227cc in events_foreach (pad=pad@entry=0xb3708bf8 [GstPad], func=0xb6f227cc <events_foreach+112>, user_data=0x81, user_data@entry=0xb1bfe594)</events_foreach+112>
at /usr/src/debug/gstreamer1.0/1.10.4-r0/git/gst/gstpad.c:604
13 0xb6f309ac in check_sticky (event=0xb1267520, pad=0xb3708bf8 [GstPad]) at /usr/src/debug/gstreamer1.0/1.10.4-r0/git/gst/gstpad.c:3869
14 0xb6f309ac in gst_pad_push_event (pad=0xb3708bf8 [GstPad], event=event@entry=0xb1267520) at /usr/src/debug/gstreamer1.0/1.10.4-r0/git/gst/gstpad.c:5400
15 0xb6708868 in gst_base_transform_sink_eventfunc (trans=trans@entry=0xb4c0e180 [GstCapsFilter], event=0xb1267520) at /usr/src/debug/gstreamer1.0/1.10.4-r0/git/libs/gst/base/gstbasetransform.c:1961
---Type <return> to continue, or q <return> to quit---</return></return>
16 0xb6062bc4 in gst_capsfilter_sink_event (trans=0xb4c0e180 [GstCapsFilter], event=0xb1267520) at /usr/src/debug/gstreamer1.0/1.10.4-r0/git/plugins/elements/gstcapsfilter.c:521
17 0xb6f244e0 in gst_pad_send_event_unchecked (pad=pad@entry=0xb3708aa8 [GstPad], event=event@entry=0xb1267520, type=<optimized out="">, type@entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM)</optimized>
at /usr/src/debug/gstreamer1.0/1.10.4-r0/git/gst/gstpad.c:5613
18 0xb6f24a44 in gst_pad_push_event_unchecked (pad=pad@entry=0xb3708958 [GstPad], event=0xb1267520, type=type@entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM)
at /usr/src/debug/gstreamer1.0/1.10.4-r0/git/gst/gstpad.c:5269
19 0xb6f24e9c in push_sticky (pad=0xb3708958 [GstPad], ev=0xb1bfe788, user_data=0xb1bfe7cc) at /usr/src/debug/gstreamer1.0/1.10.4-r0/git/gst/gstpad.c:3812
20 0xb6f227cc in events_foreach (pad=pad@entry=0xb3708958 [GstPad], func=0xb6f227cc <events_foreach+112>, user_data=0x81, user_data@entry=0xb1bfe7c4)</events_foreach+112>
at /usr/src/debug/gstreamer1.0/1.10.4-r0/git/gst/gstpad.c:604
21 0xb6f309ac in check_sticky (event=0xb1267520, pad=0xb3708958 [GstPad]) at /usr/src/debug/gstreamer1.0/1.10.4-r0/git/gst/gstpad.c:3869
22 0xb6f309ac in gst_pad_push_event (pad=0xb3708958 [GstPad], event=0xb1267520) at /usr/src/debug/gstreamer1.0/1.10.4-r0/git/gst/gstpad.c:5400
23 0xb66dbacc in gst_base_parse_push_pending_events (parse=parse@entry=0xb4c08e68 [GstH264Parse]) at /usr/src/debug/gstreamer1.0/1.10.4-r0/git/libs/gst/base/gstbaseparse.c:2253
24 0xb66e315c in gst_base_parse_push_frame (parse=parse@entry=0xb4c08e68 [GstH264Parse], frame=frame@entry=0xb4c10d50) at /usr/src/debug/gstreamer1.0/1.10.4-r0/git/libs/gst/base/gstbaseparse.c:2437
25 0xb66e7e1c in gst_base_parse_handle_and_push_frame (frame=0xb4c10d50, parse=0xb4c08e68 [GstH264Parse]) at /usr/src/debug/gstreamer1.0/1.10.4-r0/git/libs/gst/base/gstbaseparse.c:2360
26 0xb66e7e1c in gst_base_parse_finish_frame (parse=parse@entry=0xb4c08e68 [GstH264Parse], frame=frame@entry=0xb4c10d50, size=<optimized out="">)</optimized>
at /usr/src/debug/gstreamer1.0/1.10.4-r0/git/libs/gst/base/gstbaseparse.c:2701
27 0xb3c2b904 in gst_h264_parse_handle_frame_packetized (frame=0xb4c10d50, parse=0xb4c08e68 [GstH264Parse]) at /usr/src/debug/gstreamer1.0-plugins-bad/1.10.4-r0/git/gst/videoparsers/gsth264parse.c:1016
28 0xb3c2b904 in gst_h264_parse_handle_frame (parse=0xb4c08e68 [GstH264Parse], frame=0xb4c10d50, skipsize=<optimized out="">)</optimized>
at /usr/src/debug/gstreamer1.0-plugins-bad/1.10.4-r0/git/gst/videoparsers/gsth264parse.c:1068
29 0xb66df500 in gst_base_parse_handle_buffer (parse=parse@entry=0xb4c08e68 [GstH264Parse], buffer=0xb3d72c00, skip=0xb1bfeb64, skip@entry=0xb1bfeb5c, flushed=0xb1bfeb68, flushed@entry=0xb1bfeb60)
at /usr/src/debug/gstreamer1.0/1.10.4-r0/git/libs/gst/base/gstbaseparse.c:2168
30 0xb66e4808 in gst_base_parse_chain (pad=<optimized out="">, parent=0xb4c08e68 [GstH264Parse], buffer=<optimized out="">) at /usr/src/debug/gstreamer1.0/1.10.4-r0/git/libs/gst/base/gstbaseparse.c:3240</optimized></optimized>
31 0xb6f258cc in gst_pad_chain_data_unchecked (data=0xb3d7d988, type=4112, pad=0xb3708808 [GstPad]) at /usr/src/debug/gstreamer1.0/1.10.4-r0/git/gst/gstpad.c:4210
32 0xb6f258cc in gst_pad_push_data (pad=pad@entry=0xb37086b8 [GstPad], type=type@entry=4112, data=data@entry=0xb3d7d988) at /usr/src/debug/gstreamer1.0/1.10.4-r0/git/gst/gstpad.c:4462
33 0xb6f2f6a0 in gst_pad_push (pad=0xb37086b8 [GstPad], buffer=buffer@entry=0xb3d7d988) at /usr/src/debug/gstreamer1.0/1.10.4-r0/git/gst/gstpad.c:4581
34 0xb6085814 in gst_single_queue_push_one (allow_drop=<synthetic pointer="">, object=0xb3d7d988, sq=0xb4c06000, mq=<optimized out="">)</optimized></synthetic>
at /usr/src/debug/gstreamer1.0/1.10.4-r0/git/plugins/elements/gstmultiqueue.c:1611
35 0xb6085814 in gst_multi_queue_loop (pad=<optimized out="">) at /usr/src/debug/gstreamer1.0/1.10.4-r0/git/plugins/elements/gstmultiqueue.c:1923</optimized>
36 0xb6f627dc in gst_task_func (task=0xb3709220 [GstTask]) at /usr/src/debug/gstreamer1.0/1.10.4-r0/git/gst/gsttask.c:334
37 0xb6ddc3f8 in g_thread_pool_thread_proxy (data=<optimized out="">) at /usr/src/debug/glib-2.0/1_2.52.3-r0/glib-2.52.3/glib/gthreadpool.c:307</optimized>
38 0xb6ddb8f0 in g_thread_proxy (data=0xb2501c30) at /usr/src/debug/glib-2.0/1_2.52.3-r0/glib-2.52.3/glib/gthread.c:784
39 0xb6d4ab9c in start_thread (arg=0xb1bff470) at /usr/src/debug/glibc/linaro-2.20-r2014.11/glibc-linaro-2.20-2014.11/nptl/pthread_create.c:315
40 0xb6cd8c80 in () at ../sysdeps/unix/sysv/linux/arm/clone.S:89
I don't know Why some threads are bloced after changed video
in this case the resolution changed test in streaming
I think some process not work... please help me.
Why base_port_DisablePort , omx_base_filter_BufferMgmtFunction,
are stopped ..
Thanks