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