Hi Arun, I looked at the passthrough branch. Looks pretty good. I wrote down some notes: gstaudioiec61937: - need to check that frame is valid and synchronized on AC3 header before pushing iec payload - no code for mp3 and dts? pulsesink: - do we really need two steps for payload and commit? Make things complicated and creates memory copies - commit needs to prevent toy resampler (maybe this means the sink cannot work iwth a live source since no adjustment is possible. - spec.latency_time = GST_BASE_AUDIO_SINK (psink)->latency_time; if (!gst_ring_buffer_parse_caps (&spec, caps)) goto out; Does this work? spec is not initialized? - change of routing? - formats /* FIXME: Eventually, we want the list of supported formats to be set + * as properties by the GUI based on what the user says is supported by + * the receiver */ + /* FIXME: How do we figure out supported rates? :( */ + unsigned int i, rates[] = { 32000, 44100, 48000 }; For HDMI and SPDIF, 32,44.1 and 48 are mandatory. I think you can query the alsa layer to give a range of supported frequencies since this is known in the driver (either hard-coded or obtained with EDID/eld). I remember seeing some ALSA patches on this for the NVIDIA cards. sink.c - how do we notify client that volume is disabled? I wasn't too clear on the BT support. You mentioned that it was a different branch and that it stilll nneds my patches to gst-ugly. We'd need to have the payloader code in gsraudioiec61937 instead? I am also not sure how we handle the transition from A2DP w/ SBC to A2DP w/ MP3. In the current code for iec958, there's no need to reconfigure the link. Last, I had 3 conflicts with git master that I had to solve by hand. Thanks -Pierre