it seems that volumes 0-0x7fff ramp up volumes, then 8000-ffff go back down... but with opposite phases. So...


Great discovery!, probably the stream can be inverted several times when it processedthrough
through the SCB tree. (PCMReader->SrcTaskSCB->MasterMixSCB->CodecOut)
Almost all SCB's got a volume field.

and it sounds correct (for CD analog passthru and PCM at least).
(note - you'll need to open alsamixer and adjust the DAC volume before the 'fix' works, I haven't found where it gets programmed on driver load.

I guess that the only thing left is to change the initial volume values set when driver is loaded
in dsp_spos.c line 260:
/* maximize volume */
ins->dac_volume_right = 0x8000;
- ins->dac_volume_left = 0x8000;
+ ins->dac_volume_left = 0x7fff;
ins->spdif_input_volume_right = 0x8000;
- ins->spdif_input_volume_left = 0x8000;
+ ins->spdif_input_volume_left = 0x7fff;

Now, I have no idea if this is correct, if I just broke SPDIF (no reciever), rear speakers (ditto, I don't have any) but it fixes my case anyway, so that's a start. If anyone can test more of these cases, that might be good.


If it works and solves a problem then it must correct -:)


/Benny



-------------------------------------------------------
This SF.net email is sponsored by: Microsoft Visual Studio.NET comprehensive development tool, built to increase your productivity. Try a free online hosted session at:
http://ads.sourceforge.net/cgi-bin/redirect.pl?micr0003en
_______________________________________________
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel

Reply via email to