Peter Meerwald [Mon, 16 Dec 2013 15:40:03 +0000 (16:40 +0100)]
modules: Fix resource leak in tunnel-sink-new
https://scan7.coverity.com:8443/reports.htm#v10205/p10016/fileInstanceId=8770&defectInstanceId=3733&mergedDefectId=591270
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Peter Meerwald [Mon, 16 Dec 2013 15:35:50 +0000 (16:35 +0100)]
core: Fix resource leak in core-util
https://scan7.coverity.com:8443/reports.htm#v10205/p10016/fileInstanceId=8477&defectInstanceId=3693&mergedDefectId=591269
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Peter Meerwald [Mon, 16 Dec 2013 15:31:20 +0000 (16:31 +0100)]
modules: Fix resource leak in oss
https://scan7.coverity.com:8443/reports.htm#v10205/p10016/fileInstanceId=8824&defectInstanceId=3731&mergedDefectId=591267
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Peter Meerwald [Mon, 16 Dec 2013 15:25:44 +0000 (16:25 +0100)]
modules: Fix resource leak in alsa-ucm
https://scan7.coverity.com:8443/reports.htm#v10205/p10016/fileInstanceId=8833&defectInstanceId=3732&mergedDefectId=591268
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Peter Meerwald [Mon, 16 Dec 2013 15:15:09 +0000 (16:15 +0100)]
modules: Fix resource leak in device-restore
https://scan7.coverity.com:8443/reports.htm#v10205/p10016/fileInstanceId=8724&defectInstanceId=3728&mergedDefectId=591265
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Peter Meerwald [Mon, 16 Dec 2013 15:03:10 +0000 (16:03 +0100)]
modules: Fix resource leak in alsa-card
https://scan7.coverity.com:8443/reports.htm#v10205/p10016/fileInstanceId=8851&defectInstanceId=3725&mergedDefectId=591261
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Peter Meerwald [Mon, 16 Dec 2013 14:54:29 +0000 (15:54 +0100)]
modules: Fix resource leak in stream-restore
https://scan7.coverity.com:8443/reports.htm#v10205/p10016/fileInstanceId=8726&defectInstanceId=3724&mergedDefectId=591260
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Jan Alexander Steffens (heftig) [Mon, 16 Dec 2013 23:07:11 +0000 (00:07 +0100)]
thread-mq: Initialize thread_mainloop to NULL if not in use
Fixes a crash when unloading module-zeroconf-publish.
Signed-off-by: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
Peter Meerwald [Mon, 16 Dec 2013 13:18:17 +0000 (14:18 +0100)]
simple: Enable pa_simple_flush() on record streams and amend documentation
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Peter Meerwald [Mon, 16 Dec 2013 13:18:16 +0000 (14:18 +0100)]
doc: Document that pa_stream_flush() is applicable to playback and record streams
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Peter Meerwald [Mon, 16 Dec 2013 13:18:15 +0000 (14:18 +0100)]
doc: Document that pa_simple_get_latency() can be used on record streams as well
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Peter Meerwald [Mon, 16 Dec 2013 13:18:14 +0000 (14:18 +0100)]
doc: Refer to seek parameter of pa_stream_write() in description of pa_stream_flush()
pa_stream_write() has no delta parameter, but a seek parameter
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Peter Meerwald [Mon, 16 Dec 2013 13:18:13 +0000 (14:18 +0100)]
doc: Fix reference to pa_threaded_mainloop
Generating docs for file mainloop-api.h...
/home/pmeerw/src/pa-missing/src/pulse/mainloop-api.h:118: warning: Found unknown command `\pa_threaded_mainloop'
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Tanu Kaskinen [Wed, 4 Dec 2013 07:50:11 +0000 (09:50 +0200)]
Add pa_channels_valid()
I think this makes the code a bit nicer to read and write. This also
reduces the chances of off-by-one errors when checking the bounds of
channel count values.
Tanu Kaskinen [Wed, 4 Dec 2013 07:50:10 +0000 (09:50 +0200)]
Add pa_sample_rate_valid()
I think this makes the code a bit nicer to read and write. This also
reduces the chances of off-by-one errors when checking the bounds of
sample rate values.
Tanu Kaskinen [Wed, 4 Dec 2013 07:50:09 +0000 (09:50 +0200)]
Add pa_sample_format_valid()
I think this makes the code a bit nicer to read and write. This also
reduces the chances of off-by-one errors when checking the bounds of
the sample format value.
Tanu Kaskinen [Sat, 14 Dec 2013 07:29:24 +0000 (09:29 +0200)]
bluetooth: Fix profile priority comparison
BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=72414
Ryan Lortie [Tue, 10 Dec 2013 18:27:52 +0000 (13:27 -0500)]
core-util: set_scheduler: check for RLIMIT_RTTIME
set_scheduler() assumes that if sys/resource.h was found then we will
find RLIMIT_RTTIME there, but this is a non-POSIX extension on Linux.
Change the check to ensure that RLIMIT_RTTIME is actually defined.
Linux indeed defines this as a macro, and POSIX specifies that the other
RLIMIT_ constants must be macros, so having this as an #ifdef seems
correct.
Ryan Lortie [Tue, 10 Dec 2013 18:26:17 +0000 (13:26 -0500)]
bootstrap.sh: use /usr/bin/env to find bash
bootstrap.sh uses some non-POSIX features of bash, so we can't use
/bin/sh. Unlike /bin/sh, bash can be installed anywhere in the path, so
we should use /usr/bin/env to find it.
This helps systems that have bash in /usr/local/bin, for example.
Peter Meerwald [Wed, 11 Dec 2013 16:07:04 +0000 (17:07 +0100)]
modargs: Do not modify alternate_rate in pa_modargs_get_alternate_sample_rate() on failure
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Peter Meerwald [Wed, 11 Dec 2013 16:07:03 +0000 (17:07 +0100)]
modargs: Fix pa_modargs_get_sample_rate() if no "rate" is present in the modargs
see http://lists.freedesktop.org/archives/pulseaudio-discuss/2013-December/019471.html
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Reported-by: "poljar (Damir Jelić)" <poljarinho@gmail.com>
Arun Raghavan [Fri, 6 Dec 2013 14:00:15 +0000 (06:00 -0800)]
alsa: Log some output if we disable tsched for BATCH devices
Peter Meerwald [Fri, 29 Nov 2013 14:58:42 +0000 (15:58 +0100)]
core-util: Check that we actually have regexec before we use it
Thanks to Pierre Ossman for reporting the bug and providing an initial
fix on which this patch is based.
BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=69708
Lars-Peter Clausen [Sat, 30 Nov 2013 17:07:24 +0000 (18:07 +0100)]
alsa: Disable timer-scheduling for PCMs with the BATCH flag
PCM Devices which have the BATCH flag set update the PCM pointer only with
period size granularity. Using timer based scheduling does not have any
advantage in this mode. For one devices which have that flag set usually update
the position pointer in software after getting the period interrupt. So
disabling the period interrupt is not possible for this kind of devices.
Furthermore writing to or reading from the buffer slice for the current period
is not possible since the position inside the buffer is not known. On the other
hand the tsched algorithm seems to get easily confused for this kind of
hardware, which results in garbled audio output. This typically means that timer
based scheduling needs to be manually disabled on systems with such devices.
Auto disabling tsched in this case allows these systems to run with the default
configuration.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Tanu Kaskinen [Thu, 5 Dec 2013 16:56:39 +0000 (18:56 +0200)]
card: Move pa_card_add_profile() implementation to a more logical place
The old place was in the middle of pa_card_new_data functions, which
made no sense.
Kenneth Perry [Thu, 5 Dec 2013 09:19:08 +0000 (11:19 +0200)]
bonjour-publish: Return ports in network byteorder
For DNS-SD (Bonjour) discovery, all ports should be set in network
byteorder instead of host byteorder. Without this, all ports on
little-endian systems (intel) are incorrect.
Documentation:
https://developer.apple.com/library/mac/documentation/networking/Reference/DNSServiceDiscovery_CRef/Reference/reference.html#//apple_ref/c/func/DNSServiceRegister
Peter Meerwald [Fri, 29 Nov 2013 14:32:44 +0000 (15:32 +0100)]
module-remap-source: Add resample_method argument
Signed-off-by: Peter Meerwald <p.meerwald@bct-electronic.com>
Peter Meerwald [Fri, 29 Nov 2013 14:32:43 +0000 (15:32 +0100)]
module-remap-sink: Add resample_method argument
the main intent is to make testing different sample rate resampling
implementations easier; so far there is only global control via
resample-method (command line argument and /etc/pulse/daemon.conf)
module-remap-*'s only purpose is resampling (comprising format conversion,
channel remapping, sample rate adjustment), it can easily be introduced
into any audio pipeline
Signed-off-by: Peter Meerwald <p.meerwald@bct-electronic.com>
Peter Meerwald [Fri, 29 Nov 2013 14:32:42 +0000 (15:32 +0100)]
module-sine: Add rate argument
useful for testing resampling
Signed-off-by: Peter Meerwald <p.meerwald@bct-electronic.com>
Peter Meerwald [Fri, 29 Nov 2013 14:32:41 +0000 (15:32 +0100)]
modules: Make use of new function pa_modargs_get_sample_rate()
by using pa_modargs_get_sample_rate() we avoid inconsistant validity
checking of the sample rate in various places
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Peter Meerwald [Fri, 29 Nov 2013 14:33:25 +0000 (15:33 +0100)]
resampler: Clean up ffmpeg resampler buffering
buf in struct ffmpeg_data is reset() initially and freed, but never
actually used
when a new block is allocated ffmpeg_data->buf[c].length is used
(which is always 0) to compute the new block size
so, drop buf
Signed-off-by: Peter Meerwald <p.meerwald@bct-electronic.com>
Tanu Kaskinen [Wed, 20 Nov 2013 13:42:26 +0000 (15:42 +0200)]
Pass the profile object instead of the profile name to pa_card_set_profile()
When setting attribute foo, or in this case the card profile, in my
opinion the thing passed to the set_foo() function should be of the
type of foo, not a string identifier that can be used to search for
the actual foo in set_foo().
This is mostly a question of taste, but there's at least some small
benefit from passing the actual object: often the profile object is
already available when calling pa_card_set_profile(), so passing the
card name would cause unnecessary searching when pa_card_set_profile()
needs to look up the profile from the hashmap.
Tanu Kaskinen [Mon, 18 Nov 2013 16:48:05 +0000 (18:48 +0200)]
ucm: Add a FIXME comment about bad error handling
Tanu Kaskinen [Sun, 17 Nov 2013 20:47:59 +0000 (22:47 +0200)]
idxset: Allow deep copying with pa_idxset_copy()
Tanu Kaskinen [Sun, 17 Nov 2013 19:22:20 +0000 (21:22 +0200)]
sink, source: Add a TODO comment about removing get_formats()
Scott Reeves [Thu, 21 Nov 2013 21:43:51 +0000 (14:43 -0700)]
protocol-native: Remove written differently but functionally redundant check.
Tanu Kaskinen [Thu, 14 Nov 2013 09:01:17 +0000 (11:01 +0200)]
source-output: Log the format negotiation result
This makes the source output code match the sink input code.
João Paulo Rechi Vita [Wed, 20 Nov 2013 21:21:36 +0000 (18:21 -0300)]
bluetooth: Fix crash in pa_bluetooth_discovery_get_device_by_address()
We need to check if the device information is valid first, so we don't
pass invalid strings to pa_streq().
João Paulo Rechi Vita [Wed, 20 Nov 2013 21:21:35 +0000 (18:21 -0300)]
bluetooth: Check adapter address to set device_info_valid
If the adapter object has no address information the device information
should be marked as invalid.
Stefan Sperling [Thu, 21 Nov 2013 17:47:42 +0000 (18:47 +0100)]
Fix undefined behaviour in pulseaudio --start.
Don't call pthread_join() to join a thread from a different
process than the thread was created in. Doing so can lead to
undefined behaviour.
On OpenBSD, the symptom was a pulseaudio process with a single
thread waiting forever for other threads to join. Since that
process also held the autospawn lock, starting new pulseaudio
processes with --start kept failing. The problem was analyzed
with help from Philip Guenther.
This patch adds a pa_thread_free_nojoin() function which can
be used to free resources for a thread without a join, as
suggested by Tanu Kaskinen.
See https://bugs.freedesktop.org/show_bug.cgi?id=71738
Colin Guthrie [Fri, 15 Nov 2013 08:33:39 +0000 (09:33 +0100)]
sink/source: When picking the initial ports, prefer ones that are not unavailable.
This does for sinks/source ports what
f434087e42b did for card profiles.
Colin Guthrie [Fri, 15 Nov 2013 08:33:37 +0000 (09:33 +0100)]
card: Ensure we still pick a profile even if it's unavailable.
f434087e42b introduced the potential to not select a card profile if
all the profiles were marked as unavailable.
While this is very unlikely, it's a theoretical posibility, so if the
initial choice of a profile fails, try harder.
Tanu Kaskinen [Fri, 15 Nov 2013 14:29:41 +0000 (16:29 +0200)]
bluetooth: Set device_info_valid to -1 when the device's adapter disappears
When parsing device properties, missing adapter will result in
device_info_valid being set to -1. It is then logical that if the
adapter goes missing at a later point, device_info_valid gets set to
-1 also in that situation.
Tanu Kaskinen [Fri, 15 Nov 2013 14:29:40 +0000 (16:29 +0200)]
bluetooth: Remove device_remove_all()
The function did two things: set device_info_valid to -1 and called
device_free() for each device in the hashmap. Setting
device_info_valid to -1 was unnecessary. The main purpose of that was
to fire DEVICE_CONNECTION_CHANGED as a side effect, but that hook is
fired anyway in device_free(), as a side effect of removing all
transports. Calling device_free() can be delegated to pa_hashmap, when
freeing or emptying it.
Tanu Kaskinen [Fri, 15 Nov 2013 14:29:39 +0000 (16:29 +0200)]
bluetooth: Fire DEVICE_CONNECTION_CHANGED in set_device_info_valid()
Normally DEVICE_CONNECTION_CHANGED is fired when the first transport
becomes connected, but it may happen that the first transport becomes
connected already before the device properties have been received. In
that case the hook should be fired at the time the device properties
are received. This patch makes the hook to be fired at the right time.
Tanu Kaskinen [Fri, 15 Nov 2013 14:29:38 +0000 (16:29 +0200)]
bluetooth: Don't mark device valid before it has an adapter
At this point this doesn't make any other practical difference than
making the code more logical, but in the next patch I'll fire the
DEVICE_CONNECTION_CHANGED hook in set_device_info_valid(), and at that
point it's important that the device isn't marked valid too early,
because otherwise external code would see "valid" devices that however
don't have the adapter set.
Tanu Kaskinen [Fri, 15 Nov 2013 14:29:37 +0000 (16:29 +0200)]
bluetooth: Use a helper function for setting device_info_valid
The helper function doesn't yet bring much benefits in this form, but
I'll add more functionality later.
Parin Porecha [Tue, 19 Nov 2013 20:59:39 +0000 (11:59 -0900)]
protocol-native: Express XOR asserts more concisely
7 instances of the roundabout asserts were found,
All of them have been replaced with appropriate XOR asserts.
BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=47493
Tanu Kaskinen [Fri, 15 Nov 2013 12:23:27 +0000 (14:23 +0200)]
bluetooth: Remove a redundant variable
Pierre Ossman [Fri, 20 Sep 2013 08:13:41 +0000 (10:13 +0200)]
Revert "core: Transparently handle non-blocking sockets on Windows"
This reverts commit
c327850d9e4479a0572b7baaf8dafd737586e5a1 as
the workaround in that commit is no longer needed after the real
bug has been fixed.
Conflicts:
src/pulsecore/core-util.c
Pierre Ossman [Fri, 20 Sep 2013 08:10:50 +0000 (10:10 +0200)]
core: make sure win32 sockets remain blocking
Commit 7e344b5 hade the side effect of forcing every socket to
be non-blocking on Windows. This is because of a (documented)
side effect of WSAEventSelect(). So we need to make sure to restore
blocking behaviour afterwards for relevant sockets.
Alexander Couzens [Mon, 16 Sep 2013 12:08:14 +0000 (14:08 +0200)]
tunnel-new: add cookie module argument
When connecting to a remote server your local generated authentication
cookie is used. If remote server's cookie is different from your local
one you aren't allowed to connect. You can use the cookie argument
or define a wider acl in remote server configuration for
module-native-protocol.
Tanu Kaskinen [Thu, 14 Nov 2013 08:53:44 +0000 (10:53 +0200)]
sink-input, source-output: Don't assume that proplist has been initialized in free()
It's bad form to assume in free() that any member of the struct has
been initialized. I ran into problems with this when I reordered
things in pa_sink_input_new() and pa_source_output_new().
Peter Meerwald [Sun, 21 Jul 2013 21:14:45 +0000 (23:14 +0200)]
resampler: Cleanup, index of memchunks is not used
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Peter Meerwald [Sun, 21 Jul 2013 21:14:44 +0000 (23:14 +0200)]
resampler: Prepare to have leftover data in different output buffers
leftover_buf points to the output buffer of a stage containing leftover
data; similar for leftover_buf_size and have_leftover
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Peter Meerwald [Sun, 21 Jul 2013 21:14:43 +0000 (23:14 +0200)]
resampler: Add fit_buf() helper funtion for buffer allocation
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Peter Meerwald [Sun, 21 Jul 2013 21:14:42 +0000 (23:14 +0200)]
resampler: Cleanup, rename xxxx_buf_samples to xxxx_buf_size
we measure the capacity of a buffer in bytes, not samples
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Peter Meerwald [Sun, 21 Jul 2013 21:14:41 +0000 (23:14 +0200)]
resampler: Handle leftover samples, use new return value
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Peter Meerwald [Sun, 21 Jul 2013 21:14:40 +0000 (23:14 +0200)]
resampler: Change interface, resampler may return the number of leftover frames
some resampler implementations (e.g. libsamplerate and ffmpeg) do not consume
the entire input buffer; the impl_resample() function now has a return value
returning the number of frames in the input buffer not processed
these frames must be saved in appropriate buffer and presented together with
new input data
also change the parameter names from in_samples, out_samples to in_n_frames,
out_n_frames, respectively (n_frames = samples / channels)
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Peter Meerwald [Sun, 21 Jul 2013 21:14:39 +0000 (23:14 +0200)]
resampler: Introduce work_channels
work_channels is the number of channels in the resampler stage
Signed-off-by: Peter Meerwald <p.meerwald@bct-electronic.com>
Peter Meerwald [Sun, 21 Jul 2013 21:14:38 +0000 (23:14 +0200)]
resampler: Introduce work frame size (w_fz)
w_fz represents the number of bytes per frame in the resampler stage
Signed-off-by: Peter Meerwald <p.meerwald@bct-electronic.com>
Luiz Augusto von Dentz [Sun, 3 Nov 2013 13:05:34 +0000 (15:05 +0200)]
card: Only set active_profile with available profile
When a card is being created and no profile has been assigned
pa_card_new will attempt to select one from the list but it does that
without checking the available flag which can lead to select profiles
not available.
Luiz Augusto von Dentz [Mon, 4 Nov 2013 17:41:22 +0000 (19:41 +0200)]
introspect: Fix ABI break introduced by b98a2e1
The size of pa_card_profile_info cannot change even if it just a field
appended to end because each entry is appended to a contiguous memory
and accessed by offset this may lead clients to access invalid data.
To fix a new struct called pa_card_profile_info2 is introduced and shall
be used for now on while pa_card_profile_info shall be considered
deprecated but it is still mantained for backward compatibility.
A new field called profiles2 is introduced to pa_card_info, this new field
is an array of pointers to pa_card_profile_info2 so it should be possible
to append new fields to the end of the pa_card_profile_info2 without
breaking binary compatibility as the entries are not accessed by offset.
David Henningsson [Mon, 14 Oct 2013 14:06:45 +0000 (16:06 +0200)]
alsa-mixer: Add internal surround speaker elements
These kcontrol names have started to show up lately, in
combination with surround internal speakers.
BugLink: https://bugs.launchpad.net/bugs/1236965
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
João Paulo Rechi Vita [Tue, 29 Oct 2013 20:50:43 +0000 (17:50 -0300)]
console-kit: Remove logging of every message on the bus
Peter Meerwald [Tue, 16 Jul 2013 20:00:35 +0000 (22:00 +0200)]
tests: Extract PA_CPU_TEST* macros to separate header
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Pierre Ossman [Fri, 1 Nov 2013 13:50:51 +0000 (14:50 +0100)]
daemon conf: "high-priority" setting isn't respected
The code got removed by accident during the cleanup in commit
9c438bcac671. So
this patch is needed to bring it back and make things work like documented.
poljar (Damir Jelić) [Thu, 15 Aug 2013 12:08:44 +0000 (14:08 +0200)]
zsh-completion: Add --monitor-stream completion to pacat
Tanu Kaskinen [Fri, 4 Oct 2013 10:39:40 +0000 (13:39 +0300)]
simple: Improve pa_simple_read() documentation
There was a question in IRC about whether pa_simple_read() blocks or
not. It's already documented on the simple API overview page, but it's
good to say it also in the function reference. As a bonus, I added
some additional details to the documentation too.
Tanu Kaskinen [Sun, 29 Sep 2013 15:49:23 +0000 (18:49 +0300)]
bluetooth: Fix variable constness
The string points to memory inside a DBusMessage, so we don't own the string.
Tanu Kaskinen [Sun, 29 Sep 2013 15:49:22 +0000 (18:49 +0300)]
bluetooth: Remove adapter_remove_all()
The function was redundant, because all it did was call adapter_free()
for each adapter in the hashmap, and that can be delegated to
pa_hashmap when freeing or emptying it.
poljar (Damir Jelić) [Thu, 15 Aug 2013 12:08:43 +0000 (14:08 +0200)]
zsh-completion: Fix pacat device completion
The pacat completion didn't complete the right devices for the --record
and --playback flags.
This patch fixes this and makes the device completion for pacat easily
expandable.
poljar (Damir Jelić) [Thu, 15 Aug 2013 12:08:42 +0000 (14:08 +0200)]
bash-completion: Add --monitor-stream completion to pacat
Peter Meerwald [Thu, 8 Aug 2013 06:19:34 +0000 (08:19 +0200)]
modargs: Add pa_modargs_get_sample_rate()
return sample rate from the "rate" module argument
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Peter Meerwald [Thu, 8 Aug 2013 06:19:33 +0000 (08:19 +0200)]
modargs: Add pa_modargs_get_resample_method()
Signed-off-by: Peter Meerwald <p.meerwald@bct-electronic.com>
Ben Brewer [Thu, 25 Jul 2013 12:44:29 +0000 (13:44 +0100)]
mainloop, glib-mainloop: time_restart could cause incorrect event ordering
This fixes a bug where calling time_restart can leave the current event
in the cache, even though the restart scheduled the event in the future.
This would cause the event to get executed more frequently than it should.
Peter Meerwald [Tue, 16 Jul 2013 15:09:14 +0000 (17:09 +0200)]
tests: Resampler output memchunk may be reset (zero)
Signed-off-by: Peter Meerwald <p.meerwald@bct-electronic.com>
Peter Meerwald [Tue, 16 Jul 2013 15:09:13 +0000 (17:09 +0200)]
memblock: Fix typo in description of pa_memblock_unref_fixed(), cleanup
Signed-off-by: Peter Meerwald <p.meerwald@bct-electronic.com>
Rafael Ferreira [Tue, 22 Oct 2013 21:54:24 +0000 (19:54 -0200)]
Updated Brazilian Portuguese translation
Signed-off-by: Rafael Ferreira <rafael.f.f1@gmail.com>
João Paulo Rechi Vita [Mon, 14 Oct 2013 19:18:03 +0000 (16:18 -0300)]
bluetooth: Track discovery modules by index
Previously module-bluez5-discover and module-bluez4-discover were being
tracked using their pa_module pointer. But during daemon shutdown these
modules are unloaded before module-bluetooth-discover, leaving stale
pointers in module-bluetooth-discover's userdata. To avoid this problem
this commit makes module-bluetooth-discover keep track of
module-bluez5-discover and module-bluez4-discovery by their indexes.
Tanu Kaskinen [Sat, 12 Oct 2013 09:45:58 +0000 (12:45 +0300)]
build-sys: Print CPPFLAGS in configure
I needed this for verifying that the conditional defining of
_FORTIFY_SOURCE works.
Tanu Kaskinen [Sat, 12 Oct 2013 09:45:09 +0000 (12:45 +0300)]
build-sys: Don't define _FORTIFY_SOURCE when building with -O0
Kiran Krishnappa [Thu, 10 Oct 2013 06:30:09 +0000 (23:30 -0700)]
sndfile-util: fix format for 24bit depth wav files
PA_SAMPLE_24NE generated in pa_sndfile_read_sample_spec is not
handled in pa_sndfile_readf and writef function. paplay/parecord
used to get aborted for 24bit depth wav files
Jan Alexander Steffens (heftig) [Wed, 9 Oct 2013 18:29:39 +0000 (20:29 +0200)]
alsa: Fix crash when loading bare ALSA sink/source
module-alsa-{sink,source}.c call pa_alsa_{sink,source}_new with
mapping set to NULL. Guard against this, like the rest of the
function does.
module-alsa-card does not use NULL, so this went unnoticed so far.
Anton Lundin [Wed, 18 Sep 2013 14:22:00 +0000 (16:22 +0200)]
build-sys: Fix building with Android toolchain
Signed-off-by: Anton Lundin <glance@acc.umu.se>
Alexander Couzens [Mon, 16 Sep 2013 11:06:27 +0000 (13:06 +0200)]
tunnel-sink-new: Fix a possible crash
When the creation of u->thread fails, then pa_thread_mq_done() in
pa__done() will crash, because pa_thread_mq_init() was never called.
Allocating the thread_mq object separately, instead of embedding it
in the userdata struct, allows pa__done() to call pa_thread_mq_done()
only when necessary.
Alexander Couzens [Mon, 16 Sep 2013 11:06:34 +0000 (13:06 +0200)]
tunnel-sink-new: remove switch-default from state change callbacks
Using default sections for switch(state) in state change callbacks will prevent
useful compiler warnings for non-handled cases
David Henningsson [Mon, 23 Sep 2013 11:40:26 +0000 (13:40 +0200)]
alsa-mixer: Drop all unused paths, not only unsupported paths
This is a cleaner solution, because it also removes paths that are
being removed because they are subsets of other paths.
Otherwise, the lingering paths could cause jack detection related
assertion failures.
BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=69676
Reported-and-tested-by: Kalev Lember <kalevlember@gmail.com>
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Arun Raghavan [Mon, 30 Sep 2013 12:40:34 +0000 (18:10 +0530)]
i18n: Update bluetooth bits in POTFILES
David Henningsson [Fri, 27 Sep 2013 08:22:53 +0000 (10:22 +0200)]
default/system.pa: Do not load module-dbus-protocol
The author of this module, Tanu Kaskinen, has said that this module
"is not suitable for general use". Also, it is still causing crashes
on card removal (see bug 69871).
Qpaeq, and possibly other tools, use this module - but they can load
the module manually if they still wish to use it.
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Arun Raghavan [Mon, 30 Sep 2013 09:45:36 +0000 (15:15 +0530)]
alsa-ucm: Fix bad rate check
Need to check the rate value for being > 0 not the return value of
pa_atou().
Arun Raghavan [Mon, 30 Sep 2013 03:02:16 +0000 (08:32 +0530)]
alsa-ucm: Don't allow Playback/CaptureRate to be 0
This was a review comment on the original patch that I missed fixing.
Tanu Kaskinen [Sun, 29 Sep 2013 16:47:16 +0000 (19:47 +0300)]
bluetooth: Add a comment about messing with the IDLE suspend cause
Arun Raghavan [Fri, 20 Sep 2013 11:57:32 +0000 (17:27 +0530)]
hashmap: Add a key+value iterator
João Paulo Rechi Vita [Tue, 24 Sep 2013 22:45:59 +0000 (19:45 -0300)]
bluetooth: Revive module-bluetooth-discover
Create a wrapper module called module-bluetooth-discover to avoid
breaking backward-compatibility of default.pa. This wrapper may
eventually be dropped altoghether with BlueZ 4 support.
João Paulo Rechi Vita [Tue, 24 Sep 2013 22:45:58 +0000 (19:45 -0300)]
cli-command: Use pa_module_exists() in .ifexists
João Paulo Rechi Vita [Tue, 24 Sep 2013 22:45:57 +0000 (19:45 -0300)]
module: Create pa_module_exists()
This new function checks if a certain module name is available in the
system.
João Paulo Rechi Vita [Tue, 24 Sep 2013 22:45:56 +0000 (19:45 -0300)]
bluetooth: Fail to load driver if discovery module is not loaded
For quite some time now the device driver module doesn't work well
without the discovery module, so for the BlueZ 5 support we'll prevent
the device driver module to be loaded if the discovery module is not
loaded.
João Paulo Rechi Vita [Tue, 24 Sep 2013 22:45:55 +0000 (19:45 -0300)]
bluetooth: Implement get_n_used() for module-bluez5-device
João Paulo Rechi Vita [Tue, 24 Sep 2013 22:45:54 +0000 (19:45 -0300)]
bluetooth: Handle changes to BlueZ 5 transports state