Takashi Iwai
6a6a70ffe7
Do hwsync of slave PCM on dmix
...
Call hwsync of slave PCM on snd_pcm_hwsync() over dmix.
This reduces ocasional output noises, typically seen in xmms and bmp with
multi-threading on SMP/HT systems.
Disabled slowptr of default dmix definition again.
2005-03-29 14:10:16 +00:00
Takashi Iwai
5e325ea18b
Delayed start for dmix
...
Introducing a private state for the delayed start of PCM stream.
This problem occurs when the rate plugin doesn't feed the data
properly before triggering START. This results in weird problems,
e.g. an inifinte loop of artsd eating 100% CPU time.
To solve this problem, the state is marked as "pending" when no
data appears at the trigger, and the stream is started later at
the mmap commit.
2005-03-29 14:06:00 +00:00
Takashi Iwai
c5c9b2c8bb
Fix noises on exapnd
...
Fixes noise on rate expansion (bug #1018 ).
2005-03-29 13:52:41 +00:00
Takashi Iwai
e64cab565e
Fix noises in rate exapnsion
...
Fixed noises in rate exapnsion.
2005-03-24 20:28:56 +00:00
Takashi Iwai
248d0b285c
Fix compilation with gcc-4.0
...
Fixed compilation with gcc-4.0
2005-03-22 18:49:07 +00:00
Takashi Iwai
dab2b58e0e
Fix resume of dmix, dsnoop and dshare plugins
...
Fix the resume of dmix, dsnoop and dshare plugins.
[This replaces the timer mode with TREAD mode, and may trigger Oops
with the older kernel...]
2005-03-15 11:39:51 +00:00
Takashi Iwai
8003e03b50
Small code clean up
...
Small code clean up for readability.
2005-03-09 12:00:37 +00:00
Takashi Iwai
73008debc3
Add snd_pcm_parse_control_id()
...
Added a new function snd_pcm_parse_control_id() for the user controls.
This can be used in external plugins, too.
2005-03-09 11:57:54 +00:00
Takashi Iwai
227441b2c8
More doxygen comments
...
Added more doxygen comments in pcm_extplug and pcm_ioplug codes.
2005-03-09 11:54:58 +00:00
Clemens Ladisch
85171640fa
fix the file plugin
...
Call snd_pcm_file_hw_params instead of snd_pcm_generic_hw_params
to prevent a crash when the file plugin is used.
2005-02-28 08:25:12 +00:00
Takashi Iwai
809e31561a
Initialize structs for ioctls
...
Initialize the argument structs before calling ioctls to make
valgrind happy.
2005-02-24 20:57:56 +00:00
Takashi Iwai
7e5a7fbdbf
Remove JACK plugin
...
Removed JACK plugin. It's in alsa-plugins now.
2005-02-24 10:16:51 +00:00
Takashi Iwai
145f85fff8
Accept string type card
...
Accept string type card entry to be compatible with others.
2005-02-22 20:21:23 +00:00
Takashi Iwai
cf6e569bd7
Code clean-up
...
Small code clean-up
2005-02-14 15:48:14 +00:00
Takashi Iwai
d8f7de1b16
Support dl-object cache
...
Added the support of dl-object caches for PCM plugins.
2005-02-14 15:09:09 +00:00
Takashi Iwai
5eb794fe0b
Add filter-type external plugin SDK
...
Added the SDK for filter-type PCM plugins.
Share some codes with ioplug.
2005-02-14 13:33:08 +00:00
Takashi Iwai
f9b9015245
Fix resmgr support
...
Call normal open() before trying with res_open_device().
snd_open_device() is defined to do this procedure.
2005-02-11 16:35:24 +00:00
Takashi Iwai
237d46cfb6
Fix compile warnings
...
Fixed compile warnings with unused variables.
2005-02-09 17:28:08 +00:00
Takashi Iwai
94c4cdcd30
Add external PCM plugin SDK (draft version)
...
Added the external PCM plugin SDK (draft version).
This can be used to create external PCM plugins.
Example codes are found in alsa-plugins directory.
2005-02-08 20:57:51 +00:00
Takashi Iwai
d7a32ca06b
Fix hw_params of lfloat plugin
...
Fixed the bogus hw_refine call in hw_params of lfloat plugin.
2005-02-08 20:48:39 +00:00
Takashi Iwai
22846c486f
Split arch-dependent codes of dmix
...
Split arch-dependent codes of dmix to separate files.
2005-02-08 20:28:29 +00:00
Clemens Ladisch
c92969845d
start pcm when draining in prepared state
...
For consistency with hw pcms, dmix/dshare pcms are started
when draining in the prepared state with a non-empty buffer.
2005-02-07 09:13:58 +00:00
Takashi Iwai
77c925a71f
Add resmgr support
...
Added the support for resmgr. A new configure option --with-resmgr is added
to enable the resmgr support.
2005-01-26 10:50:28 +00:00
Takashi Iwai
7e74f2ef1b
Fix the available formats
...
Fixed the available formats to be set in hw_refine.
2005-01-21 19:38:10 +00:00
Takashi Iwai
680a60a688
Use snd_config_get_bool()
...
Cleanup using snd_config_get_bool() in possible places.
2005-01-21 19:37:00 +00:00
Jaroslav Kysela
a5831c7300
The stream linking problem for pcm_multi.c should be fixed now
...
- extended link_fd callback
- added snd_pcm_generic_link2()
- added _snd_pcm_link_descriptors()
2005-01-20 18:37:13 +00:00
Takashi Iwai
6cac58179b
Add pcm_generic.h
...
Added the missing pcm_generic.h.
2005-01-20 17:46:33 +00:00
Jaroslav Kysela
836987aa99
improved stream linking and plugin code cleanups
...
- added link/unlink/link_fd fast_ops callbacks
- moved code from snd_pcm_link to pcm_hw.c
- moved "empty" routines pointing to slave to pcm_generic.c
- introduced snd_pcm_generic_t
2005-01-20 15:07:51 +00:00
Takashi Iwai
71ee169307
Fix compile warning
...
Fixed compile warning with printf() and timeval sizes.
2005-01-19 13:43:25 +00:00
Takashi Iwai
0994cf7aae
Fixed compile warning
...
Fixed compile warning. The strlen() returns size_t, not integer.
2005-01-19 13:37:14 +00:00
Takashi Iwai
340018db8a
Fix a typo
...
Fixed a typo in comment by Kirill Smelkov <kirr@mns.spb.ru>
2005-01-13 17:28:11 +00:00
Takashi Iwai
ff9c030e65
Use snd_config_get_bool()
...
Clean up the code, using snd_config_get_bool().
2005-01-13 15:46:34 +00:00
Takashi Iwai
5211c26927
Fix compile warning
...
Fixed compile warning due to signed/unsigned comparison.
2005-01-12 11:19:47 +00:00
Takashi Iwai
c83e9d7451
Fix handling of DISCONNECT state
...
Fixed the handling of DISCONNECT state in dmix (not to set bogus error
values to state).
2005-01-11 17:42:49 +00:00
Takashi Iwai
c67584ec65
Clear sw_params struct at initialization
...
Do zero-clear the sw_params struct in hw_params, just to be sure.
This makes valgrind happy.
2005-01-11 15:11:09 +00:00
Takashi Iwai
a920ca39db
Performance optimization
...
The performance of rate conversion is optimized.
- with S16 format, no format conversion is done
- linear polation of expansion uses 16bit resolution
2005-01-04 13:57:51 +00:00
Takashi Iwai
c7feb066b1
Support stereo volume control
...
softvol supports stereo volume controls.
Fixed the dB calculation, too.
2005-01-04 11:37:29 +00:00
Takashi Iwai
7e92411760
Fix missing declaration
...
Fixed the missing declration of softvol plugin.
2005-01-03 18:19:23 +00:00
Takashi Iwai
82e408d08b
Set max volume as default for softvol
...
Set max volume as default for softvol.
2005-01-03 17:12:51 +00:00
Takashi Iwai
199d207423
Change the behavior with hardware volume controls
...
When a hardware volume control is given, softvol plugin simply
passes the slave PCM without any additional changes.
2005-01-03 14:37:39 +00:00
Takashi Iwai
0732cce6f0
Add accessor to user control elements
...
Added accessor functions to user control elements, snd_ctl_elem_add_*(),
and_ctl_elem_remove() and snd_ctl_elem_info_is_user().
2005-01-03 11:52:39 +00:00
Takashi Iwai
30f35c1f7a
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.
2004-12-27 14:40:19 +00:00
Clemens Ladisch
5c9ee5ef03
fix changed error message handling
...
In the last error message handling change, some error conditions
didn't get properly inverted.
2004-12-23 08:15:46 +00:00
Takashi Iwai
2b54677fdb
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.
2004-12-21 14:11:00 +00:00
Takashi Iwai
73aa2549d9
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.
2004-12-15 15:17:36 +00:00
Kirill Smelkov
0256e1e8c9
Fixed few typos in documentation.
...
Signed-off-by: Kirill Smelkov <kirr@mns.spb.ru>
2004-12-08 19:22:42 +00:00
Andreas Fenkart
0ed778404d
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>
2004-11-22 06:40:10 +00:00
Jaroslav Kysela
457b8777ab
fix for capture for case when status/control structures are not mmaped
2004-11-16 16:03:01 +00:00
Jaroslav Kysela
6987a8555c
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.
2004-11-16 15:05:49 +00:00
Jaroslav Kysela
2d7ca56e2a
Return correct error in snd_pcm_wait() after snd_pcm_poll_descriptors() call
2004-11-12 20:27:31 +00:00