On Mon, 2016-02-29 at 08:46 -0300, Felipe Sateler wrote: > On 29 February 2016 at 07:16,  <arun at accosted.net> wrote: > > > > Hi folks, > > Here's a patch set to add a GStreamer-based RTP implementation for > > module-rtp-send and module-rtp-receive. The rationale for this is that > > our own RTP implementation is rather basic, and using a more > > well-established stack will allow us to do more, such as add support for > > RTCP, clock synchronisation, and compressed formats. This should also > > reduce our support burden for the RTP stack in theory (although we don't > > have too much other than the occasional crasher, I think). > > > > For compressed formats, in particular, moving to a GStreamer-based > > implementation lets us not have to deal with messy codec bits within > > PulseAudio, which is important IMO, since it opens a whole can of worms > > that I'd rather not deal with at the PulseAudio layer. Conversely, it > > would be useful to support Opus or other compression since we currently > > end up flooding the network while streaming raw audio. > > > > Patch 1, 2 and 6 are small fixes to the existing code > > Patch 3 drops support for non-L16 formats which seem to not be useful > > Patch 4 and 5 refactor the code to hide away the RTP implementation > > details from the actual modules > > Patch 7 is minor rtpoll plumbing improvement that was needed > > Patch 8 is the actual GStreamer implementation > > > > From a packaging perspective, this might be a bit confusing since we add > > a dependency on the GStreamer package which might in turn depend on > > PulseAudio (for pulsesrc and pulsesink). The exact dependencies are: > > > >  * The PulseAudio server has a compile and run time dependency on > >    gstreamer and  gst-plugins-base > >  * The PulseAudio server has a run time dependency on gst-plugins-good > >  * gst-plugins-good has a compile and run time dependency on the > >    PulseAudio client library > Hmm. Would only the rtp module require gstreamer? If so, would it make > sense to split out rtp into a separate package due to this new > dependency? I guess if there are plans to add other gstreamer deps it > wouldn't... I don't see a need to do that in the foreseeable future. > Also, it took me a while to realize there is apparantly no circular > dependency: plugins-good comes in a separate source package from the > gstreamer parts required by pulseaudio, thus avoiding the circularity. Yep, there isn't a circular dependency. Just wanted to clarify that (though apparently I didn't do a very good job!) -- Arun