Commit graph

2363 commits

Author SHA1 Message Date
Takashi Iwai
7dca3ab1ea Make local functions really local
Rename the local functions to snd1_* so that they won't be exported
out of alsa-lib.

Some functions are still kept because aserver requires them.  Sigh.
2007-11-30 18:26:13 +01:00
Clemens Ladisch
e68bd91cf9 oxygen: remove softvol plugin
Remove the softvol plugin from all other CMI8788 devices.
2007-11-30 08:13:40 +01:00
Clemens Ladisch
8be2d013f0 oxygen: add channel status controls
Add mixer controls to manage the S/PDIF channel status bits.
2007-11-30 08:10:58 +01:00
Takashi Iwai
2ae2bbf190 softvol - add missing name
softvol can be also a pass-thru when the given control already exists
as a hardware control, and the name isn't set properly because of
slave creation.  This patch fixes it.
2007-11-28 14:24:26 +01:00
Takashi Iwai
72ede8a12d Set PCM name properly in empty and asym plugins
The PCM name isn't set properly on empty and asym plugins due to its call
of snd_pcm_open_slave().  Now a new function snd_pcm_open_named_slave()
is created and make snd_pcm_open_slave() an inline function calling the
new one with name=NULL.
2007-11-26 12:29:37 +01:00
Jaroslav Kysela
a2d98ebd42 fix error code when controlC0 device has no enough permissions
See alsa bug#3600
2007-11-25 23:20:50 +01:00
Jaroslav Kysela
2ba380fdc4 fix error path in snd_config_hook_load_for_all_cards() 2007-11-25 23:19:49 +01:00
Takashi Iwai
0b66de95a9 Fix mmap with multi plugin
The mmap of multi plugin seems broken (for a long time!) due to its
creation of local buffer via snd_pcm_mmap().  Since the multi plugin
just needs to shadow the mmap buffer of each slave, it now has
mmap_shadow=1 and its own mmap/unmap method to do shadowing.
2007-11-23 15:46:48 +01:00
Takashi Iwai
683c8bc4a2 Clean up using gettimestamp()
Introduce a new local function gettimestamp() to get the current timestamp.
2007-11-21 12:19:43 +01:00
Takashi Iwai
7379b061eb Fix timestamp in status in PCM direct plugins
PCM direct plugins didn't update the timestamp properly.
Now it always starts the slave PCM with MMAP tstamp_mode so that the
timestamp will be being updated.  When a client is set up as MMAP
tstamp_mode as well, simply copy this slave timestamp.  Otherwise
status callback calculates the current timestamp as usual.
2007-11-21 12:10:35 +01:00
Takashi Iwai
b0b7d0280f pcm - Limit the avail_min minimum size
Fix avail_min if it's less than period_size.  The too small avail_min
is simply useless and the cause of CPU hog with rate plugin.
2007-11-20 15:29:10 +01:00
Clemens Ladisch
1cf37d72c4 oxygen: enhance configuration
Remove the now superfluous softvol plugin from the CMI8788
configuration, use 24-bit samples for dmix, and add an alias for the
AV200 driver.
2007-11-19 08:07:19 +01:00
Clemens Ladisch
b70bd65415 alsa.conf: cosmetic change
Add a whitespace to make the ctl.hw definition better readable.
2007-11-19 07:55:49 +01:00
Takashi Iwai
408af4b675 Fix wrong return values in direct plugins
Fixed the codes returning error values that are not set properly
via errno.
2007-11-16 12:06:43 +01:00
Stas Sergeev
c13b8dc986 Remove ugly hack in rate plugin poll_descriptors callback
The rate plugin has ugly hacks in poll_descriptors callback to adjust
avail_min when partial read/write occurs.  This causes often unexpected
problems like XRUNs, especially with two-period cases.

Let's remove that beast, it's rather harmful than useful.

Signed-off-by: Stas Sergeev <stsp@aknet.ru>
2007-11-12 12:01:16 +01:00
Clemens Ladisch
7b51f62732 simple mixer: fix calculation of control range
When calculating the value range of a control, the variables cannot be
initialized with zero because this would prevent the minimum from having
a value above zero or the maximum from having a value below zero.
2007-11-12 08:50:08 +01:00
Clemens Ladisch
15e936e277 midiloop: use blocking mode
Busy waiting is evil - use blocking mode when reading the actual test data.
2007-11-12 08:49:10 +01:00
Takashi Iwai
07137c0267 ioplug - Fix the refinement of period_* after periods
When changing only PERIODS after BUFFER_*, ioplug doesn't update
the corresponding PERIOD_* parameters properly.  This should fix
ALSA bug#2601.
2007-11-05 12:46:46 +01:00
Takashi Iwai
2e7cc001a9 Re-add assert.h to asoundlib.h
Looks like many apps rely on implicit inclusion of assert.h in asoundlib.h.
Take it back again to make them happy.
2007-10-30 14:28:30 +01:00
Takashi Iwai
54a2cf5ecf Remove sequencer instrument layer
Remove obsoleted sequencer instrument layer from alsa-lib.
The old symbols are compiled in as default as dummy functions
(unless --disable-old-symbols is given to configure) so that
the old binaries can still work more or less.
2007-10-30 12:31:55 +01:00
Takashi Iwai
078112dfdf Update asound_fm.h for patch loading over hwdep
Update asound_fm.h to add the new struct and ioctl for patch loading
over hwdep.
2007-10-30 11:50:45 +01:00
Takashi Iwai
68e5771a6f Remove assert from header files
Putting assert in the public macros isn't good idea at all.
Let's get rid of them.

Also, clean up snd*_alloca() functions to use a helper macro
instead of copy and paste.
2007-10-25 15:36:03 +02:00
Takashi Iwai
9eb272c753 Fix gcc compile warnings
Fix gcc compile warnings with nasty const cast.  Let's use simply macros
instead of inline functions.  It's just an array access after all...
2007-10-25 15:34:43 +02:00
Takashi Iwai
f38e5feca3 Export dB conversion helper functions
Export helper functions to convert dB level and range.

snd_tlv_*dB*() are to convert dB level or range directly from TLV data.
snd_ctl_*dB*() are to get dB level or range from a control element.
2007-10-24 13:04:14 +02:00
Takashi Iwai
631f7cde82 Change assert condition in error message handler
Activating assert() in the default error message handler isn't always
good for producitve systems.  Make this optional and enable only when
a special configure option is given (i.e. for explicit debugging).
2007-10-24 12:53:08 +02:00
Takashi Iwai
d6093c58f3 snd_pcm_dmix_close: raise semaphore if unable to discard
This patch causes snd_pcm_dmix_close() to up a semaphore after downing it
if it is unable to discard it.  It prevents some deadlock that I am
getting when a couple of applications interact and one of them closes the
device and later re-opens it.

From: Mike Gorse <mgorse@mgorse.dhs.org>
2007-10-18 11:10:35 +02:00
Jaroslav Kysela
c2e368e7f7 Added tag v1.0.15 for changeset 9e2f117f24b9 2007-10-15 10:36:46 +02:00
Jaroslav Kysela
89dfaa7cf7 release 1.0.15
Patch-level: Merged
2007-10-15 10:36:46 +02:00
Jaroslav Kysela
d25e281230 Changed Jaroslav Kysela's e-mail from perex@suse.cz to perex@perex.cz 2007-10-15 10:24:55 +02:00
Jaroslav Kysela
d2a2d964b8 Added tag v1.0.15rc3 for changeset d2c731f5701f 2007-09-21 10:40:55 +02:00
Jaroslav Kysela
4f70a301ac release 1.0.15rc3
Patch-level: Merged
2007-09-21 10:40:55 +02:00
Takashi Iwai
67399e35ff Fix wrong offset calculation in snd_pcm_{read|write}_mmap()
The offset used in snd_pcm_{read|write}_mmap() is not the linear offset
but the offset in a ring buffer.  It has to be rounded.
2007-09-20 13:20:03 +02:00
Stas Sergeev
cda4a3cb61 PC-Speaker config update
The attached patch updates the PC-Speaker.conf for the use of softvol.

Signed-off-by: Stas Sergeev <stsp@aknet.ru>
2007-09-19 21:29:41 +02:00
Takashi Iwai
d3339d7b8b Fix subdevice number to 0 for dmix/dsnoop
The dmix and dsnoop plugins need a fixed substream number instead of
the next-available one (-1) as the default number.  Now it's set to 0.
2007-09-17 15:03:52 +02:00
Jaroslav Kysela
8f5fa1a4aa changed python-incdir to python-includes for configure.in 2007-09-12 15:02:03 +02:00
Jaroslav Kysela
b8aa6c8766 Added tag v1.0.15rc2 for changeset 6e8e8b05cef4 2007-09-12 11:15:52 +02:00
Jaroslav Kysela
fb8887350c release 1.0.15rc2
Patch-level: Merged
2007-09-12 11:15:52 +02:00
Takashi Iwai
e23317de39 Allow empty pythonincdir option
The include path options can be empty if the python is installed in
the standard header path.  So, configure shouldn't check its emptiness.
2007-08-31 16:41:19 +02:00
Takashi Iwai
b04d1e18e4 Fix a typo
$PYTHON_INCDIR itself already contains -I
2007-08-31 16:40:07 +02:00
Jaroslav Kysela
dcdf8c2a00 improved python detection and added --with-pythonincdir for configure.in 2007-08-31 15:22:26 +02:00
Jaroslav Kysela
77603ff798 alsa simple mixer - python basic abstraction - simplified using get/setArray 2007-08-30 14:12:42 +02:00
Jaroslav Kysela
16b91e8d97 Added tag v1.0.15rc1 for changeset 0de58d1f43df 2007-08-30 10:23:29 +02:00
Jaroslav Kysela
4b2cc63038 release 1.0.15rc1
Patch-level: Merged
2007-08-30 10:23:29 +02:00
Takashi Iwai
e073ebe393 Add dynamically created files to ignore file 2007-08-29 14:50:52 +02:00
Takashi Iwai
dac0e3b17c Handle "Input Source" as a capture element
Some drivers use "Input Source" as the capture source mixer element because
mixer abstraction layer can't handle multiple "Capture Source" elements.
This patch adds a hack to handle Input Source as a capture route, and let
mixer apps know that it's a capture stuff, at least.
2007-08-29 14:48:31 +02:00
Takashi Iwai
686a32c61f Add the missing include/mixer.h to doxygen.cfg 2007-08-22 14:24:58 +02:00
Takashi Iwai
13e913bf85 Add missing CMI8788.conf to Makefile.am 2007-08-22 13:12:21 +02:00
Takashi Iwai
679ae1c7f2 Continue build even if python-config doesn't exist
It's annoying that the configure script stops with an error if
python-config doesn't exist.  It's no fatal error, so the configure
should disable the python components and continue.
2007-08-22 11:41:58 +02:00
Clemens Ladisch
9749c31fa7 cmi8788: add alsa-lib config
Add a .conf file to enable dmix/dsnoop and softvol for CMI8788.

Using dmix helps mask the bug that all audio is forced to 48 kHz. :-)
2007-08-22 09:42:13 +02:00
Takashi Iwai
e16a241efc Fix a typo in configure script 2007-08-15 15:54:47 +02:00