[pulseaudio-discuss] review+pull-request: Passthrough support

Arun Raghavan arun.raghavan at collabora.co.uk
Thu Apr 14 04:49:43 PDT 2011


On Wed, 2011-04-13 at 18:23 +0530, Arun Raghavan wrote:
[...]
> The changes needed to actually use this in GStreamer are also done, but
> not upstream yet. I need to do some rebasing to make this stuff good to
> push out, so details on this in a following mail.

Okay, this is also pushed and good to test. I'll be pushing this out to
master after the next round of gst* releases (which should happen in the
next couple of weeks or so). For now, you'll need:

* gstreamer from git master
* gst-plugins-base from:
http://git.collabora.co.uk/?p=user/arun/gst-plugins-base.git;a=shortlog;h=refs/heads/passthrough
* gst-plugins-good from:
http://git.collabora.co.uk/?p=user/arun/gst-plugins-good.git;a=shortlog;h=refs/heads/passthrough
* gst-plugins-bad, gst-plugins-ugly, gst-ffmpeg built against the above
would probably also be needed (for non-passthrough playback)

With all but the top-most commit to gst-plugins-good, pulsesink will be
plugged in passthrough mode when the sink supports the format of the
input.

The top-most commit on gst-plugins-good introduces a new pulsesinkbin
element, which automatically reconfigures based on what formats are
available on the sink we're connected to. So if you're playing AC3 in
passthrough mode over S/PDIF and switch to analog out, it'll
transparently plug in a decoder, and if you switch back to digital out,
the decoder will be removed and passthrough mode will be enabled again.

pulsesinkbin will be autoplugged if your app (or gst-launch) is using
playbin2, but most applications totem/rhythmbox/... override the
playbin2 audio sink, so there's some work pending before this just works
with players.

I'm happy to help if anyone runs into problems while testing.

Cheers,
Arun

p.s.: for those of you who want to test but don't have a
gstreamer-from-git setup already, jhbuild[1] or gst-uninstalled[2]
should be useful.

[1]: http://live.gnome.org/Jhbuild
[2]:
http://gstreamer.freedesktop.org/data/doc/gstreamer/head/faq/html/chapter-developing.html#developing-uninstalled-gstreamer




More information about the pulseaudio-discuss mailing list