[pulseaudio-discuss] [PATCH 0/8] Add GStreamer-based RTP support

Felipe Sateler fsateler at debian.org
Mon Feb 29 11:46:36 UTC 2016


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...

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.

-- 

Saludos,
Felipe Sateler


More information about the pulseaudio-discuss mailing list