Age | Commit message (Collapse) | Author | Files | Lines |
|
pa_alsa_path_synthesize() generates a path without a proplist,
causing a crash at free time.
|
|
This adds mechanism to use a custom UCM value on verbs and modifiers to
allow providing sink/source module arguments that are
PulseAudio-speicific, such as mmap/tsched mode and ignore_dB.
|
|
Thie code was incorrect as it stood, but more importantly, we don't
support a separate PCM for devices conceptually (since devices are
mapped to ports).
|
|
This allows us to parse an extra set of modargs to tack on to an
existing set. Duplicates in the second set are ignored, since this fits
our use best. In the future, this could be extended to support different
merge modes (ignore dupes vs. replace with dupes), but I've left this
out since there isn't a clear need and it would be dead code for now.
|
|
This allows us to support the PlaybackVolume and CaptureVolume commands
in UCM, specifying a mixer control to use for hardware volume control.
This only works with ports corresponding to single devices at the
moment, and doesn't support stacking controls for combination ports.
On the UCM side, this also requires that when disabling the device for
the port, the volume should be reset to some default.
When enabling/disabling combination devices, things are a bit iffy since
we have no way to reset the volume before switching to a combination
device. It would be nice to have a combination-transition-sequence
command in UCM to handle this and other similar cases.
|
|
This will be needed if the implementation data stores pointers to
additional data that needs to be freed as well.
|
|
For now, provides a simple interface to add a per-stream-type volume
factor to sink-inputs.
|
|
|
|
Some notes:
* This depends on 'androgenizer', a tool to generate Android-style
Android.mk files from an autotools build system.
* This assumes that PA is run as the system daemon and configures
accordingly.
* In the Android build, libltdl is likely not available when configure
is being run, and we know it will be so the check is manually
overridden.
* NEON support needs to be communicated from an upper-level Android.mk.
* rpaths don't work on Android - you need LD_LIBRARY_PATH set.
* Configuration files for /etc/pulse are shipped out of tree, since they
vary from device to device.
* The original patch was massive and ugly, but thanks Pekka Paalanen's
work on Weston to break out common androgenizer snippets, we could
greatly decrease the size of the Android-specific elements.
* Since we don't use libtool for linking, we need to work around some
symbol definition problems that turn up. This is done in a separate
file (pulseaudio-android-symdef.c). More information about this at:
http://www.sourceware.org/autobook/autobook/autobook_173.html (the
example snippet needs some fixing to work with current libtool).
|
|
Some more contributors during the RC cycle.
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
|
|
This fixes a crash that occurred when trying to access non-existent
port data. Doing this:
pa_alsa_port_data *data = PA_DEVICE_PORT_DATA(port);
is not a good idea when using UCM, because in the UCM mode ports don't
have any data, so the data pointer points to some random memory.
|
|
|
|
During my work on module-loopback I found a bug that sometimes crashes pulse when
module-loopback is loaded due to pushing a zero-length block into the memblockq.
As there is a one-line fix I thought you might want it for 6.0.
|
|
|
|
ALSA mutes speaker when Line Out is plugged in by default, so
we should follow that convention.
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
|
|
This makes the analog-surround-21 mapping consistent with other
surround mappings. I'm not sure if this makes any practical
difference, though.
|
|
This function could sometimes leak a perportentry.
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
|
|
Recent testing has shown some srbchannel related bugs that
indicates that the srbchannel feature is not ready to be enabled
by default.
Therefore, temporary disable it for the 6.0 release and re-enable
it in git master once 6.0 is released.
Bugs:
https://bugs.freedesktop.org/show_bug.cgi?id=88452
https://bugs.freedesktop.org/show_bug.cgi?id=88167
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
|
|
FSF addresses used in PA sources are no longer valid and rpmlint
generates numerous warnings during packaging because of this.
This patch changes all FSF addresses to FSF web page according to
the GPL how-to: https://www.gnu.org/licenses/gpl-howto.en.html
Done automatically by sed-ing through sources.
|
|
The translation was not added to LINGUAS and there was this error from
msgfmt:
tr.po:2801: 'msgid' and 'msgstr' entries do not both begin with '\n'
|
|
|
|
When line out path is active, we want to mute speakers for obvious
reasons, and headphones to avoid volume spikes.
Reported-by: TienFu Chen <tienfu.chen@canonical.com>
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
|
|
See code above for proper behavior.
Issue detected by PVS Studio
|
|
pa_source_state_t can have value PA_SOURCE_INVALID_STATE, not
PA_SINK_INVALID_STATE. It happens to be the same here, but it can break
sometimes.
Issue detected by PVS Studio.
|
|
Issue detected by CppCheck and PVS Studio
|
|
In some cases, depending on the instruction that performs the load, orc
ignores the size of the parameter when loading it for the first time.
Explicitly load the parameter into a temp to make sure it is loaded
correctly, like we do for the 2ch case.
See https://bugzilla.gnome.org/show_bug.cgi?id=742271
|
|
Since the srb memblock and the audio data were coming from separate
pools, and the base index was per pool, they could actually still
collide.
This patch changes the base index to be global and atomically
incremented.
Reported-by: Arun Raghavan <arun@accosted.net>
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
|
|
When pactl is invoked with any options or the -- specifier, optind will
be > 1. Therefore using a static 3 value is wrong. Use optind+2 as both
offset and count difference.
Bug-Debian: http://bugs.debian.org/774810
|
|
The libsamplerate based resamplers have been deprecated, so it's best
to not build them by default.
|
|
I noticed that when resuming the tunnel sink, there was a small amount
of previously played audio before the new audio started to play.
Normally that probably wouldn't be noticeable, because there would be
a few seconds of silence played before suspending the sink due to
inactivity, so the unwanted old audio would be just silence, but in my
configuration sinks are suspended immediately when there's nothing
playing to them, so the glitch becomes audible.
|
|
|
|
Pavel Machek reported in his blog that our message about the system mode
has a dead link in it. And this link is also present in translations.
So, I replaced it in the source and fixed all translations using a script:
for a in po/*.po ; do msgcat --no-wrap $a | sed
's@http://pulseaudio.org/wiki/WhatIsWrongWithSystemMod
@http://pulseaudio.org/wiki/WhatIsWrongWithSystemMode @g' | sed
's@http://pulseaudio.org/wiki/WhatIsWrongWithSystemMode@http://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/WhatIsWrongWithSystemWide/@g'
| sed 's@/\.@/ .@g' | sed 's@/,@/ ,@g' | msgcat - > $a.new
git add -i # to filter out formatting changes
The "/." and "/," replacements are needed so that various terminal
emulators don't include the trailing "." or "," into the clickable URL.
The resulting patch is attached, just in case, in order to avoid
damaging non-ASCII characters.
--
Alexander E. Patrakov
>From 7dcd197571840e467d688f0f7354253730bbcc15 Mon Sep 17 00:00:00 2001
From: "Alexander E. Patrakov" <patrakov@gmail.com>
Date: Sat, 29 Nov 2014 20:56:27 +0500
Subject: [PATCH] Fix the WhatIsWrongWithSystemWide URL
Reported by Pavel Machek in http://pavelmachek.livejournal.com/126190.html
All translations were also fixed using a script.
Signed-off-by: Alexander E. Patrakov <patrakov@gmail.com>
|
|
Signed-off-by: Alexander E. Patrakov <patrakov@gmail.com>
|
|
enabled."
This reverts commit 7276faca72e9696d4891daff139aee52509f43bf.
Using the new systemd socket activation for PulseAudio will cause PulseAudio to not
have any connection with D-Bus, breaking device reservation protocol, module-jackdbus-detect
and module-dbus-protocol. Therefore, autospawn is now still enabled by default even if you
build with systemd daemon headers.
|
|
The bluetooth card is created when the first profile becomes
available, which means that the card may have profiles that are not
available when the card is initialized. If module-card-restore tries
to restore such profile, that will fail, and the card will be
initialized with the "off" profile active.
This patch modifies module-card-restore so that if follows the profile
availability status, and when the saved profile becomes available, it
is activated. Additionally, module-card-restore is modified so that it
doesn't even try to restore unavailable profiles, when the necessary
information is available. In practice there are two existing places
where the profile is restored, and only one of those contexts has the
necessary information available. Unfortunately, it's the more
important context (card creation) where the information is not
available. This means that module-card-restore will set the initial
profile of a new card even if the profile is unavailable, and this
will cause an ugly warning in the log, even though there's nothing
abnormal happening.
BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=87081
|
|
In case a transport is currently disconnected and transitions to
idle, that should not count as a "remote hang up" event.
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
|
|
|
|
This fixes a "use of uninitialised value" error in previous memblock commit.
Reported-by: Alexander Patrakov <patrakov@gmail.com>
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
|
|
In case PA_MEMPOOL_DISABLE is set, pa_memblock_new_pool can return
NULL. It does not make sense to set up a srbchannel without a shared
memory pool, so just fail in this case.
Reported-by: Alexander Patrakov <patrakov@gmail.com>
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
|
|
BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=87073
|
|
See also
https://www.mail-archive.com/ubuntu-audio-dev@lists.launchpad.net/msg00268.html
The warning may be useful for users who carried over the module-loading
statement from default configuration files shipped with old PulseAudio
versions.
Signed-off-by: Alexander E. Patrakov <patrakov@gmail.com>
|
|
pa_memblockq_drop is guaranteed to drop the chunk we just extracted from the
memblockq which internally unrefs the chunk.
|
|
Several mallocs were made using fftwf_malloc and were erroneously freed by
pa_xfree. This patch corrects these calls of pa_xfree to fftwf_free.
|
|
See objections to the code in this email:
http://lists.freedesktop.org/archives/pulseaudio-discuss/2014-March/020174.html
Signed-off-by: Alexander E. Patrakov <patrakov@gmail.com>
|
|
Every new memexport object now gets an ever increasing base index,
that prevents block ID collisions between different memexport
objects on the same pstream.
In particular, this prevents block ID collision between the srb memblock
(which has its own memexport object) and audio data blocks.
Reported-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
|
|
This fixes an issue when requesting module unload for
module-bluetooth-discover. When unloading the module, it also unloads
module-bluez4-discover and/or module-bluez5-discover, and that
invalidated the state variable that was used for iterating through the
modules idxset.
The pa_module.unload_requested flag could now otherwise be removed,
but it's still being (ab)used in the bluetooth modules.
|
|
mingw32 does not have "getuid", so ifdef it properly.
Reported-by: Michael DePaulo <mikedep333@gmail.com>
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
|
|
Because the adapters reference the devices hashmap on free, we mush
free the adapters hashmap first and then the devices hashmap.
Reported-by: Alexander Patrakov <patrakov@gmail.com>
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
|
|
Reported-by: Felipe Sateler <fsateler@debian.org>
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
|
|
Because debian does not run with the freebsd libc, but rather uses the
GNU one, it chose to not define __FreeBSD__, but rather __FreeBSD_kernel__.
Use the alternative when the functionality tested is for kernel
features, and keep the __FreeBSD__ one when using freebsd libc
headers.
If this patch is applied, debian could drop all the current patches when
importing 6.0 :)
|