Commit graph

2527 commits

Author SHA1 Message Date
Takashi Iwai
1929c55d2e Query the supported rate ranges from rate plugins
Extend the PCM-rate plugin protocol to allow the host to query the
supported sample rates.  The protocol version is bumped to 0x010002,
and the version number negotiaion is slightly changed.
Now the plugin is supposed to fill the version it supports in return.

The old versioned plugins are still supported, but they may spew
version-mismatch warning prints.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-02 16:26:03 +02:00
Takashi Iwai
29841e67e9 Add config file for SB-XFi driver
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-02 16:08:57 +02:00
Jaroslav Kysela
d2aadec5e4 snd_card_get_index() - extend comment for last change
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2009-05-12 08:28:06 +02:00
Jaroslav Kysela
33ab0b5381 Extend snd_card_get_index() to accept also control device name like /dev/snd/controlC0
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2009-05-12 08:06:41 +02:00
Jaroslav Kysela
3e30007a19 Release v1.0.20
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2009-05-06 09:07:23 +02:00
Takashi Iwai
646f24a04c Merge branch 'master' of /export/git/alsa/alsa-lib/ 2009-04-23 14:58:59 +02:00
Jaroslav Kysela
0de385109a pcm: more better documentation for snd_pcm_poll_descriptors
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2009-04-21 14:36:33 +02:00
Jaroslav Kysela
a987a692bf pcm_hw plugin: show appl_ptr and hw_ptr in dump() callback
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2009-04-09 10:49:57 +02:00
Jaroslav Kysela
fb12b89453 pcm_hw plugin: preserve monotonic flag also after snd_pcm_hw_params() call
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2009-04-08 09:29:35 +02:00
Takashi Iwai
59c774ed5e Add route_policy copy to HDA-Intel.conf for capture
Since some digital mics have the phase-inversion problem in one channel,
adding both channels for mono stream results in the noise.
Use route_policy copy to avoid that situation.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-23 09:06:23 +01:00
Pavel Hofman
0fe807dedd Change "%b" to represent bits instead of bytes in PCM file plugin
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-03 17:07:55 +01:00
Patricio Paez
50e9cd9525 Fix typos in ALSA Lib documentation
Signed-off-by: Patricio Paez <pp@pp.com.mx>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-23 10:00:06 +01:00
Takashi Iwai
59826eab77 Merge branch 'master' of git@git.alsa-project.org:alsa-lib 2009-02-17 17:01:06 +01:00
Takashi Iwai
81241ffb81 Change numid properly with external ctl plugins
So far, external ctl plugins don't change numid.  Some apps expect the
non-zero numids with list, and the plugin doesn't work for them.

This patch adds a fake numid to each control based on the offset
number.  The lookup with non-zero numid is supported but is pretty
inefficient.  Eventually the plugin side may be optimized to look
at the numid, too.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-17 16:58:12 +01:00
Clemens Ladisch
91f1b4b96f oxygen: remove softvol plugin
The change that removed the Master controls for Xonar D2(X) cards was
reverted, so we don't need to use the softvol plugin anymore ...

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2009-02-17 09:45:57 +01:00
Takashi Iwai
e38f921625 Add hint.device = 0 to pcm.default of HDA-Intel.conf
The hd-audio driver may have no analog stream but only a digital one
which has usually non-zero device number.  To avoid the bogus namehint,
set hint.device 0 for pcm.default (it wasn't handled properly due to
asym).

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-13 17:19:52 +01:00
Clemens Ladisch
1009f9859c fix pcm_set_params() documentation
The documentation for the latency parameter of pcm_set_params() says
that the value 0 uses an optimal value.  This is wrong, as there is no
special handling for 0, and the result will be a buffer of minimal size.
Therefore, remove that incorrect statement.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2009-02-11 09:53:29 +01:00
Takashi Iwai
548dd9be90 Fix misc compile warnings
Shut up misc compile warnings from gcc:
  pcm_plug.c: In function ‘snd_pcm_plug_change_mmap’:
  pcm_plug.c:608: warning: enumeration value ‘SND_PCM_ACCESS_MMAP_INTERLEAVED’ not handled in switch
  pcm_plug.c:608: warning: enumeration value ‘SND_PCM_ACCESS_MMAP_NONINTERLEAVED’ not handled in switch
  pcm_plug.c:608: warning: enumeration value ‘SND_PCM_ACCESS_MMAP_COMPLEX’ not handled in switch

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-02 16:11:39 +01:00
Takashi Iwai
cb66600dd3 Fix handling of revents in snd_pcm_poll_descriptors_revents()
The revents parameter is ambiguously defined whether it's a pointer
to a single event or an arary.

This patch defines the behavior of revents more strictly (in the
function description): it's a pointer of a single event.

Also fixed snd_pcm_wait_nocheck() to follow that rule.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-02 16:10:08 +01:00
Pavel Hofman
59ebaa8e9d PCM parameters in file plugin
* added support for including pcm stream params in the output filename
* added support for piping the stream to a shell command if the filename
  string starts with a pipe char

Signed-off-by: Pavel Hofman <pavel.hofman@insite.cz>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-29 11:59:27 +01:00
Takashi Iwai
c821f2e7f2 Fix off_t in kernel struct
The off_t in kernel struct (for ioctls) is actually different from the
definition of user-space off_t.  The kernel off_t is equial with long
while user-space off_t depends on the large-file support.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-28 15:00:35 +01:00
Takashi Iwai
56fa81fdab Remove own "default" PCM config from GUS.conf
The system-wide default PCM config works now (by the fix of plug
mmap_emul support), thus no card-specific hackish config is needed
for GUS.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-28 09:07:53 +01:00
Takashi Iwai
d3a8e853fb Fix plug conversion with mmap emulation
If the slave PCM supports only another type of interleaved format,
plug did convert it wrongly and resulted in an unused access type
error.  For example, if a slave PCM supporst only RW_NONINTERLEAVE
access and you try to play an interleaved format file, it resulted
in an error.

This patch fixes the conversion rule.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-27 17:21:34 +01:00
Krzysztof Helt
777a869769 Fix GUS.conf to be usable
Fix GUS.conf to work for default PCM.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-27 11:44:14 +01:00
Takashi Iwai
3b728db20d Add missing -ldl to modules/mixer/simple/*
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-21 09:29:35 +01:00
Takashi Iwai
a789b66d00 Fix build with softfloat option
Fix build of alsa-lib when --with-softfloat is used:
 - disable ladspa plugin
 - don't use sqrt() function

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-21 09:25:48 +01:00
Jaroslav Kysela
b06414151d Release v1.0.19
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2009-01-19 12:17:18 +01:00
Clemens Ladisch
c8567c5870 add softvol for CMI8788
Master Volume controls were removed from Xonar D2/D2X cards; add the
softvol plugin so that we have at least PCM volume.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2009-01-19 10:20:38 +01:00
Jaroslav Kysela
81e1550fe5 Add m4/attributes.m4 as dist file..
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2009-01-05 13:21:12 +01:00
Takashi Iwai
0400fa6f8d Don't accept an empty string for $ALSA_CONFIG_PATH
The variable $ALSA_CONFIG_PATH specifies the config path, but the current
code accepts the empty string and results in a mysterious error because
no config file is found.

This patch fixes the check of the variable and takes the default value
if the string is empty.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-10 18:20:50 +01:00
Takashi Iwai
48e4d089dc Fix softvol access refine
The commit a13707da6b

    pcm_softvol plugin: remove access type change for refine

breaks the softvol in the case of RW -> MMAP.  The slave of softvol
must be an mmap although the previous fix forces RW access.

This patch reverts the commit, and the fixed access refine method
to hanle non-interleaved <-> interleaved changes.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-04 16:01:22 +01:00
Takashi Iwai
c0fd854ff1 Fix snd-pcsp default configuration
The softvol must be inside the plug.  Otherwise it gets stuck.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-11-26 14:09:06 +01:00
Diego E. 'Flameeyes' Pettenò
03388ca6d3 Mark static tables as constant when possible.
This makes it possible to write them to .data.rel.ro or to .rodata if
there is no relocation involved (arrays of character arrays).

Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>
2008-11-21 22:39:38 +01:00
Diego E. 'Flameeyes' Pettenò
fc8d8bb2e6 Make string arrays as constant as possible.
Use "const char *const []" as type for string arrays, or convert to
"const char [][x]" when it makes sense.

Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>
2008-11-21 22:14:52 +01:00
Diego E. 'Flameeyes' Pettenò
2eaf9403d2 Make all the remaining ops structure constants.
This excludes the mixer for now since it requires a change to the
public headers.

Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>
2008-11-21 20:48:33 +01:00
Diego E. 'Flameeyes' Pettenò
8b14625cc3 Make all the PCM plugins ops structure constant.
This ensures they are emitted in .data.rel.ro rather than .data.rel,
which should make a nice difference when using prelink.

Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>
2008-11-21 20:38:49 +01:00
Diego E. 'Flameeyes' Pettenò
1f734e3058 Make snd_pcm_hw_params_names static to pcm_params.c .
Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>
2008-11-21 20:28:56 +01:00
Diego E. 'Flameeyes' Pettenò
2289326673 Make seq, rawmidi and control operation structures static const.
Since they are never changed it does not make sense to have them in
the writeable .data section, just make sure to add const to the ops
member in the structure definitions so that there are no extra
warnings added.

Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>
2008-11-21 20:28:38 +01:00
Diego E. 'Flameeyes' Pettenò
8ed98db259 Make some static tables and strings constants.
By doing this we move them from the .data section to .rodata setion,
or from .data.rel to .data.rel.ro.

The .rodata section is mapped directly from the on-disk file, which is
always a save, while .data.rel.ro is mapped directly when using
prelink, which is a save in a lot of cases.

Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>
2008-11-21 13:04:41 +01:00
Diego E. 'Flameeyes' Pettenò
29a14294fc Make sure that python libraries are passed through LIBADD.
Also avoid an indirection by using $(PYTHON_LIBS) and
$(PYTHON_INCLUDES) directly.

Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>
2008-11-21 13:04:33 +01:00
Diego E. 'Flameeyes' Pettenò
0b92e53cf9 Check for --no-undefined linker flag and use it.
This adds extra safety that the built libraries will have all the
correct dependencies linked in.

Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>
2008-11-21 13:04:26 +01:00
Diego E. 'Flameeyes' Pettenò
ca133ff6a2 Add the attributes.m4 macro file from xine/lscube.
This is a shared macro file that is currently maintained in both xine
and lscube repositories and contains a series of utility macros to
check compiler and linker features.

Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>
2008-11-21 13:04:19 +01:00
Diego E. 'Flameeyes' Pettenò
a42def6e9c Don't use AC_CANONICAL_SYSTEM, only use AC_CANONICAL_HOST.
Since alsa-lib is not a tool generating architecture code, the target
definition does not matter, instead use $host and $build properly.

See http://blog.flameeyes.eu/2008/10/11 for a detailed explanation of
the problem and the fix.

Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>
2008-11-21 13:04:03 +01:00
Takashi Iwai
73ddcda842 Fix segfault with invalid meter plugin option
snd_pcm_meter_add_scope_conf() may cause a segfault when pcm_scope_type
isn't defined.

Initialize type_conf properly to avoid it.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-11-19 16:14:27 +01:00
Takashi Iwai
cb1fd837d9 Add linear plugin wrapping iec958 PCM for ice1724-based boards
The ice1724-based cards can handle only 32bit while the apps almost
expet 16bit format for SPDIF I/O.  This prevents the default config
working on many apps like mplayer, xine, etc.

This patch simply adds the least automatic conversion by linear plugin.
Note that "plug" isn't used here.  Otherwise we get a problem of the
routing (plug over plug is buggy).

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-11-19 14:59:03 +01:00
Takashi Iwai
55c77d0ec2 Fix volume/switch updates for global/simple mixer elements
Fixed a long-standing bug that the values of global or simple mixer
elements aren't updated when dir = SM_CAPT is given.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-11-10 17:39:11 +01:00
Jaroslav Kysela
6e3ecb1dfd Release v1.0.18
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-10-29 13:42:10 +01:00
Jaroslav Kysela
8feae77e13 Merge branch 'master' of git@git.alsa-project.org:alsa-lib 2008-10-23 09:58:10 +02:00
Jaroslav Kysela
cc7fec138e Add snd_pcm_avail() and snd_pcm_avail_delay() prototypes
Prototypes for new functions from commit
	fe5391c9da
were lost somehow.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-10-23 09:57:11 +02:00
Takashi Iwai
3b3eac25ab Add iec958 PCM definition for PS3
Added the iec958 PCM definition for PS3.
Since it's a new feature, the definition is marked as optional.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-10-20 11:26:20 +02:00