At Sun, 7 Jun 2009 23:43:04 +0200, Alan Alan wrote:
Hi Wei !
I made the tests changig the values in the sound/pci/hda/patch_nvhdmi.c file manually. To summarize the results i have perfect sound up to 192khz/32bits(S32_LE format). But only one configuration at a time.
How can we set multiple formats here, or let the system pass all formats to the av receiver ?
Here are the detailed results i tested.
In the source code .rates = SNDRV_PCM_RATE_A .maxbps = B, .formats = SNDRV_PCM_FMTBIT_SC_LE,
Change like
.rates = SNDRV_PCM_RATE_A | SNDRV_PCM_RATE_B | ..., .maxbps = 24, .formats = SNDRV_PCM_FMTBIT_A | SNDRV_PCM_FMTBIT_B | ...,
- A=192000, B=24, C=16, perfect sound, with speaker-test -Dhdmi -c6
-r192000 -FS16_LE, no other setting working 2. A= 192000, B=24, C=32, perfect sound, with speaker-test -Dhdmi -c6 -r192000 -FS32_LE, no other setting working 3. A= 96000, B=24, C=32, perfect sound, with speaker-test -Dhdmi -c6 -r96000 -FS32_LE, no other setting working 4. A=192000, B=24, C=24, strange high pitched sound from all speakers, with speaker-test -Dhdmi -c6 -r192000 -FS24_LE, no other settings working 5. A= 96000, B=24, C=24, strange high pitched sound from all speakers, with speaker-test -Dhdmi -c6 -r96000 -FS24_LE, no other settings working
S24_LE is no format for HD-audio. It's 24bit packed in lower 3 bytes of 4 byte frame. For 24bit format, use S32_LE.
Takashi