Commit graph

1759 commits

Author SHA1 Message Date
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
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
13e913bf85 Add missing CMI8788.conf to Makefile.am 2007-08-22 13:12:21 +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
540c7f765f Fix use after free
Fixed use after free (ALSA bug#3300).
2007-08-15 14:22:33 +02:00
Clemens Ladisch
f2835d86fa seq_midi_event: fix parsing of F9/FD bytes
Check for a valid event type when encoding a system real-time message to
prevent the bytes F9 or FD resulting in an empty sequencer message.
2007-08-10 09:41:17 +02:00
Clemens Ladisch
5090cf3520 seq_midi_event: fix parsing of missing data bytes
Reorganize the encoder logic to prevent status bytes that appear where
data bytes are expected from being interpreted as data bytes.
2007-08-10 09:40:29 +02:00
Clemens Ladisch
4ebeecda28 seq_midi_event: prevent running status after system messages
Reset the event type after encoding a system message to prevent any
following data bytes from being interpreted as data for a running status
system message, which is not allowed in MIDI.
2007-08-10 09:39:24 +02:00
Clemens Ladisch
2c281e1648 seq_midi_event: fix encoding of data bytes after end of sysex
Create a new state ST_INVALID for the encoder to prevent data bytes at
the beginning of a stream or after a sysex message being interpreted as
note-off parameters.
2007-08-10 09:38:47 +02:00
Takashi Iwai
c7e1676dcd Don't set PCM pointer at error in snd_pcm_hw_open()
snd_pcm_hw_open() may set a non-NULL to pcmp even if it returns an error.
Some codes like dmix expects it's NULL, and cause the double free().
2007-08-06 16:09:27 +02:00
Clemens Ladisch
fca29a6172 remove unused variables
Remove some unused variables that the compiler warned about.
2007-07-13 12:44:43 +02:00
Takashi Iwai
4cdb17c601 Split mmap-emulation code from hw layer
Move out mmap-emulation code from hw layer to its own plugin.
This cleans up the mess in pcm_hw.c.
2007-07-11 17:44:09 +02:00
Jaroslav Kysela
e0d7bfcea6 mixer simple basic abstraction - added python binding
reasons:
- rapid development
- class-like code structure
- more readable code
features:
- hcontrol binding is managed from python (opportunity to create
  virtual mixer without driver or join multiple cards to behave as one)
2007-07-11 10:10:12 +02:00
Takashi Iwai
7f0beceb7d Added PS3 configuration
Added PS3 configuration.
No iec958 PCM at this stage since it doesn't support passthru yet.
2007-07-05 12:58:10 +02:00
Takashi Iwai
845d9222b2 fix mmap emulation bug of recording doesn't work
From: Roy Huang <royhuang9@gmail.com>

Record doesn't work if enabling mmap emulation and rate conversion
needed, this patch fix this bug.
2007-07-05 12:15:16 +02:00
Takashi Iwai
40415cd180 Fix undefined references in namehint.c
Fixed undefined references in namehint.c when not all components are
selected via configure options.
2007-07-03 20:22:21 +02:00
Takashi Iwai
e4c80614e9 Use S16_BE as dmix format for PPC drivers
PPC drivers should use S16_BE as the base format of dmix/dsnoop.
This avoid confusion of format endianess via CPU emulation.
2007-07-03 19:55:57 +02:00
Takashi Iwai
267d7c7281 Add support of little-endian on i386/x86_64 dmix
i386/x86_64 alsa-lib may need to handle big-endian formats, e.g.
when running via qemu on PPC.  The generic dmix code already has
both endian support, so let's use it as fallback.
2007-07-03 19:52:33 +02:00
Takashi Iwai
971ec92b8b Specify subdevice number for Maestor3 dmix setting
The subdevice number of a dmix slave PCM has to be specified explicitly
for the device with multiple substreams such as Maestro3.
2007-05-22 18:38:58 +02:00
Clemens Ladisch
a03ddea415 dmix/dshare/dsnoop plugin: enable slowptr by default
Enabling the slowptr options does not make snd_pcm_delay() and related
functions much slower than they would have been with a hw device, while
disabling this option greatly reduces the accuracy of those functions,
thus creating more jitter in any media player application that
synchronizes its output to the sound device.

Therefore, it is preferrable to have this option enabled by default.
2007-05-21 09:13:19 +02:00
Steve Longerbeam
63e4c591f9 Add support for gain in softvol plugin
This patch allows for gain in the softvol plugin, in addition to attenuation.
The plugin now has a "max_dB" parameter (up to 50 dB) as well as the
original "min_dB" parameter (down to -51 dB). max_dB defaults to 0 dB, so
unless max_dB is specified in a device conf, the behavior of the plugin will
be the same as before (attenuation only).

HDA-Intel.conf is also modified to use softvol for its default capture.
So now, capture is filtered through softvol (range -30 to +30 dB) before
being passed on to dsnoop as before.

The softvol plugin allows a range of -51 to +50 dB, so max_dB could be
increased to 50. But eventually samples are going to get clipped. At 40
dB I was beginning to get clipping when recording a sample sound at a
"reasonably soft" volume using a digital mic on the stac9205 HDA codec.

The motivation for this work is that some HDA codecs have no hardware gain
control for some paths. For instance, the stac9205 has support for digital
mics, but there is no gain control widget for this signal before it is placed
on the Azalia link (only a mute). Therefore gain can only be accomplished
via software.

Signed-off-by: Steve Longerbeam <stevel@embeddedalley.com>
2007-05-18 15:04:12 +02:00
Takashi Iwai
577959ec87 Revert the wrong change in src/pcm/Makefile.am
Reverted the wrong change in src/pcm/Makefile.am, accidentally merged
from my own development version...
2007-05-15 15:58:58 +02:00
Takashi Iwai
21888c5f50 Add config and plugin directory options to configure
Added --with-configdir and --with-plugindir options to configure
which specify the directories for config files and plugin objects
respectively.  The default paths when these options are not
specified are unchanged.
2007-05-03 20:55:54 +02:00
Takashi Iwai
3b1153c435 Add --enable-symbolic-functions configure option
Added --enable-symbolic-functions configure option.  This will detect
and pass -Bsymbolic-functions linker option, which gives you better
performance and smaller binary size.  Only recent binutils supports
this option.
2007-04-10 13:24:52 +02:00
Takashi Iwai
41dfdba7fb Add missing smixer.conf for installation 2007-04-05 17:19:40 +02:00
Takashi Iwai
7f9dd4ac65 Fixed an access to uninitialized variable in pcm_rate.c
Fixed an access to uninitialized variable in pcm_rate.c (in error message).
2007-03-28 14:31:46 +02:00
Takashi Iwai
2b5006b03c Add missing control_ext entry
Added missing entry for control_ext.c for static symbol table.
2007-03-28 14:30:58 +02:00
Takashi Iwai
77b4d5f97a Add --with-ctl-plugins configure option
Added --with-ctl-plugins configure option to specify the optinal
plugins to build.
2007-03-28 13:48:04 +02:00
Takashi Iwai
c16111516f Define an array of default rate plugins
Define an array of default rate plugins, set speexrate as the first
entry.  The linear is used as a fallback.
2007-03-28 12:38:27 +02:00
Takashi Iwai
c6bebac05e Trivial fix of compile warning
Fix unused variable j.
2007-03-22 01:17:22 +01:00
Takashi Iwai
36987b02c0 String array for default rate plugin list
Change the rate converter type to allow string arrays in addition to
a string.  When a string array is given, the rate plugin probes each
string and try to load the converter plugin in the order of the list.

For example, you can set
	defaults.pcm.rate_converter	[ "samplerate" "linear" ]
so that samplerate plugin is preferred to linear plugin if it's
installed.
2007-03-22 00:58:42 +01:00
Takashi Iwai
70e4ec9d08 Allow build without libdl and libpthread
Allow building alsa-lib without libdl and libpthread.
Added new options to configure, --with-libdl and --with-pthread.
2007-03-22 00:48:18 +01:00
Rene Herman
9a75eec664 Fix alsa-devel ML address
This replaces all occurences of alsa-devel@lists.s[ource]f[orge].net
that a simple recursive grep found in the current HG ALSA repos by
alsa-devel@alsa-project.org.

Signed-off-by: Rene Herman <rene.herman@gmail.com>
2007-03-21 12:21:38 +01:00
Takashi Iwai
36cc1daad8 Remove _snd_pcm_link_descriptors() and more comments
Removed the obsoleted _snd_pcm_link_descriptors() from pcm_local.h.
Added more comments on multi plugin.
2007-03-13 10:44:28 +01:00
Takashi Iwai
8048321c76 More better fix for linked start/stop
Instead of link_fd, more generic callback link_slaves is introduced.
This is called for linking the slave streams as the source to the
given master stream.
2007-03-13 02:52:33 +01:00
Takashi Iwai
1753ae794f Fix start/stop of multi plugin
The start/stop of sync'ed stream of multi plugin.
This should make some JACK users with multiple devices happier.
2007-03-13 00:40:22 +01:00
Clemens Ladisch
ffcffac13d fix a signedness warning 2007-03-12 08:27:15 +01:00
Takashi Iwai
6329db3af1 Improve the sample conversion in plug layer
Improve the sample conversion in plug layer for the sample bits
reduction.  Use round instead of truncating, which introduces
more quantization noise.

Original patch by Jean-Marc Valin <jean-marc.valin@usherbrooke.ca>
2007-03-09 17:06:23 +01:00
Jaroslav Kysela
afb23f3f58 release 1.0.14rc3
Patch-level: Merged
2007-02-26 09:21:12 +01:00
Clemens Ladisch
98f8b6c9a8 add USB-Audio.conf to Makefile.am 2007-02-13 14:03:30 +01:00
Clemens Ladisch
09eb800771 enable dmix-ing and proper 5.1 routing for USB audio devices
add a configuration file for USB audio devices
2007-02-13 09:01:31 +01:00
Clemens Ladisch
f54f03bfc4 fix SNDERR() format strings/arguments 2007-02-12 13:45:57 +01:00
Clemens Ladisch
0c49463b8c remove superfluous strdup() calls
Remove same calls of strdup() that were unnecessary because the
temporary string would not be modified or held longer than the lifetime
of the original string.
2007-02-12 13:45:03 +01:00
Clemens Ladisch
ebc0ea9b54 add card_name configuration function
Add a configuration function "card_name" so that configuration files can
use device-specific definitions based on a card's short name.
2007-02-12 13:43:49 +01:00
Takashi Iwai
b3f998dbc9 add support for symbol prefixes in shared libraries
attached patch updates the Version script so that it supports SYMBOL_PREFIX

From: Mike Frysinger <vapier@gentoo.org>
2007-01-17 15:19:52 +01:00
Takashi Iwai
c818bab2e3 Fix compile warning with internal function
Fixed the compile warning refering to the internal function
snd_pcm_hw_params_set_format_first.
2007-01-08 16:39:26 +01:00
Takashi Iwai
6972e3e585 Fix error code in timer_query.c
Fix the returned error code for the invalid timer definition.
2007-01-08 16:29:16 +01:00
Benoit Fouet
31910617f2 initialize dl handles where it needs to
this trivial patch initializes dl handle in timer.c and timer_query.c
where it needs to.

Signed-off-by: Benoit Fouet <benoit.fouet@purplelabs.com>
2007-01-08 15:07:02 +01:00
Jaroslav Kysela
4a1cefd24d pcm_ladspa - fix none policy
In some configurations, channel samples were not copied correctly.
Also, fix memory leaks and remove extra end-of-line chars from SNDERR
strings.
2006-12-20 16:01:27 +01:00
Jaroslav Kysela
2c02c139f4 remove snd_ctl_iface_conf_name() prototype, namehint doxygen cleanups 2006-12-07 15:29:20 +01:00