switch (hparms->sample_rate) { case 32000:
rate = ADV7511_SAMPLE_FREQ_32000; break; case 44100:
rate = ADV7511_SAMPLE_FREQ_44100; break; case 48000:
rate = ADV7511_SAMPLE_FREQ_48000; break; case 88200:
rate = ADV7511_SAMPLE_FREQ_88200; break; case 96000:
rate = ADV7511_SAMPLE_FREQ_96000; break; case 176400:
rate = ADV7511_SAMPLE_FREQ_176400; break; case 192000:
rate = ADV7511_SAMPLE_FREQ_192000; break; default: return -EINVAL;
}
switch (hparms->sample_width) { case 16:
len = ADV7511_I2S_SAMPLE_LEN_16; break; case 18:
len = ADV7511_I2S_SAMPLE_LEN_18; break; case 20:
len = ADV7511_I2S_SAMPLE_LEN_20; break; case 32: if (fmt->bit_fmt != SNDRV_PCM_FORMAT_IEC958_SUBFRAME_LE) return -EINVAL;
fallthrough; case 24:
len = ADV7511_I2S_SAMPLE_LEN_24; break; default: return -EINVAL;
}
switch (fmt->fmt) { case HDMI_I2S:
audio_source = ADV7511_AUDIO_SOURCE_I2S;
i2s_format = ADV7511_I2S_FORMAT_I2S; if (fmt->bit_fmt == SNDRV_PCM_FORMAT_IEC958_SUBFRAME_LE)
i2s_format = ADV7511_I2S_IEC958_DIRECT; break; case HDMI_RIGHT_J:
audio_source = ADV7511_AUDIO_SOURCE_I2S;
i2s_format = ADV7511_I2S_FORMAT_RIGHT_J; break; case HDMI_LEFT_J:
audio_source = ADV7511_AUDIO_SOURCE_I2S;
i2s_format = ADV7511_I2S_FORMAT_LEFT_J; break; case HDMI_SPDIF:
audio_source = ADV7511_AUDIO_SOURCE_SPDIF; break; default: return -EINVAL;
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.