[Bug 783314] Playbin Repeat play / pause , video playback hangs

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Tue Jun 13 07:02:27 UTC 2017


https://bugzilla.gnome.org/show_bug.cgi?id=783314

shakin at outlook.com <shakin at outlook.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #353165|0                           |1
        is obsolete|                            |
                 CC|                            |shakin at outlook.com

--- Comment #6 from shakin at outlook.com <shakin at outlook.com> ---
Created attachment 353654
  --> https://bugzilla.gnome.org/attachment.cgi?id=353654&action=edit
backtrace_paused_2_playing_playback_hang

Sorry, previously  provides a playing-> paused state of the stacktrace, It
seems  nothing unusual.

I snapshoted the paused-> playing stacktrace.

1.Thread 43 in gst_amc_video_dec_loop() L1250 hold
GST_VIDEO_DECODER_STREAM_LOCK(self)

then call sequence(see Thread 33,bt49 ~ bt1):
gstvideodecoder.c:3055 gst_video_decoder_clip_and_push_buf() =>
gstvideodecoder.c:3200 gst_video_decoder_clip_and_push_buf() =>
...                      
gstpad.c:4457          gst_pad_push_data()                   =>
gstpad.c:4205          gst_pad_chain_data_unchecked()        =>
gstghostpad.c:127      gst_proxy_pad_chain_default()         =>
gstpad.c:4576          gst_pad_push()                        =>
gstpad.c:4457          gst_pad_push_data()                   =>
...
gstpad.c:4205          gst_pad_chain_data_unchecked()        =>
gstqueue.c:1228        gst_queue_chain_buffer_or_list() 

vqueue blocked for full.

2.Thread 23 
bt 5:gst_amc_video_dec_handle_frame() L2198 want GST_VIDEO_DECODER_STREAM_LOCK
(self),but the thread 33 hold at this time.

3.Thread 24
bt 7: gst_queue_chain_buffer_or_list() L1228 block for full.
aqueue blocked for full.

4.Thread 45
bt 7,
 gstaudioringbuffer.c:1591 default_commit(),
     diff = 10
     segtotal = 10

diff == segtotal ,

blocked in wait_segment() L1364


Above 1,2, this situation will lead to deadlock well?
and can't understand why thread 45, default_commit will block.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list