We are building our pipeline, using tee to source data to H264 encoder and JPEG encoder seperately. However, the pipeline hangs sometimes, and we get the following backtrace. It seems that when textoverlay pushes data to tee sinkpad, tee sinkpad gets blocked in GST_PAD_STREAM_LOCK of gst_pad_chain_data_unchecked. Could anyone help?
BTW, we are using DVSDK 2.10.01.18, Linuxutils 2.24.02, Framework components 2.24.01, LSP 2.10, and gstreamer plugin 2.0.
#0 0x405e2f58 in pthread_mutex_lock () from /lib/libpthread.so.0
#1 0x405836ac in pthread_mutex_lock () from /lib/libc.so.6
#2 0x400c7cdc in IA__g_static_rec_mutex_lock (mutex=0xb6ac8) at gthread.c:313
#3 0x401cc3ec in gst_pad_chain_data_unchecked (pad=0xce4b0, is_buffer=1,
data=0xcb748) at gstpad.c:4076
#4 0x401cd608 in gst_pad_push_data (pad=0xce3e8, is_buffer=1, data=0xcb748)
at gstpad.c:4351
#5 0x401cddc4 in gst_pad_push (pad=0xce3e8, buffer=0xcb748) at gstpad.c:4455
#6 0x419140c0 in gst_text_overlay_video_chain (pad=0xce258, buffer=0xcb748)
at gsttitextoverlay.c:1617
#7 0x401cc684 in gst_pad_chain_data_unchecked (pad=0xce258, is_buffer=1,
data=0xcb748) at gstpad.c:4122
#8 0x401cd608 in gst_pad_push_data (pad=0xce190, is_buffer=1, data=0xcb748)
at gstpad.c:4351
#9 0x401cddc4 in gst_pad_push (pad=0xce190, buffer=0xcb748) at gstpad.c:4455
#10 0x419101c8 in gst_text_overlay_push_frame (overlay=0xd7010,
video_frame=0xcb748) at gsttitextoverlay.c:1225
#11 0x419140a0 in gst_text_overlay_video_chain (pad=0xce0c8, buffer=0xcb748)
at gsttitextoverlay.c:1614
#12 0x401cc684 in gst_pad_chain_data_unchecked (pad=0xce0c8, is_buffer=1,
data=0xcb748) at gstpad.c:4122
#13 0x401cd608 in gst_pad_push_data (pad=0xce000, is_buffer=1, data=0xcb748)
at gstpad.c:4351
#14 0x401cddc4 in gst_pad_push (pad=0xce000, buffer=0xcb748) at gstpad.c:4455
#15 0x4190c510 in gst_sw_osd_chain (pad=0xc8718, buf=0xcb748)
at gsttiswosd.c:601
#16 0x401cc684 in gst_pad_chain_data_unchecked (pad=0xc8718, is_buffer=1,
data=0xcb748) at gstpad.c:4122
#17 0x401cd608 in gst_pad_push_data (pad=0xc84c0, is_buffer=1, data=0xcb748)
at gstpad.c:4351
#18 0x401cddc4 in gst_pad_push (pad=0xc84c0, buffer=0xcb748) at gstpad.c:4455
#19 0x41909800 in gst_ce_dei_chain (pad=0xc83f8, buf=0xcb6e0)
at gstticedei.c:941
#20 0x401cc684 in gst_pad_chain_data_unchecked (pad=0xc83f8, is_buffer=1,
data=0xcb6e0) at gstpad.c:4122
#21 0x401cd608 in gst_pad_push_data (pad=0xc8330, is_buffer=1, data=0xcb6e0)
at gstpad.c:4351
#22 0x401cddc4 in gst_pad_push (pad=0xc8330, buffer=0xcb6e0) at gstpad.c:4455
#23 0x402d9f24 in gst_base_transform_chain (pad=0xc8268, buffer=0x8ac90)
at gstbasetransform.c:2081
#24 0x401cc684 in gst_pad_chain_data_unchecked (pad=0xc8268, is_buffer=1,
data=0x8ac90) at gstpad.c:4122
#25 0x401cd608 in gst_pad_push_data (pad=0xc81a0, is_buffer=1, data=0x8ac90)
at gstpad.c:4351
#26 0x401cddc4 in gst_pad_push (pad=0xc81a0, buffer=0x8ac90) at gstpad.c:4455
#27 0x402d9f24 in gst_base_transform_chain (pad=0xc80d8, buffer=0x8ac90)
at gstbasetransform.c:2081
#28 0x401cc684 in gst_pad_chain_data_unchecked (pad=0xc80d8, is_buffer=1,
data=0x8ac90) at gstpad.c:4122
#29 0x401cd608 in gst_pad_push_data (pad=0xc8010, is_buffer=1, data=0x8ac90)
at gstpad.c:4351
#30 0x401cddc4 in gst_pad_push (pad=0xc8010, buffer=0x8ac90) at gstpad.c:4455
#31 0x402ce600 in gst_base_src_loop (pad=0xc8010) at gstbasesrc.c:2444
#32 0x40210f7c in gst_task_func (task=0xf3230) at gsttask.c:238
#33 0x40212bd8 in default_func (tdata=0xbc930, pool=0x59c08)
at gsttaskpool.c:70
#34 0x400c92a8 in g_thread_pool_thread_proxy (data=<value optimized out>)
at gthreadpool.c:265
#35 0x400c7598 in g_thread_create_proxy (data=0xfae60) at gthread.c:635
#36 0x405df8f8 in start_thread () from /lib/libpthread.so.0
#37 0x405778c8 in clone () from /lib/libc.so.6
Backtrace stopped: frame did not save the PC