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