The softvol PCM plugin is added. It applies the software volume attenuation,
which may be useful for codecs without volume controls.
Currently, the control is only mono. The attenuation is applied to all
channels equally. The control is probed and automatically created
when not exists yet.
Change the handling of non-fatal errors. Now the non-fatal error
messages are not shown in stderr and no assert() as default. The
behavior can be changed with LIBASOUND_DEBUG environment variable.
The preamble values can be defined in iec958 plugin configuration.
As default, Z/Y/X=8/4/2 is used. CMI8338 has different values,
so override in its configuration.
My gnomemeeting hung when accessing the microphone.
The problem was that the rate variable was not initialized when jumping to
the __partial label.
Signed-off-by: Andreas Fenkart <afenkart@gmx.ch>
Description: The patch replaces the nearest neighbor downsampling method
in the sample rate conversion plugin by linear interpolation of the closest
two samples, thus significantly reducing the resampling noise.
Signed-off-by: Markus Grabner <grabner@icg.tu-graz.ac.at>
snd_pcm_dmix_open() returns success if the open fails attempting
to open not the HW plugin (dmix seems to be limited to use only
the HW plugin right now). This leads to memory corruptions and
eventually a SIGSEGV. The attached patch fixes the omission.
Signed-off-by: Stas Sergeev <stsp@aknet.ru>
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.