Takashi Iwai [Mon, 3 Jan 2005 14:42:11 +0000 (14:42 +0000)]
Make "default" PCM card-specific
"default" PCM can be card-specific.
The definition is moved to pcm/default.conf, and read on-demmand via
aliases.conf. The card config can override the default config.
Takashi Iwai [Mon, 27 Dec 2004 14:40:19 +0000 (14:40 +0000)]
Add softvol PCM plugin
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.
Takashi Iwai [Tue, 21 Dec 2004 14:11:00 +0000 (14:11 +0000)]
Change error message handling
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.
Takashi Iwai [Wed, 15 Dec 2004 15:17:36 +0000 (15:17 +0000)]
Add preamble value configuration for iec958 plugin
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.
Andreas Fenkart [Mon, 22 Nov 2004 06:40:10 +0000 (06:40 +0000)]
Fixes variable shadow problem in capture direction
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>
Jaroslav Kysela [Tue, 16 Nov 2004 15:05:49 +0000 (15:05 +0000)]
appl_ptr sync fix when status/control structures are not mmaped
The prepare and reset ioctls can modify appl_ptr, thus the user space
must take modified appl_ptr from driver.
Markus Grabner [Thu, 16 Sep 2004 10:02:12 +0000 (10:02 +0000)]
Fix the downsampling noise problem
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>
[ALSA-LIB] dmix: dont forget to return -EINVAL on errors
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: James Courtier-Dutton <James@superbug.demon.co.uk>
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.
Update by James Courtier-Dutton <James@superbug.demon.co.uk>
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.
Takashi Iwai [Mon, 28 Jun 2004 10:26:45 +0000 (10:26 +0000)]
James Courtier-Dutton <James@superbug.demon.co.uk>:
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.