Commit graph

2380 commits

Author SHA1 Message Date
Jaroslav Kysela
309a274454 Add support for monotonic timestamps 2008-01-09 11:13:34 +01:00
Clemens Ladisch
a73ad3f265 conf: show path of any missing configuration file
In all cases where a configuration file is not found, show an error
message with its full path.
2008-01-09 09:42:42 +01:00
Takashi Iwai
8fab259170 Fix function declarations with old PCM API
The functions that are obsoleted in the last patches conflict with the
old PCM API.  Fixed with ifdef.
2008-01-09 09:45:26 +01:00
Takashi Iwai
679cea4125 Remove sleep_min and tick
The sleep_min and tick are removed features from the kernel.
This patch cleans the corresponding part in alsa-lib.
2008-01-08 18:36:18 +01:00
Takashi Iwai
cf15e49d84 Remove PCM xfer_align
The PCM xfer_align is a removed feature from the kernel.
This patch cleans up the corresponding part in alsa-lib.
2008-01-08 18:35:29 +01:00
Takashi Iwai
e1e9e3ff82 Remove indirect control access
The indirect control access is removed from the kernel.
This patch cleans the corresponding alsa-lib part.
2008-01-08 18:34:36 +01:00
Takashi Iwai
d23669585d Remove obsolete seq event entries in seq-decoder
Removed obsolete seq-devent entries in seq-decoder.
2007-12-21 15:26:17 +01:00
Takashi Iwai
173d8a8b58 Add deprecated attribute to obsolete functions
Added __attribute__((deprecated)) to declarations of obsolete functions.
2007-12-21 15:25:47 +01:00
Jaroslav Kysela
7562320e3b Added SNDRV_PCM_IOCTL_TTSTAMP and updated PCM API version to 2.0.9 2007-12-17 09:04:42 +01:00
Takashi Iwai
ce64f433a6 Add snd_pcm_ioplug_set_state() function
Added an exported function snd_pcm_ioplug_set_state() to change
the PCM state of ioplug from the plugin side (e.g. from another
thread).
2007-12-14 15:19:03 +01:00
Clemens Ladisch
86456d21e0 revert revision 2264:23c4c0f5de40
The rounding done when converting to smaller sample widths fails for
saturated positive samples; in this case, the sample value overflows and
becomes negative.  We are better off without rounding, even if we then
have quantization noise (of at most half the resolution of the least
significant bit).

ALSA bug#3360; Debian #437827; GNOME #436192; LP #116990; Mandriva #33908
2007-12-14 09:11:01 +01:00
Takashi Iwai
74880110c3 Fix segfault with strdup(NULL) in softvol
The last change to fix the slave name may cause a segfault when
name=NULL is passed.  Fixed now.
2007-12-13 15:49:50 +01:00
Clemens Ladisch
6e6f4b9c93 dmix: add U8 support
Add support for direct mixing of U8 samples (for devices like some USB
headsets or the Tux Droid).
2007-12-10 12:35:08 +01:00
Clemens Ladisch
a3fe1f7800 dmix: simplify mix_areas()
The code for the three supported sample widths is almost the same, so it
makes sense to merge the three cases.
2007-12-10 12:32:36 +01:00
Clemens Ladisch
79db4a6bfa dmix: rename mix_areas*
Rename all mix_areas* symbols so that they contain the sample width
instead of some meaningless number.
2007-12-10 12:31:29 +01:00
Jaroslav Kysela
de2b7a42d7 fix write in simple mixer API - python backends 2007-12-04 16:55:00 +01:00
Takashi Iwai
8a035282ac Clean up Versions file
The entries in the current Versions file don't work as expected.
Since the first ALSA_0.9 has already snd_* global definitions, all
the rest are simply ignored.  Some symbols (e.g. snd_hw_params_*)
indeed work because they have explicit symver definitions, but
ALSA_0.9.6 and later are all superfluous.

This patch clean up these useless entries.  Also, the patch restricts
the matching patterns for _snd_* and __snd_* entries to reduce the
unneeded export symbols.
2007-11-30 18:29:01 +01:00
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