2 Dec
2015
2 Dec
'15
1:27 p.m.
On Tue, Dec 01, 2015 at 01:55:03PM +0100, Takashi Iwai wrote:
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...?
It works correctly. Do you suspect something wrong?
Takashi
--