Thomas Tonino wrote:

> The option "IEC958 Output Switch" indeed neatly enables the digital 
> output with a quiet signal. When I enable the "IEC958 DAC To Out" 
> switch I get very distorted output. I'm using XMMS or MPG123 with OSS 
> emulation. 

<cut more data>

I started playing around in the driver with some success. When line 1211 
of card-cmipci.c is changed to accept unsigned samples instead of 
signed, the SPDIF output is fine, but expected, the analog output is now 
unusable. See below:

/* playback on channel A */
static snd_pcm_hardware_t snd_cmipci_playback =
{
    info:            (SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED |
                     SNDRV_PCM_INFO_BLOCK_TRANSFER |
                     SNDRV_PCM_INFO_MMAP_VALID),
    formats:         SNDRV_PCM_FMTBIT_U8 | SNDRV_PCM_FMTBIT_U16_LE,
    rates:           SNDRV_PCM_RATE_5512 | SNDRV_PCM_RATE_8000_48000,
    rate_min:        5512,


I hope this information sheds some light as to where the problem lies. 
As I understand, people are using the 0.9.0beta10 driver successfully 
with SPDIF out on the CM8738? Could that be a matter of chip revision 
then? If interest exists, I'll pull the card from my system to look at 
manufacturing date.

The above S16 to U16 change both fixes SPDIF output with the IEC958 DAC 
To Out option in alsamixer and using the SPDIF device directly through 
alsaplayer -d hw:0,2.

I hope this points in a direction that will solve this problem in the 
right place of the code. FWIW the Windows driver is able to use both 
outputs correctly...


Thomas

p.s. cc'ed this to alsa-devel - I think it really belongs there - 
followups can go there too.



_______________________________________________
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel

Reply via email to