<br><br><div class="gmail_quote">On Wed, May 12, 2010 at 12:21 PM, Rafal Wojtczuk <span dir="ltr"><<a href="mailto:rafal@invisiblethingslab.com">rafal@invisiblethingslab.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div class="im">On Sun, May 09, 2010 at 09:24:27AM +0300, Marco Ballesio wrote:<br>
> On Fri, Apr 23, 2010 at 6:10 PM, Rafal Wojtczuk <<a href="mailto:rafal@invisiblethingslab.com">rafal@invisiblethingslab.com</a>> wrote:<br>
> > Again, can I have a simple sound sharing over network protocol, pretty<br>
> > pretty please ? Raw audio frames + simple synchronization, anyone ?<br>
> stupid question, but.. is GStreamer out of your scope here?<br>
</div>Could you be more specific, and suggest the appropriate gst-launch pipelines ?<br>
Particularly, over what protocol can we stream the data ?<br>
I tried the following on the client<br>
gst-launch pulsesrc ! tcpclientsink host=xxx port=12345 protocol=GST_TCP_PROTOCOL_GDP<br>
<br>
and on the server<br>
gst-launch tcpserversrc port=12345 host=xxx protocol=GST_TCP_PROTOCOL_GDP ! pulsesink<br></blockquote><div><br>pretty simple but should work quite reliably in a simple network. If you want something more standard but with an higher error probability (e.g. rtp) you should actually check on:<br>
<br><a href="http://www.gstreamer.net/data/doc/gstreamer/head/gst-plugins-good-plugins/html/gst-plugins-good-plugins-gstrtpbin.html">http://www.gstreamer.net/data/doc/gstreamer/head/gst-plugins-good-plugins/html/gst-plugins-good-plugins-gstrtpbin.html</a><br>
<br>you'll find there some nice examples.<br> </div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<br>
it works nicely. But with this approach, when there is no audio activity on the client,<br>
gst-launch transmits silence (and noticeably burns CPU). BTW, the parec<br>
solution from<br>
<a href="https://tango.0pointer.de/pipermail/pulseaudio-discuss/2010-May/007107.html" target="_blank">https://tango.0pointer.de/pipermail/pulseaudio-discuss/2010-May/007107.html</a><br>
has the same problem; module-pipe-sink behaves better.<br></blockquote><div><br>there are some discussions ongoing about implementing VAD in GStreamer but nothing done so far. You should implement your own stream suspend/resume logic if you want to save bandwidth and CPU.<br>
<br>Regards<br> </div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<br>
Does anyone know about pulseaudio "module-gdp-sink", that would speak GDP to<br>
some output pipe ?<br>
<br>
And there is a question on the complexity of the underlying protocol; jugding by<br>
<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/gstreamer-libs-gstdataprotocol.html" target="_blank">http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/gstreamer-libs-gstdataprotocol.html</a><br>
GDP is simple but nontrivial; and there is still data inside, spit by pulsesrc<br>
whose format I don't know (hopefully it is pure pcm data, can anyone<br>
confirm ?).<br>
<div><div></div><div class="h5"><br>
Regards,<br>
Rafal Wojtczuk<br>
The Qubes OS Project<br>
<a href="http://qubes-os.org" target="_blank">http://qubes-os.org</a><br>
_______________________________________________<br>
pulseaudio-discuss mailing list<br>
<a href="mailto:pulseaudio-discuss@mail.0pointer.de">pulseaudio-discuss@mail.0pointer.de</a><br>
<a href="https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss" target="_blank">https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss</a><br>
</div></div></blockquote></div><br>