Flushing seek hangs

Davide Tuccilli tuccio89 at hotmail.com
Fri Feb 5 09:01:51 UTC 2016


Sure, here's the bt: http://pastebin.com/UhHESuK2

Also, I found out I don't get any deadlock using the same pipeline with 
avdec_h264 over omxh264dec, so that might be a hint.

On 05/02/2016 02:09, Thiago Santos wrote:
> On 02/03/2016 04:45 PM, Davide Tuccilli wrote:
>> Version is 1.7.0.1.
>>
>> Not sure if relevant, it's a Qt application, I'm running a GMainLoop 
>> in a QThread. This is the output of info threads:
>>
>>   Id   Target Id         Frame
>>   17   Thread 0x7367f450 (LWP 27021) "VCHIQ completio" 0x75bd7adc in 
>> ioctl () at ../sysdeps/unix/syscall-template.S:81
>>   16   Thread 0x72cff450 (LWP 27022) "HDispmanx Notif" 0x75d64a40 in 
>> do_futex_wait (isem=isem at entry=0x75b0fc70 
>> <dispmanx_notify_available_event+24>)
>>     at ../nptl/sysdeps/unix/sysv/linux/sem_wait.c:48
>>   15   Thread 0x724ff450 (LWP 27023) "HTV Notify" 0x75d64a40 in 
>> do_futex_wait (isem=isem at entry=0x75b0edec 
>> <tvservice_notify_available_event+24>)
>>     at ../nptl/sysdeps/unix/sysv/linux/sem_wait.c:48
>>   14   Thread 0x71cff450 (LWP 27024) "HCEC Notify" 0x75d64a40 in 
>> do_futex_wait (isem=isem at entry=0x75b0fb74 
>> <cecservice_notify_available_event+24>)
>>     at ../nptl/sysdeps/unix/sysv/linux/sem_wait.c:48
>>   13   Thread 0x70ee9450 (LWP 27025) "QThread" syscall () at 
>> ../ports/sysdeps/unix/sysv/linux/arm/syscall.S:37
>>   12   Thread 0x6f2ff450 (LWP 27029) "playbackfakeque" syscall () at 
>> ../ports/sysdeps/unix/sysv/linux/arm/syscall.S:37
>>   11   Thread 0x6e8ff450 (LWP 27030) "playbackvideoqu" syscall () at 
>> ../ports/sysdeps/unix/sysv/linux/arm/syscall.S:37
>>   10   Thread 0x6e0ff450 (LWP 27031) "typefind:sink" syscall () at 
>> ../ports/sysdeps/unix/sysv/linux/arm/syscall.S:37
>>   9    Thread 0x6d4ff450 (LWP 27032) "qtdemux0:sink" syscall () at 
>> ../ports/sysdeps/unix/sysv/linux/arm/syscall.S:37
>>   8    Thread 0x6faff450 (LWP 27033) "gstglnavigation" 0x75bd5730 in 
>> poll () at ../sysdeps/unix/syscall-template.S:81
>>   7    Thread 0x6ccff450 (LWP 27034) "gstglcontext" 0x75bd5730 in 
>> poll () at ../sysdeps/unix/syscall-template.S:81
>>   6    Thread 0x6c4ff450 (LWP 27035) "multiqueue0:src" syscall () at 
>> ../ports/sysdeps/unix/sysv/linux/arm/syscall.S:37
>>   5    Thread 0x6bcff450 (LWP 27036) "multiqueue0:src" syscall () at 
>> ../ports/sysdeps/unix/sysv/linux/arm/syscall.S:37
>>   4    Thread 0x6a25e450 (LWP 27037) "multiqueue0:src" 0x75d627a4 in 
>> __pthread_cond_wait (cond=cond at entry=0x6d75b058, 
>> mutex=mutex at entry=0x6d75b03c)
>>     at pthread_cond_wait.c:187
>>   3    Thread 0x69a5e450 (LWP 27038) "ILCS_HOST" 0x75d64a40 in 
>> do_futex_wait (isem=isem at entry=0x6d75b1ec)
>>     at ../nptl/sysdeps/unix/sysv/linux/sem_wait.c:48
>>   2    Thread 0x68eff450 (LWP 27039) "omxh264dec-omxh" syscall () at 
>> ../ports/sysdeps/unix/sysv/linux/arm/syscall.S:37
>> * 1    Thread 0x76efe000 (LWP 27020) "testbox" 0x75d65780 in 
>> __lll_lock_wait (futex=futex at entry=0x6d755108, private=<optimized out>)
>>     at ../ports/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.c:46
>>
>> This is the thread 1 bt:
> Do you have the other theads bt? It seems like the omx video decoder 
> flush handling waits for its thread to stop but the thread doesn't. We 
> need to figure out where is this thread stuck.
>
>>
>> #0  0x75d65780 in __lll_lock_wait (futex=futex at entry=0x6d755108, 
>> private=<optimized out>)
>>     at ../ports/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.c:46
>> #1  0x75d603c4 in __GI___pthread_mutex_lock (mutex=0x6d755108) at 
>> pthread_mutex_lock.c:114
>> #2  0x76def678 in gst_pad_stop_task (pad=0x6d758178) at gstpad.c:6050
>> #3  0x6a2fd358 in gst_omx_video_dec_flush (decoder=0x6d756138) at 
>> gstomxvideodec.c:2100
>> #4  0x76c67804 in gst_video_decoder_flush (dec=dec at entry=0x6d756138, 
>> hard=hard at entry=1) at gstvideodecoder.c:916
>> #5  0x76c6d6f8 in gst_video_decoder_sink_event_default 
>> (decoder=0x6d756138, event=0x6fc03b68) at gstvideodecoder.c:1402
>> #6  0x76de2634 in gst_pad_send_event_unchecked 
>> (pad=pad at entry=0x6d758028, event=event at entry=0x6fc03b68, 
>> type=<optimized out>, type at entry=23620896)
>>     at gstpad.c:5552
>> #7  0x76de2aec in gst_pad_push_event_unchecked 
>> (pad=pad at entry=0x16d42e0, event=event at entry=0x6fc03b68, type=23620896,
>>     type at entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at gstpad.c:5210
>> #8  0x76dedcc4 in gst_pad_push_event (pad=0x16d42e0, 
>> event=event at entry=0x6fc03b68) at gstpad.c:5347
>> #9  0x76cecdd8 in gst_base_transform_sink_eventfunc 
>> (trans=trans at entry=0x1682968, event=0x6fc03b68) at 
>> gstbasetransform.c:1958
>> #10 0x71265ee4 in gst_capsfilter_sink_event (trans=0x1682968, 
>> event=<optimized out>) at gstcapsfilter.c:522
>> #11 0x76de2634 in gst_pad_send_event_unchecked 
>> (pad=pad at entry=0x16d4190, event=event at entry=0x6fc03b68, 
>> type=<optimized out>, type at entry=1874869096)
>>     at gstpad.c:5552
>> #12 0x76de2aec in gst_pad_push_event_unchecked 
>> (pad=pad at entry=0x16d4040, event=event at entry=0x6fc03b68, type=1874869096,
>>     type at entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at gstpad.c:5210
>> #13 0x76dedcc4 in gst_pad_push_event (pad=0x16d4040, 
>> event=event at entry=0x6fc03b68) at gstpad.c:5347
>> #14 0x76cca244 in gst_base_parse_sink_event_default (parse=0x16a1a08, 
>> event=0x6fc03b68) at gstbaseparse.c:1378
>> #15 0x6d57e6d4 in gst_h264_parse_event (parse=0x16a1a08, 
>> event=0x6fc03b68) at gsth264parse.c:2707
>> #16 0x76de2634 in gst_pad_send_event_unchecked 
>> (pad=pad at entry=0x167ce90, event=event at entry=0x6fc03b68, 
>> type=<optimized out>,
>>     type at entry=GST_PAD_PROBE_TYPE_BLOCK) at gstpad.c:5552
>> #17 0x76de2aec in gst_pad_push_event_unchecked 
>> (pad=pad at entry=0x167cd40, event=event at entry=0x6fc03b68, 
>> type=GST_PAD_PROBE_TYPE_BLOCK,
>>     type at entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at gstpad.c:5210
>> #18 0x76dedcc4 in gst_pad_push_event (pad=0x167cd40, 
>> event=event at entry=0x6fc03b68) at gstpad.c:5347
>> #19 0x712861d0 in gst_multi_queue_sink_event 
>> (pad=pad at entry=0x167cbf0, parent=parent at entry=0x16a0020, 
>> event=event at entry=0x6fc03b68)
>>     at gstmultiqueue.c:2001
>> #20 0x76de2380 in gst_pad_send_event_unchecked 
>> (pad=pad at entry=0x167cbf0, event=event at entry=0x6fc03b68, 
>> type=<optimized out>, type at entry=2127086168)
>>     at gstpad.c:5551
>> #21 0x76de2aec in gst_pad_push_event_unchecked 
>> (pad=pad at entry=0x167caa0, event=event at entry=0x6fc03b68, type=2127086168,
>>     type at entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at gstpad.c:5210
>> #22 0x76dedcc4 in gst_pad_push_event (pad=pad at entry=0x167caa0, 
>> event=0x6fc03b68) at gstpad.c:5347
>> #23 0x6d86782c in gst_qtdemux_push_event 
>> (qtdemux=qtdemux at entry=0x6d742010, event=event at entry=0x6fc03b68) at 
>> qtdemux.c:966
>> #24 0x6d889da8 in gst_qtdemux_do_seek (event=<optimized out>, 
>> pad=<optimized out>, qtdemux=<optimized out>) at qtdemux.c:1591
>> #25 gst_qtdemux_handle_src_event (pad=<optimized out>, 
>> parent=<optimized out>, event=<optimized out>) at qtdemux.c:1679
>> #26 0x76de2634 in gst_pad_send_event_unchecked 
>> (pad=pad at entry=0x167caa0, event=event at entry=0x167acb8, 
>> type=<optimized out>, type at entry=23571712)
>>     at gstpad.c:5552
>> #27 0x76de2aec in gst_pad_push_event_unchecked 
>> (pad=pad at entry=0x167cbf0, event=event at entry=0x167acb8, type=23571712,
>>     type at entry=GST_PAD_PROBE_TYPE_EVENT_UPSTREAM) at gstpad.c:5210
>> #28 0x76dedcc4 in gst_pad_push_event (pad=0x167cbf0, event=0x167acb8) 
>> at gstpad.c:5347
>> #29 0x76de2634 in gst_pad_send_event_unchecked 
>> (pad=pad at entry=0x167cd40, event=event at entry=0x167acb8, 
>> type=<optimized out>, type at entry=320)
>>     at gstpad.c:5552
>> #30 0x76de2aec in gst_pad_push_event_unchecked 
>> (pad=pad at entry=0x167ce90, event=event at entry=0x167acb8, type=320,
>>     type at entry=GST_PAD_PROBE_TYPE_EVENT_UPSTREAM) at gstpad.c:5210
>> #31 0x76dedcc4 in gst_pad_push_event (pad=pad at entry=0x167ce90, 
>> event=0x167acb8) at gstpad.c:5347
>> #32 0x76cc4c68 in gst_base_parse_handle_seek (event=0x167acb8, 
>> parse=0x16a1a08) at gstbaseparse.c:4329
>> #33 gst_base_parse_src_event_default (parse=0x16a1a08, 
>> event=0x167acb8) at gstbaseparse.c:1547
>> #34 0x6d57eb28 in gst_h264_parse_src_event (parse=0x16a1a08, 
>> event=0x167acb8) at gsth264parse.c:2763
>> ---Type <return> to continue, or q <return> to quit---
>> #35 0x76de2634 in gst_pad_send_event_unchecked 
>> (pad=pad at entry=0x16d4040, event=event at entry=0x167acb8, 
>> type=<optimized out>, type at entry=1994959420)
>>     at gstpad.c:5552
>> #36 0x76de2aec in gst_pad_push_event_unchecked 
>> (pad=pad at entry=0x16d4190, event=event at entry=0x167acb8, type=1994959420,
>>     type at entry=GST_PAD_PROBE_TYPE_EVENT_UPSTREAM) at gstpad.c:5210
>> #37 0x76dedcc4 in gst_pad_push_event (pad=0x16d4190, 
>> event=event at entry=0x167acb8) at gstpad.c:5347
>> #38 0x76ced4e0 in gst_base_transform_src_eventfunc (trans=0x1682968, 
>> event=0x167acb8) at gstbasetransform.c:2010
>> #39 0x76de2634 in gst_pad_send_event_unchecked 
>> (pad=pad at entry=0x16d42e0, event=event at entry=0x167acb8, 
>> type=<optimized out>,
>>     type at entry=GST_PAD_PROBE_TYPE_IDLE) at gstpad.c:5552
>> #40 0x76de2aec in gst_pad_push_event_unchecked 
>> (pad=pad at entry=0x6d758028, event=event at entry=0x167acb8, 
>> type=GST_PAD_PROBE_TYPE_IDLE,
>>     type at entry=GST_PAD_PROBE_TYPE_EVENT_UPSTREAM) at gstpad.c:5210
>> #41 0x76dedcc4 in gst_pad_push_event (pad=0x6d758028, 
>> event=event at entry=0x167acb8) at gstpad.c:5347
>> #42 0x76c65bf0 in gst_video_decoder_src_event_default 
>> (decoder=0x6d756138, event=0x167acb8) at gstvideodecoder.c:1581
>> #43 0x76de2634 in gst_pad_send_event_unchecked 
>> (pad=pad at entry=0x6d758178, event=event at entry=0x167acb8, 
>> type=<optimized out>, type at entry=1994954040)
>>     at gstpad.c:5552
>> #44 0x76de2aec in gst_pad_push_event_unchecked 
>> (pad=pad at entry=0x163cb40, event=event at entry=0x167acb8, type=1994954040,
>>     type at entry=GST_PAD_PROBE_TYPE_EVENT_UPSTREAM) at gstpad.c:5210
>> #45 0x76dedcc4 in gst_pad_push_event (pad=pad at entry=0x163cb40, 
>> event=0x167acb8) at gstpad.c:5347
>> #46 0x76dee1e0 in event_forward_func (pad=0x163cb40, data=0x7ec8cdfc) 
>> at gstpad.c:2958
>> #47 0x76de9b40 in gst_pad_forward (pad=pad at entry=0x6d7100b0, 
>> forward=0x7ec8cdd4, user_data=0x7ec8cdfc, user_data at entry=0x7ec8cdf4) 
>> at gstpad.c:2912
>> #48 0x76de9d04 in gst_pad_event_default (pad=0x6d7100b0, 
>> parent=<optimized out>, event=0x167acb8) at gstpad.c:3009
>> #49 0x76de2634 in gst_pad_send_event_unchecked 
>> (pad=pad at entry=0x6d7100b0, event=event at entry=0x167acb8, 
>> type=<optimized out>,
>>     type at entry=GST_PAD_PROBE_TYPE_INVALID) at gstpad.c:5552
>> #50 0x76de2aec in gst_pad_push_event_unchecked 
>> (pad=pad at entry=0x6d711d20, event=event at entry=0x167acb8, 
>> type=GST_PAD_PROBE_TYPE_INVALID,
>>     type at entry=GST_PAD_PROBE_TYPE_EVENT_UPSTREAM) at gstpad.c:5210
>> #51 0x76dedcc4 in gst_pad_push_event (pad=pad at entry=0x6d711d20, 
>> event=0x167acb8) at gstpad.c:5347
>> #52 0x76dee1e0 in event_forward_func (pad=0x6d711d20, 
>> data=0x7ec8d01c) at gstpad.c:2958
>> #53 0x76de9b40 in gst_pad_forward (pad=pad at entry=0x1678600, 
>> forward=0x0, user_data=0x7ec8d01c, user_data at entry=0x7ec8d014) at 
>> gstpad.c:2912
>> #54 0x76de9d04 in gst_pad_event_default (pad=0x1678600, 
>> parent=<optimized out>, event=0x167acb8) at gstpad.c:3009
>> #55 0x76de2634 in gst_pad_send_event_unchecked 
>> (pad=pad at entry=0x1678600, event=event at entry=0x167acb8, 
>> type=<optimized out>, type at entry=1993251268)
>>     at gstpad.c:5552
>> #56 0x76de2aec in gst_pad_push_event_unchecked 
>> (pad=pad at entry=0x16446d0, event=event at entry=0x167acb8, type=1993251268,
>>     type at entry=GST_PAD_PROBE_TYPE_EVENT_UPSTREAM) at gstpad.c:5210
>> #57 0x76dedcc4 in gst_pad_push_event (pad=pad at entry=0x16446d0, 
>> event=0x167acb8) at gstpad.c:5347
>> #58 0x76dee1e0 in event_forward_func (pad=0x16446d0, data=0x7ec8d23c) 
>> at gstpad.c:2958
>> #59 0x76de9b40 in gst_pad_forward (pad=pad at entry=0x163c2f8, 
>> forward=0x76e89538, user_data=0x7ec8d23c, user_data at entry=0x7ec8d234) 
>> at gstpad.c:2912
>> #60 0x76de9d04 in gst_pad_event_default (pad=0x163c2f8, 
>> parent=<optimized out>, event=0x167acb8) at gstpad.c:3009
>> #61 0x76de2634 in gst_pad_send_event_unchecked 
>> (pad=pad at entry=0x163c2f8, event=event at entry=0x167acb8, 
>> type=<optimized out>, type at entry=12)
>>     at gstpad.c:5552
>> #62 0x76de2aec in gst_pad_push_event_unchecked 
>> (pad=pad at entry=0x1644580, event=event at entry=0x167acb8, type=12,
>>     type at entry=GST_PAD_PROBE_TYPE_EVENT_UPSTREAM) at gstpad.c:5210
>> #63 0x76dedcc4 in gst_pad_push_event (pad=pad at entry=0x1644580, 
>> event=0x167acb8) at gstpad.c:5347
>> #64 0x76dee1e0 in event_forward_func (pad=0x1644580, data=0x7ec8d45c) 
>> at gstpad.c:2958
>> #65 0x76de9b40 in gst_pad_forward (pad=pad at entry=0x1644970, 
>> forward=0x165e4b8, user_data=0x7ec8d45c, user_data at entry=0x7ec8d454) 
>> at gstpad.c:2912
>> #66 0x76de9d04 in gst_pad_event_default (pad=0x1644970, 
>> parent=<optimized out>, event=0x167acb8) at gstpad.c:3009
>> #67 0x76de2634 in gst_pad_send_event_unchecked 
>> (pad=pad at entry=0x1644970, event=event at entry=0x167acb8, 
>> type=<optimized out>, type at entry=1836122288)
>>     at gstpad.c:5552
>> #68 0x76de2aec in gst_pad_push_event_unchecked 
>> (pad=pad at entry=0x1644820, event=event at entry=0x167acb8, type=1836122288,
>>     type at entry=GST_PAD_PROBE_TYPE_EVENT_UPSTREAM) at gstpad.c:5210
>> #69 0x76dedcc4 in gst_pad_push_event (pad=0x1644820, 
>> event=event at entry=0x167acb8) at gstpad.c:5347
>> ---Type <return> to continue, or q <return> to quit---
>> #70 0x76ced4e0 in gst_base_transform_src_eventfunc (trans=0x1662408, 
>> event=0x167acb8) at gstbasetransform.c:2010
>> #71 0x71248a24 in gst_video_flip_src_event (trans=0x1662408, 
>> event=0x167acb8) at gstvideoflip.c:1183
>> #72 0x76de2634 in gst_pad_send_event_unchecked 
>> (pad=pad at entry=0x1644040, event=event at entry=0x167acb8, 
>> type=<optimized out>,
>>     type at entry=GST_PAD_PROBE_TYPE_BUFFER) at gstpad.c:5552
>> #73 0x76de2aec in gst_pad_push_event_unchecked 
>> (pad=pad at entry=0x16781b0, event=event at entry=0x167acb8, 
>> type=GST_PAD_PROBE_TYPE_BUFFER,
>>     type at entry=GST_PAD_PROBE_TYPE_EVENT_UPSTREAM) at gstpad.c:5210
>> #74 0x76dedcc4 in gst_pad_push_event (pad=pad at entry=0x16781b0, 
>> event=0x167acb8) at gstpad.c:5347
>> #75 0x76dee1e0 in event_forward_func (pad=0x16781b0, data=0x7ec8d874) 
>> at gstpad.c:2958
>> #76 0x76de9b40 in gst_pad_forward (pad=pad at entry=0x163c460, 
>> forward=0x76e89538, user_data=0x7ec8d874, user_data at entry=0x7ec8d86c) 
>> at gstpad.c:2912
>> #77 0x76de9d04 in gst_pad_event_default (pad=0x163c460, 
>> parent=<optimized out>, event=0x167acb8) at gstpad.c:3009
>> #78 0x76de2634 in gst_pad_send_event_unchecked 
>> (pad=pad at entry=0x163c460, event=event at entry=0x167acb8, 
>> type=<optimized out>,
>>     type at entry=GST_PAD_PROBE_TYPE_BUFFER) at gstpad.c:5552
>> #79 0x76de2aec in gst_pad_push_event_unchecked 
>> (pad=pad at entry=0x1644190, event=event at entry=0x167acb8, 
>> type=GST_PAD_PROBE_TYPE_BUFFER,
>>     type at entry=GST_PAD_PROBE_TYPE_EVENT_UPSTREAM) at gstpad.c:5210
>> #80 0x76dedcc4 in gst_pad_push_event (pad=0x1644190, 
>> event=event at entry=0x167acb8) at gstpad.c:5347
>> #81 0x76ced4e0 in gst_base_transform_src_eventfunc (trans=0x16705b8, 
>> event=0x167acb8) at gstbasetransform.c:2010
>> #82 0x76de2634 in gst_pad_send_event_unchecked 
>> (pad=pad at entry=0x1644430, event=event at entry=0x167acb8, 
>> type=<optimized out>, type at entry=23691984)
>>     at gstpad.c:5552
>> #83 0x76de2aec in gst_pad_push_event_unchecked 
>> (pad=pad at entry=0x16442e0, event=event at entry=0x167acb8, type=23691984,
>>     type at entry=GST_PAD_PROBE_TYPE_EVENT_UPSTREAM) at gstpad.c:5210
>> #84 0x76dedcc4 in gst_pad_push_event (pad=0x16442e0, 
>> event=event at entry=0x167acb8) at gstpad.c:5347
>> #85 0x76ced4e0 in gst_base_transform_src_eventfunc (trans=0x1670810, 
>> event=0x167acb8) at gstbasetransform.c:2010
>> #86 0x76de2634 in gst_pad_send_event_unchecked 
>> (pad=pad at entry=0x1644c10, event=event at entry=0x167acb8, 
>> type=<optimized out>,
>>     type at entry=GST_PAD_PROBE_TYPE_INVALID) at gstpad.c:5552
>> #87 0x76de2aec in gst_pad_push_event_unchecked 
>> (pad=pad at entry=0x1644ac0, event=event at entry=0x167acb8, 
>> type=GST_PAD_PROBE_TYPE_INVALID,
>>     type at entry=GST_PAD_PROBE_TYPE_EVENT_UPSTREAM) at gstpad.c:5210
>> #88 0x76dedcc4 in gst_pad_push_event (pad=pad at entry=0x1644ac0, 
>> event=event at entry=0x167acb8) at gstpad.c:5347
>> #89 0x76cd3590 in gst_base_sink_send_event (element=<optimized out>, 
>> event=0x167acb8) at gstbasesink.c:4493
>> #90 0x76da1d48 in gst_bin_send_event (element=0x166d138, 
>> event=0x167acb8) at gstbin.c:2958
>> #91 0x76da1d48 in gst_bin_send_event (element=0x163c050, 
>> event=0x167acb8) at gstbin.c:2958
>> #92 0x76e2b5c8 in gst_element_seek_simple (element=0x163c050, 
>> format=GST_FORMAT_TIME, seek_flags=GST_SEEK_FLAG_FLUSH, 
>> seek_pos=7190000000)
>>     at gstutils.c:2356
>> #93 0x0001cba4 in VideoPipeline::seek (this=0x163a668, 
>> nanoseconds=7190000000) at 
>> /home/gejos/Desktop/testbox/system/videopipeline.cpp:166
>> #94 0x0001ccb0 in VideoPipeline::seekForwardNanoseconds 
>> (this=0x163a668, nanoseconds=750000000)
>>     at /home/gejos/Desktop/testbox/system/videopipeline.cpp:174
>> #95 0x0001cd78 in VideoPipeline::seekForwardPercentage 
>> (this=0x163a668, percentage=1) at 
>> /home/gejos/Desktop/testbox/system/videopipeline.cpp:184
>> #96 0x0001fb14 in VideoWidget::keyPressEvent (this=0x163a4d8, 
>> event=0x7ec8e39c) at /home/gejos/Desktop/testbox/ui/videowidget.cpp:83
>> #97 0x767a59a0 in QWidget::event(QEvent*) () from 
>> /usr/local/Qt-rasp2-5.5.1/lib/libQt5Widgets.so.5
>> #98 0x76764e74 in QApplicationPrivate::notify_helper(QObject*, 
>> QEvent*) () from /usr/local/Qt-rasp2-5.5.1/lib/libQt5Widgets.so.5
>> #99 0x7676a4a4 in QApplication::notify(QObject*, QEvent*) () from 
>> /usr/local/Qt-rasp2-5.5.1/lib/libQt5Widgets.so.5
>> #100 0x7ec8e560 in ?? ()
>> Backtrace stopped: previous frame identical to this frame (corrupt 
>> stack?)
>>
>>
>>
>> On 03/02/2016 19:26, Thiago Santos wrote:
>>> On 02/03/2016 03:17 PM, Davide Tuccilli wrote:
>>>> I have a simple pipeline running on a RPi2, using a decodebin 
>>>> connected to a tee, that branches into a glimagesink and a fakesink 
>>>> (I use the latter to get the last sample I need to save frame 
>>>> snapshots, doesn't seem like I can convert glimagesink samples in a 
>>>> format accepted by jpegenc/pngenc directly), each branch with its 
>>>> own queue.
>>>>
>>>> Whether in playing or paused state, this seek call hangs and never 
>>>> returns:
>>>>
>>>> gst_element_seek_simple(m_pipeline, GST_FORMAT_TIME, 
>>>> GST_SEEK_FLAG_FLUSH, nanoseconds);
>>>
>>> Can you get a stack trace with gdb to see where it hanging?
>>>
>>> Also, what version of GStreamer is this?
>>>
>>>>
>>>> On the other hand, if I do the same call on a playing pipeline 
>>>> without the flush flag (just using GST_SEEK_FLAG_NONE), the call 
>>>> terminates successfully.
>>>>
>>>> I'm quite new to gstreamer, but everything I read states that 
>>>> flushing seeks should be the standard way of seeking, should be 
>>>> thread-safe (unlike non flushing) and might help with performances 
>>>> aswell.
>>>>
>>>> The log didn't really help me, no error messages, only LOG/DEBUG 
>>>> level messages and I couldn't find anything helpful.
>>>> _______________________________________________
>>>> gstreamer-devel mailing list
>>>> gstreamer-devel at lists.freedesktop.org
>>>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>>
>>>
>>
>> _______________________________________________
>> gstreamer-devel mailing list
>> gstreamer-devel at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
>



More information about the gstreamer-devel mailing list