[alsa-devel] How to handle HBR pass-through? (new PCM_FORMAT?)

pl bossart bossart.nospam at gmail.com
Mon Aug 2 05:18:35 CEST 2010

> What this means is that if just the needed HBR bits are set in the audio
> driver, one can play back e.g. TrueHD by passing the IEC-61937 stream to ALSA
> as 192kHz 8-channel 16-bit PCM data; of course normal 8-channel PCM playback
> wouldn't work anymore then. So the driver would need to know if this is 8-
> channel PCM or 8-channel compressed audio.
> Which brings us to my question: How should the user be able to do this, i.e.
> inform the driver whether this is 8-channel PCM data or compressed audio data?
> One easy option would be to have a separate IEC61937_HBR format in ALSA which
> could be used for IEC-61937 streams represented as 8x 16-bit channels.
> If that would be considered too specific, we could add a more generic IEC61937
> format, which is the same as above except that "normal" ( = "2 channel")
> IEC-61937 streams could be used as well. However, as normal IEC-61937 streams
> can be used with S/PDIF as well, we'd AFAICS need to add such format bit to
> all S/PDIF drivers or have a no-op converter to the more widely supported 16-
> bit PCM format.

Could we require that the user sets the channel status bits (with the
AESx controls) in case this is compressed. The driver would then make
an informed decision to use HBR packets instead of regular PCM 8-ch
At any rate, supporting such formats entails changes to higher levels
of the audio stack, for example gstreamer/alsasink would need
additional caps. Changes are not limited to the alsa driver I guess.

More information about the Alsa-devel mailing list