<div dir="ltr">I think the issue is very easy to reproduce: build any pipeline which has encodebin element and ask encodebin to encode in mpeg2. then play any file and try to restart pipeline when it reaches the end of file.</div><div class="gmail_extra"><br><div class="gmail_quote">On 11 May 2016 at 02:19, Michael Guinzbourg <span dir="ltr"><<a href="mailto:mguinzbourg@gmail.com" target="_blank">mguinzbourg@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">here's the piece of my code which builds the pipeline:<div><br><div><div> gst_bin_add_many (GST_BIN (pipeline), data.source, data.q,data.convert, data.filter, ebin, data.q1, data.sink, NULL);</div><div>  if (!gst_element_link_many (data.q, data.convert, data.filter, ebin, data.q1, data.sink, NULL)) {</div><div>    g_printerr ("Elements could not be linked.\n");</div><div>    gst_object_unref (pipeline);</div><div>    return -1;</div><div>  }</div></div></div><div><br></div><div>on padd added signal callback I link data.source and data.q. </div><div>My source is a live video stream which plays chunks of video and ends every 5 sec. at the EOS event I try to restart pipeline so I can play the next chunk. If I encode in H264 this works perfect. If I encode in mpeg2 it crashes at the following line (in bold):</div><span class=""><div><br></div><div><div style="font-size:12.8px">          case GST_MESSAGE_EOS: </div><div style="font-size:12.8px">                    g_print("EOS received on OBJ NAME %s\n",GST_OBJECT_NAME(msg->src));</div><div style="font-size:12.8px"><span style="white-space:pre-wrap">                  </span><b>gst_element_set_state (pipeline, GST_STATE_READY);</b></div><div style="font-size:12.8px"><span style="white-space:pre-wrap">     </span>            gst_element_set_state (pipeline, GST_STATE_PLAYING);</div><div style="font-size:12.8px">                    break; </div></div><div style="font-size:12.8px"><br></div></span><div style="font-size:12.8px">encode element doesn't print any debug info after pipeline starts running, just crashes with no cry for help at <b style="font-size:12.8px">gst_element_set_state (pipeline, GST_STATE_READY);</b></div></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="h5">On 11 May 2016 at 02:09, Sebastian Dröge <span dir="ltr"><<a href="mailto:sebastian@centricular.com" target="_blank">sebastian@centricular.com</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5"><div><div>On Mi, 2016-05-11 at 02:07 -0400, Michael Guinzbourg wrote:<br>
> I've set GST_DEBUG to "encodebin:6". I've got all kinds of all good<br>
> info during encodebin initialization (I will copy it below my<br>
> report). All the debug messages were posted before pipeline started<br>
> to run and there was absolutely nothing until the sudden crash at the<br>
> bold line in my code below. The piece of code that produces the crash<br>
> is here (in the bus callback):<br>
><br>
>  case GST_MESSAGE_EOS: <br>
>                     g_print("EOS received on OBJ NAME<br>
> %s\n",GST_OBJECT_NAME(msg->src));<br>
>                   gst_element_set_state (pipeline, GST_STATE_READY);<br>
>                   gst_element_set_state (pipeline,<br>
> GST_STATE_PLAYING);<br>
>                     break; <br>
><br>
> If I change my encoding to H264 - this code runs normally and restart<br>
> the pipeline without any problem.<br>
> Below is the debug output - there's nothing at all after the pipeline<br>
> starts running.<br>
><br>
> Again, if I replace gst_element_set_state (pipeline,<br>
> GST_STATE_READY); line with gst_element_set_state (<element_name>,<br>
> GST_STATE_READY); where <element_name> is any element except for<br>
> encodebin then gstreamer doesn't crash. It only crashes when I<br>
> command the pipeline or encodebin to stop. It looks to me that<br>
> gstreamer crashes when I try to bring encodebin to the stopped state,<br>
> which is something to do with inability to sync the encodebin clock<br>
> with the rest of the pipeline.<br>
> Below is the copy of the debug output.<br>
<br>
</div></div>Can you get a backtrace (of all threads) of the crash with gdb?<br>
<br>
It's a bit curious that you don't get any further debug output. Can you<br>
also share your code, or simplified code that reproduces the problem?<br>
<div><div><br>
--<br>
Sebastian Dröge, Centricular Ltd · <a href="http://www.centricular.com" rel="noreferrer" target="_blank">http://www.centricular.com</a><br>
<br>
</div></div><br></div></div><span class="">_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank">gstreamer-devel@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" rel="noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
<br></span></blockquote></div><br></div>
</blockquote></div><br></div>