[alsa-devel] [PATCH 06/15] ALSA: pcm: Add DRM helper to set constraint for format

Takashi Iwai tiwai at suse.de
Tue Dec 1 13:55:03 CET 2015


On Tue, 01 Dec 2015 18:47:02 +0100,
Subhransu S. Prusty wrote:
> 
> +static int eld_limit_formats(struct snd_pcm_runtime *runtime, void *eld)
> +{
> +	u64 formats = SNDRV_PCM_FMTBIT_S16_LE;
> +	int i;
> +	const u8 *sad, *eld_buf = eld;
> +
> +	sad = drm_eld_sad(eld_buf);
> +	if (!sad)
> +		goto format_constraint;
> +
> +	for (i = drm_eld_sad_count(eld_buf); i > 0; i--, sad += 3) {
> +		if (sad_format(sad) == 1) { /* AUDIO_CODING_TYPE_LPCM */
> +
> +			/* 20 bit */
> +			if (sad_sample_bits_lpcm(sad) & 0x2)
> +				formats |= SNDRV_PCM_FMTBIT_S32_LE;
> +
> +			/* 24 bit */
> +			if (sad_sample_bits_lpcm(sad) & 0x4)
> +				formats |= SNDRV_PCM_FMTBIT_S24_LE;

Does it work correctly with HD-audio...?


Takashi


More information about the Alsa-devel mailing list