This patch fixes a number of different bugs in pcm_rate.c.
1) Resampling now works for rate 192000 -> 8000.
2) zero samples are not accidentally inserted into the stream any more.
3) Corrects period size calculations.
4) Prevents avail_min and xfer_align being less than 1.
0.0.12
Correct interrupt timing. interrupt at end of period,
instead of in the middle of a playback period.
Remove redundent "voice" handling.
0.0.13
Single trigger call for multi channels.
0.0.14
Set limits based on what the sound card hardware can do.
playback periods_min=2, periods_max=8
capture hw constraints require period_size = n * 64 bytes.
playback hw constraints require period_size = n * 64 bytes.
AudigyLS now supports Digital(AC3)/Analog outputs. 5.1 Surround
PLAYBACK. MIC and LINE IN CAPTURE.
The MIC and LINE IN use the AC97 chip.
The AC97 uses the PLAYBACK(Not CAPTURE) controls in alsamixer for
controlling CAPTURE. Then, instead of sending that output to the
speakers, it sends it to the Philips 1361T ADC. This results in high
quality ADC conversion.
E.g. For LINE IN capture, set LINE IN playback volume and unmute it.
Set MASTER volume.
There is a new control for "CAPTURE feedback into PLAYBACK". If one does
not want any feedback, leave it at it's minimum.
Once I have figured out all the controls in the AC97 and what they do
for the AudigyLS, I will rename them so that they make sense to the user.
Please see attached patch files against the current CVS.
Still TODO:
1) Set multiple sample rates.
2) Add a CAPUTRE source switch for switch between "MIC", "Line in",
"SPDIF in", "TAD in", "AUX in" and "What u hear". Currently, one cannot
switch to capture "SPDIF in" or "What u hear", but all the other inputs
are possible via switches in the AC97.
3) Set multiple periods per buffer.
4) MIDI in/out.
5) Cleaner module unload.