Peter Meerwald [Thu, 12 Jan 2012 16:20:05 +0000 (17:20 +0100)]
core: svolume tests should generate realistic random volume data
assuming RAND_MAX is around 1<<31, rand() >> 1 generates large numbers as
random volume data; these likely causes saturated sample values after
applying the volume function -- not a good test
David Henningsson [Thu, 9 Feb 2012 14:59:20 +0000 (15:59 +0100)]
sample-util: Fix "Darth Vader" panning bug
For muted channels, we forgot to increment a pointer, so if one
channel was muted but not the other, sound became distorted in a
Darth Vader like way. To test the difference, start two input
streams and pan one of them hard left (or right).
And hey, if you didn't think it sounded like Darth Vader, it's
your imagination that's broken, not mine! ;-)
Arun Raghavan [Thu, 9 Feb 2012 11:20:31 +0000 (16:50 +0530)]
sink-input,source-output: Handle devices going away in unlink hooks
If a *_UNLINK_POST hook causes a sink-input/source-output's sink/source
to go away, the subsequent attempt to update the sink/source status will
cause an assert. We deal with this by checking the sink/source status
before trying to update it.
David Henningsson [Thu, 2 Feb 2012 11:46:54 +0000 (12:46 +0100)]
alsa-mixer: Take override-maps into account in subset elimination
The practical problem is that some users were left with only one
"LFE on Mono" port, as analog-output was considered a subset of
analog-output-lfe-on-mono. Which was not what they wanted.
David Henningsson [Wed, 11 Jan 2012 14:40:08 +0000 (15:40 +0100)]
alsa: Improve "well known descriptions" for ports
* If we don't have "Digital Speakers", we should say "Speakers"
instead of "Analog Speakers", and similar for other ports.
* Change "IEC958" to "S/PDIF" (more well known name)
* Add new ports and mappings for HDMI
* Change "Internal" to "Built-in" for the card name
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
David Henningsson [Thu, 12 Jan 2012 09:58:34 +0000 (10:58 +0100)]
alsa-mixer: Allow speaker port to control "Front Speaker"
"Front Speaker", "Surround Speaker" seems to be a common enough name
to make it into alsa-utils, so we should probably care about it as
well. In this case, there was a macbook pro whose speakers didn't work
without these controls.
BugLink: http://bugs.launchpad.net/bugs/551441 Reported-by: Jeroen T. Vermeulen <jtv@canonical.com> Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Tanu Kaskinen [Sun, 1 Jan 2012 17:44:27 +0000 (19:44 +0200)]
bluetooth: Remove the right match in the proximity module.
The original intention of this code was probably that if
adding filter1 succeeded but adding filter2 failed, then
filter1 should be removed so that either both or none of the
filters get added.
Tanu Kaskinen [Sun, 1 Jan 2012 17:44:26 +0000 (19:44 +0200)]
dbus: Give NULL as the error parameter to dbus_bus_remove_match().
We didn't do anything anyway in case of failures. When we
give NULL as the error, dbus_bus_remove_match() can act
asynchronously, so it becomes faster. Also, the bus daemon
can avoid sending any replies, which reduces the amount of
traffic.
Arun Raghavan [Tue, 17 Jan 2012 11:24:44 +0000 (16:54 +0530)]
alsa-mixer: Fix mixer path for AC3 profiles
The recent change to turn off the IEC958 element for analog paths
exposed a bug in AC3 profiles. These were inheriting the analog output
path instead of explicitly selecting the iec958 path.
Thanks to David Henningsson for pointing this out.
Arun Raghavan [Fri, 13 Jan 2012 04:10:04 +0000 (09:40 +0530)]
alsa-mixer: Turn off the IEC958 element for analog outputs
This is needed for the Creative Audigy CA0106 to work. Also makes sure
that the LED for optical out is shut down in analog modes on MacBooks
(these share a port for analog and digital output).
David Henningsson [Tue, 20 Dec 2011 08:16:02 +0000 (09:16 +0100)]
alsa-mixer: When selecting an input, turn off boosts of other inputs
Just like we turn off the "Front Mic" element when we select "Rear Mic",
we should also turn off the "Front Mic Boost" element. And the same for
the other inputs.
Reported-by: Len Owens <len@ovenwerks.net> Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Arun Raghavan [Tue, 3 Jan 2012 18:19:09 +0000 (23:49 +0530)]
daemon: Fix *-idle-time arguments
--exit-idle-time and --scache-idle-time were marked as having an
optional argument when the argument is actually mandatory. This causes a
crash when using this argument.
Thanks to Matthijs Kooijman (blathijs on IRC) for pointing this out.
Arun Raghavan [Mon, 19 Dec 2011 04:50:30 +0000 (10:20 +0530)]
build-sys: Fix po/ build with --disable-nls
We can't call IT_PROG_INTLTOOL because it requires intltool even with
--disable-nls, but it provides USE_NLS which is required for the po/
build. This might take a while to get fixed upstream, so working around
this in our build system for now.
Arun Raghavan [Mon, 19 Dec 2011 04:46:05 +0000 (10:16 +0530)]
build-sys: Fix map-file check
configure doesn't provide an abs_top_srcdir early enough, so we just use
srcdir for that. There was also a problem with the path we were setting
in VERSIONING_LDFLAGS that is fixed now.
Make assembly syntax compatible to the X32 toolchain and fix the
following kind of compilations errors with X32 gcc.
| pulsecore/svolume_mmx.c: Assembler messages:
| pulsecore/svolume_mmx.c:107: Error: `(%esi,%rdi,4)' is not a valid base/index expression
| pulsecore/svolume_mmx.c:135: Error: `(%esi,%rdi,4)' is not a valid base/index expression
| pulsecore/svolume_mmx.c:161: Error: `(%esi,%rdi,4)' is not a valid base/index expression
| pulsecore/svolume_mmx.c:162: Error: `8(%esi,%rdi,4)' is not a valid base/index expression
| pulsecore/svolume_mmx.c:180: Error: `(%esi,%rdi,4)' is not a valid base/index expression
| pulsecore/svolume_mmx.c:210: Error: `(%esi,%rdi,4)' is not a valid base/index expression
| pulsecore/svolume_mmx.c:244: Error: `(%esi,%rdi,4)' is not a valid base/index expression
| pulsecore/svolume_mmx.c:245: Error: `8(%esi,%rdi,4)' is not a valid base/index expression
| make[3]: *** [libpulsecore_1.1_la-svolume_mmx.lo] Error 1
Originally these assembly lines were written for x86_64 ABI, now they
are also compatible with X32 ABI [3][4].
The patch was submitted to the OpenEmbedded-Core list [1][2].
Arun Raghavan [Wed, 14 Dec 2011 15:18:12 +0000 (20:48 +0530)]
protocol-native: Fix 'auth-group-enabled' modarg
This is actually implemented in module-protocol-stub as
'auth-group-enable'. An unfortunate typo because the other argument is
spelt as 'enabled', but it's better to be slightly inconsistent than to
change the public interface.
Peter Meerwald [Sun, 11 Dec 2011 15:07:42 +0000 (16:07 +0100)]
echo-cance: Make Adrian canceller optional
makes the Adrian echo canceller implementation optional at compile time
this patch supersedes an earlier patch proposal and addresses the following
comments:
* separate patch from speex dependency rework (Arun)
* check that at least one EC implementation is available (Arun)
* properly align yes/no in configure summary for Adrian (Frederic)
Peter Meerwald [Sun, 11 Dec 2011 15:07:41 +0000 (16:07 +0100)]
build-sys: Make speex library optional
make speex library dependency optional, this affects the resampler
and the echo canceller module
this patch supersedes an earlier patch proposal and addresses the following
comments:
* fix order of pa_echo_canceller_method_t enum and ec_table (Frederic)
* the default resampler is speex if available as before, otherwise ffmpeg (Arun)
* does not touch the Adrian EC implementation (see separate patch) (Arun)
David Henningsson [Fri, 2 Dec 2011 09:20:23 +0000 (10:20 +0100)]
Fixup a few things in the new path probing
* If mapping_probe_paths() fails to open the mixer, all paths are now
removed from the mapping's path sets.
* pa_path_set.probed isn't really used for anything (removed).
* If profile probing is configured to be skipped, mapping_paths_probe()
should still be called.
Thanks to Tanu for spotting.
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
David Henningsson [Fri, 25 Nov 2011 14:17:16 +0000 (15:17 +0100)]
alsa: add card ports and path probe cache
To be able to add ports to all profiles, we need to probe all
profiles at startup. To speed this up, we now have a cache of
probes paths which is owned by the profile set. Since paths
are now owned by the profile set, the path set must now have
a hashmap of paths instead of a linked list.
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
David Henningsson [Wed, 30 Nov 2011 11:51:06 +0000 (12:51 +0100)]
alsa: Ignore the virtual "thinkpad-acpi" card
The thinkpad ACPI driver sometimes creates a virtual sound card,
which at best exposes a volume control. Save some startup time, and
unnecessary error messages in the log, by ignoring it.
Signed-off-by: David Henningsson <david.henningsson@canonical.com>