here's a first work-in-progress set of patches. I managed to route
iec958 formatted data through PulseAudio, works fine but there's still
a lot to do.

As discussed on the mailing list, I added a new flag to pa_stream
connections, and also added a flag for the sink in case it can handle
passthrough data. There's some logic to prevent silly connections but
still allow for the same use cases as before:
you can still mix and play PCM streams on a passthrough output,
however you cannot connect nonaudio data to a
regular sink, and likewise if a sink has already a connection you can
only connect if both the existing inputs and the new one are PCM.
Volume control is disabled only when a nonaudio stream is connected.

You can give it a try by setting the 'Passthrough' configuration in
pavucontrol and the following command line
gst-launch filesrc location=<file.ac3> ! ac3iec958 raw-audio=true ! pulsesink
(note that pulsesink needs to be extended to handle the x-iec958 caps
and set the NONAUDIO_IEC958 flag when needed, the mixing logic will
not work with pulsesink).

I still have to do some work on sample-rate and channel map
adaptation, but comments are welcome at this point.
Cheers
- Pierre

Attachment: 0001-alsa-fix-mixer-profiles-add-passthrough-config.patch
Description: Binary data

Attachment: 0002-AC3-passthrough-support.patch
Description: Binary data

_______________________________________________
pulseaudio-discuss mailing list
pulseaudio-discuss@mail.0pointer.de
https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss

Reply via email to