Hi Stirling,<div><br></div><div>When setting the location property of filesrc for your next file, decodebin will not to renegotiate the new video format, it does not update elements inside (as far as I know). Therefore, it will not support the new format and I think that why you got a 'not negotiated'. In addition, letting the EOS event going through your pipeline elements might lead to resource deallocation, therefore even if the video files formats are the same, I suspect it might not work.</div>
<div>One solution that I have in mind, is to use an event probe on decodebin srcpad. Inside the callback function of this event probe, you can detect EOS event, update filesrc location property, remove decodebin element and replace it with a new one just created, add the event probe to decodebin src pad in order to detect EOS for the next file and link all elements together. That should make it.</div>
<div><br></div><div>You can find details about changing the pipeline elements dynamically here: <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/section-dynamic-pipelines.html">http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/section-dynamic-pipelines.html</a></div>
<div><br></div><div>Cheers,</div><div><br></div><div>Paul HENRYS</div><div><br><div class="gmail_quote">2013/1/3 Stirling Westrup <span dir="ltr"><<a href="mailto:swestrup@gmail.com" target="_blank">swestrup@gmail.com</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I have an application that tries to run through a playlist of multiple<br>
video files of differing formats, playing each in turn.<br>
<br>
I am using filesrc ! decodebin for this, but my application dies with<br>
a 'not negotiated' when changing from one file to the next.<br>
<br>
What should my behaviour be on EOS to switch to the next video in the<br>
playlist?  Currently I do this:<br>
<br>
1) Detect EOS<br>
2) Quit main_loop.<br>
3) set pipeline to "Ready"<br>
4) set filesrc's location to the next file name in list<br>
5) set pipeline state to 'Playing'<br>
6) enter main_loop<br>
<br>
Is there some major step I'm missing here, or is it more likely that<br>
I'm messing up one of the above steps?<br>
<br>
<br>
--<br>
Stirling Westrup<br>
Programmer, Entrepreneur.<br>
<a href="https://www.linkedin.com/e/fpf/77228" target="_blank">https://www.linkedin.com/e/fpf/77228</a><br>
<a href="http://www.linkedin.com/in/swestrup" target="_blank">http://www.linkedin.com/in/swestrup</a><br>
<a href="http://technaut.livejournal.com" target="_blank">http://technaut.livejournal.com</a><br>
<a href="http://sourceforge.net/users/stirlingwestrup" target="_blank">http://sourceforge.net/users/stirlingwestrup</a><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>
</blockquote></div><br></div>