<p dir="ltr">I guess multiple pipelines would be an option, wonder what latency that may have creating loading converting. Also does not seem that efficient seems the ideal would be to load convert and reuse the converted audio from memory. I do plan on storing the output at some point. For now best I can describe is like a mobile phone / guitar app that mixes the notes together but the notes are audio files that should give a good idea of the sort of pipeline I am after :)</p>
<div class="gmail_quote">On 8 May 2013 23:44, "John Westing" <<a href="mailto:john.blank.westing@gmail.com">john.blank.westing@gmail.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr"><div>liveadder is what it is, I simply don't understand how to use it. The pipeline examples I showed above were just proof-of-concept to explain my problem, my target configuration is RTP and combining multiple streams. and I don't understand why liveadder can't play the pipelines I have above? In my pipeline example I configured the timestamps and durations to be exact, and starting from 0, what timestamp information does liveadder expect to be able to pass audio through it? Also Olivier while I have your attention, I was able somehow to get liveadder to pass audio with an RTP stream, however, when I started the second stream liveadder only passed the first stream I started, even when I paused the first and only played the second, it only allows the first stream through in all cases. I can see that liveadder negotiates caps with both of its sink pads, data is getting to it, it just doesn't get passed to alsasink for the second stream. <br>
<br></div>Oly, not exactly sure what your idea was for a final application, but couldn't you just have a program that listens for key strokes and invokes pipelines when key pressed events are received? ex: gst-launch filesrc location=soundforAkey.wav ! wavparse ! alsasink. You could write a gstreamer app to create the pipelines or invoke gst-launch using system(). Multiple instances of alsasink in different processes will mix the sounds automatically (on my platform). You can send signals to the processes to stop them and start over, or seek to the beginning if you can support seeking. Just my thoughts, maybe I've under estimated the difficulty of your problem.<br>
<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, May 8, 2013 at 5:44 PM, Oly <span dir="ltr"><<a href="mailto:olymk2@gmail.com" target="_blank">olymk2@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"><div>Well what i was trying to achieve was in essence to load in several samples and mix them in real time with low latency, best example i can give is to hit a key on the keyboard and the sound plays instantly press it again and it starts same sound from start, hit a different key and its mixed into the other sample.<br>
<br></div>From the time i spent looking into this it seemed mixer and live adder are the way to go but i could be wrong there are a lot of plugins, they are short samples think wav or aiff samples and could be left in memory because the samples will not change once the program is running.<br>
</div><div><div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, May 8, 2013 at 10:34 PM, Olivier Crête <span dir="ltr"><<a href="mailto:olivier.crete@collabora.com" target="_blank">olivier.crete@collabora.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>On Wed, 2013-05-08 at 21:09 +0100, Oly wrote:<br>
> I would be interested in an answer to this i asked a similar question<br>
> a while back and have still not figured it out, i tend to agree it<br>
> feels like liveaddr is just broke adder seems to work but everthing<br>
> goes strange when i switch possibly something i am doing but there is<br>
> a lack of information for liveaddr.<br>
<br>
</div>Liveadder has been designed for live sparse streams (like the ones you<br>
get from RTP). If your sparse stream has GAP events in the gaps, just<br>
use regular adder. If not (and you have a good reason not to have GAP<br>
events), then I guess we could try to fix up liveadder.<br>
<span><font color="#888888"><br>
--<br>
Olivier Crête<br>
<a href="mailto:olivier.crete@collabora.com" target="_blank">olivier.crete@collabora.com</a><br>
</font></span><div><div><br>
_______________________________________________<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="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>
</div></div><br>_______________________________________________<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="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>
<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>