Hi,<div><br></div><div>Thanks for your answer.</div><div>I used GesTimeline that enerate a pipeline based on Gnl.</div><div><br></div><div>It is working great :)</div><div><br></div><div>Eloi<br><br><div class="gmail_quote">
On Thu, Mar 21, 2013 at 12:30 PM, Ralph <span dir="ltr"><<a href="mailto:ralph.gucwa@racelogic.co.uk" target="_blank">ralph.gucwa@racelogic.co.uk</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Normally you don't need any queues.<br>
You need two separate gnlcomposition chains in your pipeline: one for audio,<br>
another for video.  You can't mix video and audio in one gnlcomposition<br>
object.  This is how the whole pipeline shoul look like:<br>
<br>
gnlfilesource  -  gnlcomposition - audioconvert - audioresample - volume -<br>
autoaudiosink<br>
gnlfilesource  /<br>
...              /<br>
<br>
gnlfilesource  -  gnlcomposition - ffmpegcolorspace - autovideosink<br>
gnlfilesource  /<br>
...              /<br>
<br>
<br>
You need to link each gnlcomposition object with<br>
autoaudiosink/ffmpegcolorspace when a new file has been decoded and dynamic<br>
audio/video pad has been created.<br>
For example for the video chain subscribe to PadAdded event when creating<br>
the pipeline (the code in C#):<br>
                videoComposition.PadAdded += new<br>
Gst.PadAddedHandler(OnVideoPadAdded);<br>
                videoComposition.PadRemoved += new<br>
Gst.PadRemovedHandler(OnVideoPadRemoved);<br>
<br>
When the first file is opened and a dynamic video pad is created on the<br>
video gnlcomposition object, connect ffmpegvideospace with gnlcomposition:<br>
        private void OnVideoPadAdded(object sender, Gst.PadAddedArgs args)<br>
        {<br>
            Gst.Element.Link(videoComposition, ffmpegColorSpace);<br>
        }<br>
<br>
        private void OnAudioPadRemoved(object sender, Gst.PadRemovedArgs<br>
args)<br>
        {<br>
            Gst.Element.Unlink(videoComposition, ffmpegColorSpace);<br>
        }<br>
<br>
You need to do the same with the audio chain.<br>
<br>
I'm pretty busy now and I don't have time to analyse your code, hopefully<br>
this should be enough information for you to get it working.<br>
<br>
<br>
<br>
--<br>
View this message in context: <a href="http://gstreamer-devel.966125.n4.nabble.com/Best-way-to-concatenate-and-play-streams-tp4659182p4659219.html" target="_blank">http://gstreamer-devel.966125.n4.nabble.com/Best-way-to-concatenate-and-play-streams-tp4659182p4659219.html</a><br>

<div class="im HOEnZb">Sent from the GStreamer-devel mailing list archive at Nabble.com.<br>
</div><div class="HOEnZb"><div class="h5">_______________________________________________<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>
</div></div></blockquote></div><br></div>