Hello all, Based on the RFC I posted earlier, I've implemented basic passthrough support in some usable shape. It's up on the passthrough branch of each of: PulseAudio: http://git.collabora.co.uk/?p=user/arun/pulseaudio.git;a=shortlog;h=refs/heads/passthrough gst-plugins-base: http://git.collabora.co.uk/?p=user/arun/gst-plugins-base.git;a=shortlog;h=refs/heads/passthrough gst-plugins-good: http://git.collabora.co.uk/?p=user/arun/gst-plugins-good.git;a=shortlog;h=refs/heads/passthrough What's here? All the basic plumbing for clients to signal a compresed format, have PA pick the "best" supported one, actually play that format, and have pactl list show these. The ALSA sink takes AC3 at the moment, and I should be pushing DTS support today/tomorrow after some more testing. It was a lot simpler for me to test this with pulsesink, so I've made the required changes there (I realise this is a bother for those who don't have local builds of gstreamer handy - sorry!). Eventually, I'd like to have a paplay-type interface for compressed formats (pre-payloaded). What's left? * Triggering renegotiation - I should be getting to this soon * Better proplists - We have one proplist per format+rate pair, which is fine for now, but eventually, we need to freeze the string format for lists/ranges * Proper UI for selecting accepted formats - I'm thinking that we need to add bits to the various UIs to provide a checklist of formats that the user's receiver accepts, set that as a property on the sink, and have a module save this (m-d-m, perhaps, or just a new module) * HDMI - in theory this should be easy to support, but I've not tested this yet * Bluetooth - See postscript * Sink-input passthrough flag to go away - I'll do this after paplay properly supports compressed formats * Disabling monitors - I suspend them for now, which seems to work okay, but we probably want to have way to disable these properly * Disabling volume - I'm planning on piggybacking on Tanu's work here :) So that's that. Comments and feedback appreciated. :) Cheers, Arun p.s.: BT support is being a major pita, mostly because my headset refuses to cooperate. There's a passthrough-bt branch in my PA tree which adapts the a2dp sink to the new API, and Pierre's patch for an IEC61937 payloader that never made it to the mailing list is at http://people.collabora.co.uk/~arun/plbossart-gst-plugins-ugly.patch (just needs a small change to pulseutil.c to set make the appropriate gst->pa type translation).