[alsa-devel] SPDIF/IEC958 sample rate on HDA/ALC882
Dag Lem
dag at nimrod.no
Fri Mar 23 10:59:57 CET 2007
Dominique Dumont <domi.dumont at free.fr> writes:
> Dominique Dumont <domi.dumont at free.fr> writes:
>
> > The parm of the last verb (0x200) is 0x11. When looking at Realtek;'s
> > doc (p44), this means a PCM stream.
> >
> > And I know that my amp does not like ac3 in audio stream. It won't
> > decode unless the stream is flagged as non-audio. (should be parm
> > 0x8011 , ie. bit 15 set)
>
> Err, scratch that. The non-audio bit is set by verb 70D.
Both mythtv and mplayer seem to disable the audio flag correctly.
AC3/DTS passthrough works beautifully, as long as the S/PDIF is not
"locked up" :-/
If you wanted to play back AC3/DTS from software which is not aware of
the audio flag, I suppose you could try the following:
iecset audio off
> > So it looks like the MSB of the parm where clobbered somewhere.
> >
> > BTW, the Sample base rate (which controls whether the stream is 44khz
> > or 48khz) is bit 14. So this may be a lead for your problem.
>
> Probably not.
>
> Sorry for the noise.
No noise as far as I'm concerned, I hope I'm not too noisy myself :-)
In any case I cannot find any obvious error in the HDA code. The debug
log from attempting to play a 44.1kHz stereo audio file through
aplay -Dhw:0,1 is shown below:
[aplay open]
Mar 23 00:20:36 localhost kernel: ALSA sound/pci/hda/hda_codec.c:620: hda_codec_setup_stream: NID=0x6, stream=0x0, channel=0, format=0x0
Mar 23 00:21:13 localhost kernel: ALSA sound/pci/hda/hda_intel.c:1158: azx_pcm_prepare: bufsize=0x10000, fragsize=0x4000, format=0x4011
Mar 23 00:21:13 localhost kernel: ALSA sound/pci/hda/hda_codec.c:620: hda_codec_setup_stream: NID=0x6, stream=0x5, channel=0, format=0x4011
[aplay close]
Mar 23 00:22:12 localhost kernel: ALSA sound/pci/hda/hda_codec.c:620: hda_codec_setup_stream: NID=0x6, stream=0x0, channel=0, format=0x0
As far as I can tell the format value 0x4011 translates to PCM,
44.1kHz, rate multiplier 1, rate divisor 1, 16 bits, 2 channels - all
by the book. And NID 0x6 corresponds to S/PDIF out according to the
Realtek documentation.
Does anybody achieve 44.1kHz over S/PDIF with any other brand codec?
If so, there is probably some quirk that must be used for the Realtek
chips to control the S/PDIF frame rate. Someone at Realtek should have
an idea on what is going on here...
As it stands, S/PDIF works at 48kHz if you're lucky (intermittent
audio screeches and unability to detect AC3/DTS if you're not so
lucky). It's impossible to set the frame rate to 44.1kHz (or 96khz or
192kHz, for that matter). There is no error reported, but the S/PDIF
link stays at 48kHz, no matter what I do.
--
Best regards,
Dag Lem
More information about the Alsa-devel
mailing list