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.
The old format tried to do something when the requested format was not
supported by the hardware, but did not actually select any other format.
Now we try to switch to any format supported by dmix, or any other
format when the plugin is not dmix.
The code to set the number of channels did not work when the requested
channel count was not available and when the min/max channel counts were
not identical.
Replacing the entire selection code with
snd_pcm_hw_params_set_channels_near() gives the same result in the cases
where it previously worked, and works in all other cases.
Revert dmix.conf and dsnoop.conf.
The ipc key offset had been already modified to be unique for
each card, stream, device and subdevice interanally in dmix &
co plugins.
- add long card name to device description
- create empty PCM plugin to allow right hint description parsing
- reorder devices in alsa.conf
- make namehint more configurable (using default.namehint.showall switch)
- add two levels basic and exteded for hints to default configuration files
- do not show direct device aliases
- removed all known memory leaks
- add snd_device_name_hint() and snd_device_name_free_hint() functions
- add snd_ctl_iface_conf_name() functions
- do not accept parameters for the plugin definition without @args section
- add defaults.pcm.dmix.card/device and dsnoop.card/device definitions
- add hints for HDA-Intel.conf, pcm/dmix.conf, pcm/dsnoop.conf and alsa.conf
- add test/namehint test utility
- doxygen related cleanups
Use dmix/dsnoop for maestro3 boards. Although maestro3 has multiple
playback capability, it supports only two streams (with the currently
available firmware).
If volume or switch write fails, the internal contents for element
is changed, but it is wrong. Reread the whole simple element in this
case to get correct values.
Make sure that the rate plugin does not try to change the slave's
boundary value when setting software parameters; such a change wouldn't
affect the slave pcm.
Furthermore, the stop_threshold conversion code used the wrong boundary
value, and the silence_size conversion code did not take into account
the boundary value at all.
the alisp.c file includes wordexp.h even though it doesnt actually use any
wordexp functions ... causes trouble when target doesnt have wordexp
support :)
patch attached to scrub said headers
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
the src/names.c file includes many more headers than it actually needs ...
this causes troubles when porting to a target that lacks those headers :)
patch attached to scrub said headers
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
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.