<html dir="ltr"><head></head><body style="text-align:left; direction:ltr;"><div>Hi,</div><div><br></div><div>On Thu, 2020-07-16 at 20:01 +0200, Michael Nazzareno Trimarchi wrote:</div><blockquote type="cite" style="margin:0 0 0 .8ex; border-left:2px #729fcf solid;padding-left:1ex"><pre>From the stacktrace look like that I'm here</pre><pre><br></pre><pre>GST_PAD_STREAM_LOCK (pad); <----- pad is already locked</pre><pre>GST_PAD_STREAM_UNLOCK (pad);</pre><pre><br></pre><pre>Can someone explain me this code?</pre></blockquote><div><br></div><div>This pattern is used to ensure that the pad lock has been released by other code before proceding further. Normally after stopping a task. So if it stops there, you want to look at the other thread holding the lock and find out why it's not stopping, there is probably somethign blocking downstream.</div><div><br></div><div>Olivier</div><div><br></div><blockquote type="cite" style="margin:0 0 0 .8ex; border-left:2px #729fcf solid;padding-left:1ex"><pre><br></pre><pre>On Thu, Jul 16, 2020 at 7:51 PM Michael Nazzareno Trimarchi</pre><pre><</pre><a href="mailto:michael@amarulasolutions.com"><pre>michael@amarulasolutions.com</pre></a><pre>> wrote:</pre><blockquote type="cite" style="margin:0 0 0 .8ex; border-left:2px #729fcf solid;padding-left:1ex"><pre><br></pre><pre>Hi</pre><pre><br></pre><pre>This is more straight forward and happen using QTMultimedia and seek on mpp</pre><pre><br></pre><pre>Michael</pre><pre><br></pre><pre>On Thu, Jul 16, 2020 at 7:23 PM David Ing <</pre><a href="mailto:ding@panopto.com"><pre>ding@panopto.com</pre></a><pre>> wrote:</pre><blockquote type="cite" style="margin:0 0 0 .8ex; border-left:2px #729fcf solid;padding-left:1ex"><pre><br></pre><pre>In the past, I have encountered deadlocks when a part of my pipeline has a demuxer or a tee, or basically some kind of element which "splits" a single stream into multiple streams.  The outputs (source pads) of all such elements should always be attached to some kind of queue because a queue is a thread boundary.</pre><pre><br></pre><pre>So I guess step 1 is to analyze your pipeline and make sure you have queues in the right places.</pre><pre><br></pre><pre>If you are still stuck then sometimes you can add more queues into random spots in your pipeline to see if that fixes the problem.</pre><pre><br></pre><pre><br></pre><pre>On Thu, Jul 16, 2020 at 7:16 AM Michael Nazzareno Trimarchi <</pre><a href="mailto:michael@amarulasolutions.com"><pre>michael@amarulasolutions.com</pre></a><pre>> wrote:</pre><blockquote type="cite" style="margin:0 0 0 .8ex; border-left:2px #729fcf solid;padding-left:1ex"><pre><br></pre><pre>Hi all</pre><pre><br></pre><pre>1   __libc_do_syscall                         libc-do-syscall.S</pre><pre>            48   0xb4f10054</pre><pre>2   __lll_lock_wait                           lowlevellock.c</pre><pre>            46   0xb4f0de42</pre><pre>3   __GI___pthread_mutex_lock                 pthread_mutex_lock.c</pre><pre>            113  0xb4f088ac</pre><pre>4   g_rec_mutex_lock                          gthread-posix.c</pre><pre>            308  0xb4b87120</pre><pre>5   gst_pad_stop_task                         gstpad.c</pre><pre>            6301 0xaddf1d68</pre><pre>6   gst_mpp_video_dec_sink_event              gstmppvideodec.c</pre><pre>            786  0xac00e816</pre><pre>7   gst_pad_send_event_unchecked              gstpad.c</pre><pre>            5761 0xadde8aec</pre><pre>8   gst_pad_push_event_unchecked              gstpad.c</pre><pre>            5406 0xadde8fa6</pre><pre>9   gst_pad_push_event                        gstpad.c</pre><pre>            5543 0xaddf0cbc</pre><pre>10  gst_base_transform_sink_eventfunc         gstbasetransform.c</pre><pre>            1910 0xadeaed82</pre><pre>11  gst_capsfilter_sink_event                 gstevent.h</pre><pre>            436  0xad5547e2</pre><pre>12  gst_pad_send_event_unchecked              gstpad.c</pre><pre>            5761 0xadde8aec</pre><pre>13  gst_pad_push_event_unchecked              gstpad.c</pre><pre>            5406 0xadde8fa6</pre><pre>14  gst_pad_push_event                        gstpad.c</pre><pre>            5543 0xaddf0cbc</pre><pre>15  gst_base_parse_sink_event_default         gstbaseparse.c</pre><pre>            1466 0xade96b6a</pre><pre>16  gst_h264_parse_event                      gsth264parse.c</pre><pre>            2905 0xac0752d8</pre><pre>17  gst_pad_send_event_unchecked              gstpad.c</pre><pre>            5761 0xadde8aec</pre><pre>18  gst_pad_push_event_unchecked              gstpad.c</pre><pre>            5406 0xadde8fa6</pre><pre>19  gst_pad_push_event                        gstpad.c</pre><pre>            5543 0xaddf0cbc</pre><pre>20  gst_multi_queue_sink_event                gstmultiqueue.c</pre><pre>            2274 0xad56cb50</pre><pre>21  gst_pad_send_event_unchecked              gstpad.c</pre><pre>            5760 0xadde88d8</pre><pre>22  gst_pad_push_event_unchecked              gstpad.c</pre><pre>            5406 0xadde8fa6</pre><pre>23  gst_pad_push_event                        gstpad.c</pre><pre>            5543 0xaddf0cbc</pre><pre>24  gst_qtdemux_push_event                    qtdemux.c</pre><pre>            1007 0xac98f082</pre><pre>25  gst_qtdemux_do_seek                       qtdemux.c</pre><pre>            1659 0xac99efca</pre><pre>26  gst_qtdemux_handle_src_event              qtdemux.c</pre><pre>            1791 0xac99efca</pre><pre>27  gst_pad_send_event_unchecked              gstpad.c</pre><pre>            5761 0xadde8aec</pre><pre>28  gst_pad_push_event_unchecked              gstpad.c</pre><pre>            5406 0xadde8fa6</pre><pre>29  gst_pad_push_event                        gstpad.c</pre><pre>            5543 0xaddf0cbc</pre><pre>30  gst_pad_send_event_unchecked              gstpad.c</pre><pre>            5761 0xadde8aec</pre><pre>31  gst_pad_push_event_unchecked              gstpad.c</pre><pre>            5406 0xadde8fa6</pre><pre>32  gst_pad_push_event                        gstpad.c</pre><pre>            5543 0xaddf0cbc</pre><pre>33  gst_base_parse_handle_seek                gstevent.h</pre><pre>            436  0xade92c4e</pre><pre>34  gst_base_parse_src_event_default          gstbaseparse.c</pre><pre>            1635 0xade92c4e</pre><pre>35  gst_h264_parse_src_event                  gsth264parse.c</pre><pre>            2942 0xac079b50</pre><pre>36  gst_pad_send_event_unchecked              gstpad.c</pre><pre>            5761 0xadde8aec</pre><pre>37  gst_pad_push_event_unchecked              gstpad.c</pre><pre>            5406 0xadde8fa6</pre><pre>38  gst_pad_push_event                        gstpad.c</pre><pre>            5543 0xaddf0cbc</pre><pre>39  gst_base_transform_src_eventfunc          gstbasetransform.c</pre><pre>            1962 0xadeaf226</pre><pre>40  gst_pad_send_event_unchecked              gstpad.c</pre><pre>            5761 0xadde8aec</pre><pre>41  gst_pad_push_event_unchecked              gstpad.c</pre><pre>            5406 0xadde8fa6</pre><pre>42  gst_pad_push_event                        gstpad.c</pre><pre>            5543 0xaddf0cbc</pre><pre>43  gst_video_decoder_src_event_default       gstvideodecoder.c</pre><pre>            1494 0xad7b9ba6</pre><pre>44  gst_pad_send_event_unchecked              gstpad.c</pre><pre>            5761 0xadde8aec</pre><pre>45  gst_pad_push_event_unchecked              gstpad.c</pre><pre>            5406 0xadde8fa6</pre><pre>46  gst_pad_push_event                        gstpad.c</pre><pre>            5543 0xaddf0cbc</pre><pre>47  event_forward_func                        gstevent.h</pre><pre>            436  0xaddf0f7e</pre><pre><br></pre><pre>Need some help/idea how debug decoder deadlock on seek on video decoding.</pre><pre><br></pre><pre>Michael</pre><pre><br></pre><pre><br></pre><pre>--</pre><pre>Michael Nazzareno Trimarchi</pre><pre>Amarula Solutions BV</pre><pre>COO Co-Founder</pre><pre>Cruquiuskade 47 Amsterdam 1018 AM NL</pre><pre>T. +31(0)851119172</pre><pre>M. +39(0)3479132170</pre><pre>[`as] </pre><a href="https://www.amarulasolutions.com"><pre>https://www.amarulasolutions.com</pre></a><pre><br></pre><pre>_______________________________________________</pre><pre>gstreamer-devel mailing list</pre><a href="mailto:gstreamer-devel@lists.freedesktop.org"><pre>gstreamer-devel@lists.freedesktop.org</pre></a><pre><br></pre><a href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel"><pre>https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</pre></a><pre><br></pre></blockquote><pre><br></pre><pre>_______________________________________________</pre><pre>gstreamer-devel mailing list</pre><a href="mailto:gstreamer-devel@lists.freedesktop.org"><pre>gstreamer-devel@lists.freedesktop.org</pre></a><pre><br></pre><a href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel"><pre>https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</pre></a><pre><br></pre></blockquote><pre><br></pre><pre><br></pre><pre><br></pre><pre>--</pre><pre>Michael Nazzareno Trimarchi</pre><pre>Amarula Solutions BV</pre><pre>COO Co-Founder</pre><pre>Cruquiuskade 47 Amsterdam 1018 AM NL</pre><pre>T. +31(0)851119172</pre><pre>M. +39(0)3479132170</pre><pre>[`as] </pre><a href="https://www.amarulasolutions.com"><pre>https://www.amarulasolutions.com</pre></a><pre><br></pre></blockquote><pre><br></pre><pre><br></pre><pre><br></pre></blockquote><div><span><pre>-- <br></pre><div>Olivier CrĂȘte</div><div><a href="mailto:olivier.crete@collabora.com">olivier.crete@collabora.com</a></div><div><br></div></span></div></body></html>