Mike Frysinger [Tue, 26 Sep 2006 13:38:35 +0000 (15:38 +0200)]
remove unneeded headers from alsa-lib/src/alisp/alisp.c
the alisp.c file includes wordexp.h even though it doesnt actually use any
wordexp functions ... causes trouble when target doesnt have wordexp
support :)
add support for hosts that have custom symbol prefixes
From: Mike Frysinger <vapier@gentoo.org>
some architectures, like Blackfin, have a prefix added to all symbols (in our
case it's historical baggage)
while normally packages shouldnt care, when code starts mixing assembler with
C (like symbol versioning), you need to dip down into the inner details.
find attached a patch which queries gcc for the prefix (all gcc toolchains
have a builtin define of __USER_LABEL_PREFIX__) and then automatically has
asm() constructs utilize this
since most targets define __USER_LABEL_PREFIX__ to nothing, hopefully this
shouldnt cause any problems :)
Clemens Ladisch [Mon, 18 Sep 2006 15:57:58 +0000 (17:57 +0200)]
fix parsing of non-decimal integers in configuration files
safe_strtoll() now accepts numbers in any base. It formerly assumed that
its input was a decimal number, which had the consequence that
hexadecimal or octal numbers would be parsed as strings when occurring
outside of parameter lists.
This obsoletes some workarounds in the file permission parsing code that
relied on this bug.
Takashi Iwai [Fri, 25 Aug 2006 09:43:22 +0000 (11:43 +0200)]
Fix bogus value when no user TLV is defined
Check whether non-zero size TLV is really returned by comparing
with the pre-filled pattern. ALSA 1.0.12 driver doesn't notify
the error even if user TLV is empty, so the previous value is
passed bogusly.
Tobin Davis [Mon, 21 Aug 2006 17:12:33 +0000 (19:12 +0200)]
Fix build issue on earler x86_64 based distributions
This patch fixes a build issue on systems with Gnu assembler
prior to 2.15.92. Instead of having the inline assembler
translate the leal function on a 32 bit register, it is byte encoded.
Signed-off-by: Tobin Davis <tobinx.b.davis@intel.com>
Pierre Ossman [Fri, 26 May 2006 15:27:00 +0000 (17:27 +0200)]
Make snd_hctl_wait() respect the API
snd_hctl_wait() currently makes a lot of assumptions that fall outside
the defined API. snd_pcm_wait(), however, follows the API nicely so the
new version is based on that.
Pierre Ossman [Fri, 26 May 2006 15:08:18 +0000 (17:08 +0200)]
Allow ioplugins to override snd_pcm_delay()
Some io plug-ins might want to adjust the reported delay value and not
strictly follow the current buffer usage (that's why we have two calls
after all).
Allow them to specify a delay() callback and use the previous behaviour
if they don't.
Addition of "infile" parameter (virtual mic) to the file plugin
When this new parameter is specified, the behavior of opening a file PCM
for input is changed to the following: reads from the device, instead of
being passed down to the slave PCM, will read the raw data from the
specified file. No file writes will take place in this case. In the
absence of this parameter, previous behavior is unchanged.
The input file name and descriptor are kept in the snd_pcm_file_t struct
in a manner analogous to the already existing output file parameter.
TODO:
(1) Only interleaved reads (snd_pcm_file_readi) have been implemented
for now.
(2) File read()'s that return a number of bytes that's not a multiple of
the frame size will result in data loss (choppiness). The rbuf,
rbuf_size_bytes, and rbuf_used_bytes members of the snd_pcm_file_t
struct will be used to address this problem in the future.
(3) Mind whether the PCM was opened in blocking mode. If so, we'll have
to loop until the buffer has been filled with read()'s.
Signed-off-by: Juan Carlos Castro y Castro <jcastro@vialink.com.br>
Clemens Ladisch [Tue, 2 May 2006 14:08:36 +0000 (16:08 +0200)]
add more sequencer port type information bits
Add four new information flags SNDRV_SEQ_PORT_TYPE_HARDWARE, _SOFTWARE,
_SYNTHESIZER, _PORT for sequencer ports. This makes it easier for apps
like Rosegarden to make policy decisions based on the port type.
Fixed the segfault in the error path of snd_pcm_hook_add_conf()
(calling invalid install_func pointer).
Also, added the missing snd_dlclose() to release the handle properly.
Revert the last fix: finer sync of dmix in delay callback
The fix to enable finer sync of dmix in delay callback seems
rather harmful for some apps like xmms on SMP.
The problem of aoss was solved by max_periods=0, so better to
revert this change.
Introduce "max_periods" option to specify the max number of periods
per buffer to each plugin.
- When max_periods = -1, the fixed buffer size as the slave size is
used (old behavior).
- When max_periods = 0 (or 1), the number of periods is variable
between 2 and the slave buffer size.
- When max_periods greater than 2 is given, it specifies the max
periods of that pcm explicitly.
When no option is given in the PCM defintion, the value
"defaults.pcm.dmix_max_periods" is referred as default.
The default value is 0, as defined in alsa.conf.
You can override this in ~/.asoundrc or /etc/asound.conf as you like.
Created a new rate converter plugin SDK.
A rate converter can be replaced as an extra plugin now.
The default rate converter is a built-in linear converter.
You can find a sample external converter in alsa-plugins package.
Takashi Iwai [Fri, 24 Mar 2006 14:53:41 +0000 (14:53 +0000)]
Fix noisy output of dmix with two periods
Fixed the noisy output of dmix with two (or less) periods.
The dmix tends to give noise or XRUN when running with two periods
because of its implementation nature. To avoid this, the start
position is aligned to the period size, so that the updates are synced
with interrupts of slave PCM.
Takashi Iwai [Fri, 24 Mar 2006 14:51:24 +0000 (14:51 +0000)]
Fix PCM auto-start conditions
Fix the PCM auto-start conditions
- The capture stream should be started the PCM anyway before reads
- Fixed the endless poll() when the written size doesn't fit to the
buffer size due to lack of auto-start