<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">2014/1/23 Sebastian Dröge <span dir="ltr"><<a href="mailto:sebastian@centricular.com" target="_blank">sebastian@centricular.com</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On Mi, 2014-01-22 at 17:51 -0200, Lautaro Woites wrote:<br>
> Hi again folks,<br>
><br>
> I have this pipe: videotestsrc ! capsfilter ! videomixer ! xvimagesink.<br>
> Then on PLAYING STATE I do:<br>
><br>
> while (TRUE){<br>
> sleep(2);<br>
> add_mixer_input(); //adds an input on the videomixer<br>
> sleep(2);<br>
> remove_mixer_input(); //removes the previously added input to the mixer.<br>
> }<br>
><br>
> The inputs are bins with videotestsrc and a capsfilter. The example runs<br>
> for a time (sometimes 5 minutes, sometimes 30 min, others 10 seconds) and<br>
> then produces a segmentation fault on the videomixer (at<br>
> gst_collect_pads_check_collected:1031).<br>
><br>
> This is what I do to remove the input:<br>
> a) I block the videotestsrc's src pad.<br>
> b) I send an EOS event to the capsfilter's sink pad and I wait for the<br>
> event on the bin's src pad ( with an event probe).<br>
> c) On the event probe's callback I drop the EOS and I unlink the bin<br>
> with the mixer.<br>
> d) I set the bin to STATE_NULL and I remove it from the pipe.<br>
> e) I call release_request_pad on the mixer.<br>
> f) I remove the block pad on the videotestsrc.<br>
> Also I've tried: to send EOS to the videtestsrc - set the bin to STATE_NULL<br>
> and remove it - and finally call release_request_pad on the mixer.<br>
> The program crashed in the same line .<br>
><br>
> NOTE: If I remove the call to gst_release_request_pad the program seems<br>
> to work OK. But the mixer's will still having unused sink pads :(.<br>
<br>
</div></div>The sequence of actions sounds correct<br>
<div class="im"><br>
> I have some question about this:<br>
> 1) I don't know if I am missing something or if there is a bug.<br>
> 2) If I'm doing something wrong, What's the correct/safest protocol to<br>
> remove an input from the mixer?.<br>
> 3) is it related with this ticket:<br>
> <a href="https://bugzilla.gnome.org/show_bug.cgi?id=701110" target="_blank">https://bugzilla.gnome.org/show_bug.cgi?id=701110</a> ?<br>
<br>
</div>It might indeed be this bug, but then it wouldn't happen always. Could<br>
you attach a testcase to that bug that reproduces the crash? What you're<br>
doing is supposed to work and definitely should not crash.<br>
<span class="HOEnZb"><font color="#888888"><br></font></span></blockquote><div><br></div><div>OK I've attached an example to the ticket.<br><br></div><div>Hope it helps. If you need more info just tell me. <br></div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="HOEnZb"><font color="#888888">
--<br>
Sebastian Dröge, Centricular Ltd - <a href="http://www.centricular.com" target="_blank">http://www.centricular.com</a><br>
Expertise, Straight from the Source<br>
</font></span><br>_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
<br></blockquote></div><br></div></div>