Commit graph

7443 commits

Author SHA1 Message Date
João Paulo Rechi Vita
35ded8dfe5 Revert "bluetooth: Fix error checking style"
This reverts commit d9ed42c40f.

This is part of the reversion of BlueZ 5 support so it can be added back
in a separate set of modules. This makes the code easier to maintain and
decrease PulseAudio's binary size.
2013-09-29 16:54:35 +03:00
João Paulo Rechi Vita
ccace933f2 Revert "bluetooth: BlueZ 5 interface rename to org.bluez.MediaEndpoint1"
This reverts commit d22ea7ff76.

This is part of the reversion of BlueZ 5 support so it can be added back
in a separate set of modules. This makes the code easier to maintain and
decrease PulseAudio's binary size.
2013-09-29 16:54:35 +03:00
João Paulo Rechi Vita
bf46379bb6 Revert "bluetooth: BlueZ 5 interface rename to org.bluez.Media1"
This reverts commit 61e8fd8854.

This is part of the reversion of BlueZ 5 support so it can be added back
in a separate set of modules. This makes the code easier to maintain and
decrease PulseAudio's binary size.
2013-09-29 16:54:35 +03:00
João Paulo Rechi Vita
38cc2ecbe6 Revert "bluetooth: BlueZ 5 interface rename to org.bluez.MediaTransport1"
This reverts commit cfb96b2530.

This is part of the reversion of BlueZ 5 support so it can be added back
in a separate set of modules. This makes the code easier to maintain and
decrease PulseAudio's binary size.
2013-09-29 16:54:35 +03:00
João Paulo Rechi Vita
4f294bcf56 Revert "bluetooth: Support ObjectManager interface add/remove"
This reverts commit 114edb0696.

This is part of the reversion of BlueZ 5 support so it can be added back
in a separate set of modules. This makes the code easier to maintain and
decrease PulseAudio's binary size.
2013-09-29 16:54:35 +03:00
João Paulo Rechi Vita
2edc3581b5 Revert "bluetooth: Support Properties.PropertiesChanged signal"
This reverts commit 235611a7d1.

This is part of the reversion of BlueZ 5 support so it can be added back
in a separate set of modules. This makes the code easier to maintain and
decrease PulseAudio's binary size.
2013-09-29 16:54:35 +03:00
João Paulo Rechi Vita
133f59e86e Revert "bluetooth: Parse media transport's properties"
This reverts commit 2f79fb580a.

This is part of the reversion of BlueZ 5 support so it can be added back
in a separate set of modules. This makes the code easier to maintain and
decrease PulseAudio's binary size.
2013-09-29 16:54:35 +03:00
João Paulo Rechi Vita
93c3f55215 Revert "bluetooth: Support media transport's State property"
This reverts commit 6fdf2b05b8.

This is part of the reversion of BlueZ 5 support so it can be added back
in a separate set of modules. This makes the code easier to maintain and
decrease PulseAudio's binary size.
2013-09-29 16:54:35 +03:00
João Paulo Rechi Vita
44ca651220 Revert "bluetooth: Update to new BlueZ 5 transport acquire/release API"
This reverts commit 9615def4b9.

This is part of the reversion of BlueZ 5 support so it can be added back
in a separate set of modules. This makes the code easier to maintain and
decrease PulseAudio's binary size.
2013-09-29 16:54:35 +03:00
João Paulo Rechi Vita
9882f2d4fd Revert "bluetooth: Support transport auto-release"
This reverts commit 0e4c16e120.

This is part of the reversion of BlueZ 5 support so it can be added back
in a separate set of modules. This makes the code easier to maintain and
decrease PulseAudio's binary size.
2013-09-29 16:54:35 +03:00
Anton Lundin
55f4b771c7 build-sys: Support building pulseaudio as a submodule
When pulseaudio is a submodule, .git is a file.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
2013-09-28 09:27:30 +05:30
Arun Raghavan
9de7519d16 mutex: Fix compiler warning when priority inheritance is not supported
'r' is unused in the case where prioritiy inheritance is not detected at
configure time.
2013-09-28 09:14:54 +05:30
poljar (Damir Jelić)
6f94c56782 resampler: Revert to auto if the rates are equal and copy is chosen
This patch fixes a small mistake where we actually log that we are
reverting to the auto resampler if we can't use the 'copy' resampler but
never do the revert.

This would lead to a crash if the user chooses the 'copy' resampler and
then tries to play something that needs to be resampled.
2013-09-25 18:15:40 +05:30
David Henningsson
a89ca82e68 alsa: Turn one assertion into two
According to coding style, one should have one assertion per line
and not combine assertions.

Signed-off-by: David Henningsson <david.henningsson@canonical.com>
2013-09-23 09:53:41 +02:00
Arun Raghavan
26bf2df903 sink: Increase max sink inputs per sink
We're hitting the 32 sink-input limit quite often with increasing use of
PA by web browsers, so let's increase this limit.
2013-09-20 11:57:53 +05:30
Tanu Kaskinen
77aa9b9ba4 .gitignore: Add .dirstamp 2013-09-19 15:53:36 +03:00
David Henningsson
d909860d8d module-tunnel: Fixup broken build
A recent feature addition added a dependency on X11, but this
dependency was not specified in Makefile.am, leading to linker
errors.

Signed-off-by: David Henningsson <david.henningsson@canonical.com>
2013-09-18 15:09:03 +02:00
Arun Raghavan
82ee3dcee7 log: Add missing header
sys/stat.h is required for permisison flags such as S_IRUSR.
2013-09-17 21:54:09 +05:30
Arun Raghavan
2aecf0bc07 build-sys: Fix warning in use-case.h configure check
AC_CHECK_HEADER uses cpp for header checks, so in order for the check to use
the right flags, we need to override CPPFLAGS and not CFLAGS.
2013-09-17 19:21:18 +05:30
poljar (Damir Jelić)
14513b6b82 build-sys: Update ax_pthread macro
This patch updates the ax_pthread autoconf macro to the latest version
shipped with autoconf-archive: 2013.06.09.13

This also silences multiple warnings on autoconf 2.68+:
    configure.ac:471: warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body
2013-09-17 19:21:15 +05:30
poljar (Damir Jelić)
f9a54a0d04 build-sys: Silence warning about missing AC_LANG_SOURCE call in acx_libwrap.m4
This updates the acx_libwrap.m4 macro for autoconf 2.68 and fixes
warnings like:
    configure.ac:471: warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body
2013-09-17 19:21:12 +05:30
poljar (Damir Jelić)
b58ab2b351 build-sys: Silence warning about missing AC_LANG_SOURCE call in configure.ac
This silences multiple warnings like this on autoconf 2.68+:
    configure.ac:471: warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body
2013-09-17 19:21:07 +05:30
poljar (Damir Jelić)
bb73f9335c build-sys: Enable subdir-objects option
Automake 1.14 throws a warning when source files are in a sub directory
and the 'subdir-objecs' option is not enabled.

News: https://lists.gnu.org/archive/html/automake/2013-06/msg00040.html
2013-09-17 19:21:03 +05:30
Arun Raghavan
3a3581758f alsa-ucm: Make combination port names deterministic
At the moment, port names combined from multiple devices are generated
based on the order that the devices are specified in config. This makes
programmatic use of thsee ports a bit painful, so let's make them be
combined in alphabetical order.
2013-09-17 18:50:01 +05:30
Arun Raghavan
4d638b5ffd alsa-ucm: Use playback/capture rate specification from UCM
Add new PlaybackRate/CaptureRate values for UCM that can be used to
specify custom rates for devices. This value can either be set on the
verb, which makes it apply to all devices, or on the device to override
the verb setting.
2013-09-17 18:32:48 +05:30
Arun Raghavan
6a6ee8fd22 alsa: Allow sample spec override in mappings
This allows mappings to override some or all of the sample_spec used to
open the ALSA device. The intention, to start with, is to use this for
devices in UCM that need to be opened at a specific rate (like modem
devices). This can be extended to allow overrides in profile-sets as
well.
2013-09-17 18:31:03 +05:30
Arun Raghavan
6825df8cec hashmap: Add the ability to free keys
Since the hashmap stores a pointer to the key provided at pa_hashmap_put()
time, it make sense to allow the hashmap to be given ownership of the key and
have it free it at pa_hashmap_remove/free time.

To do this cleanly, we now provide the key and value free functions at hashmap
creation time with a pa_hashmap_new_full. With this, we do away with the free
function that was provided at remove/free time for freeing the value.
2013-09-17 18:01:22 +05:30
Piotr Drąg
317b46b571 i18n: remove unneeded files from POTFILES.in 2013-09-16 08:06:47 +03:00
Piotr Drąg
adf248981a i18n: add missing files to POTFILES.in 2013-09-16 08:05:56 +03:00
Piotr Drąg
91cb9bfb7a i18n: sort POTFILES.in alphabetically 2013-09-16 07:57:25 +03:00
Pierre Ossman
23c39bb540 module-tunnel: automatically find the PulseAudio server
Make the PulseAudio tunnel behave the same way as a client
when it comes to figuring out how to connect to the current
PulseAudio daemon. This can be useful if you start a second
PulseAudio instance for e.g. network access.
2013-09-13 16:44:15 +03:00
Tanu Kaskinen
943275d2fd suspend-on-idle: Allow disabling suspending for specific devices
Sometimes it would be nice to disable module-suspend-on-idle for
specific devices. For me the use case is to keep a HDMI sink running
all the time to avoid loss of audio when starting to play a stream to
the device (the HDMI receiver eats a bit from the beginning of the
stream when the device is opened). This is arguably a hacky solution
to the problem, but on the other hand, I think it's very sensible to
interpret negative timeout in the module-suspend-on-idle.timeout
property as disabling the suspending altogher. This is also how the
exit-idle-time configuration option behaves (negative value disables
automatic exiting).

I moved the property parsing from the timer restart function to the
function that creates the device_info objects, because if the timeout
is negative, we don't need to create the device_info object at all.
2013-09-13 10:53:30 +03:00
Alexander Couzens
8a2ea2834c tunnel-source-new: counterpart to module-tunnel-sink-new
The old tunnel module duplicates functionality that is in libpulse,
due to implementing the native protocol, and the protocol code in
the old tunnel module tends to get broken every now and then, because
people forget to update the tunnel module protocol implementation
when changing the native protocol. module-tunnel-source-new avoids this
problem by using libpulse to communicate with the remote server.
2013-09-13 10:18:15 +03:00
victory
4065436326 i18n: Japanese translation update 2013-09-10 09:10:03 +03:00
Tanu Kaskinen
d448ef04e9 resampler: Never return zero for max block size
With very low input sample rates the memory pool max block size may
not be big enough, in which case we should return the size of one
frame. Returning zero caused crashing.

BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=68616
2013-09-08 11:10:10 +03:00
poljar (Damir Jelić)
b8bf331b39 card-restore: Watch for profiles added after card creation.
This patch adds the ability to restore profiles if they are added after
card creation.

Adding profiles after card creation mainly happens for bluetooth cards.

Buglink: https://bugs.freedesktop.org/show_bug.cgi?id=65349
2013-09-08 10:47:50 +03:00
Alexander Couzens
0157f4b25f context: add pa_context_load_cookie_from_file()
There is no function to load the authentication cookie for a context.
You can only set environment variables. This patch adds
pa_context_load_cookie_from_file().

Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
2013-08-27 16:41:58 +03:00
Tanu Kaskinen
441a5a422c sink, source: Fix error reporting style for rate updates 2013-08-27 15:34:33 +03:00
Tanu Kaskinen
a32c5e4354 source: When updating a monitor source's rate, update the sink rate too
If the sink rate is not updated, then the monitor source will appear
to have a different rate than the sink, but in reality there's never
any resampling done when moving data from the sink to the monitor
source, so it's a lie that the monitor source has a different rate.
The result of lying is that clients that capture from the monitor
source will have streams that run too fast or slow.
2013-08-27 15:34:33 +03:00
Tanu Kaskinen
2c14306507 source: Fix monitor source rate changing
When a sink changes its sample rate, also the monitor source rate
needs to be changed. In order to determine whether a source supports
rate changing, the code checks if the update_rate() callback is set,
but monitor sources don't have that callback set, so the old code
always failed to change the monitor source rate.

This patch fixes the monitor source rate changing by handling monitor
sources as a special case in pa_source_update_rate(): if the source is
a monitor source, then the update_rate() callback is not required.

BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=66424
2013-08-27 15:34:33 +03:00
poljar (Damir Jelić)
9a590dd3f2 resampler: Add a choose_auto_resampler function
This function returns our preferred resampler if the user choose the
auto (or if he has chosen an unsupported) resampler.
2013-08-27 12:33:10 +02:00
poljar (Damir Jelić)
8ab6c37e10 resampler: Get rid of redundant implementation specific structs
This patch removes implementation specific structs that contain a single
member.
2013-08-27 12:33:10 +02:00
poljar (Damir Jelić)
0d525e9c85 resampler: Add assert to set_input/output_rate
This adds asserts to check if the implementation has an update rate
function defined for the unlikely event that some implementation forgets
to assign a update rate function we can simply bail.

It is expected from the resampling implementations to have such a
function even if the state of the resampler is completely reset.
2013-08-27 12:33:10 +02:00
poljar (Damir Jelić)
4bdfebee5c resampler: Introduce a implementation specific struct
This struct holds all the implementation specific data in one place.
2013-08-27 12:33:10 +02:00
poljar (Damir Jelić)
c5cd65d81e Resampler: Don't use the peaks resampler for upsampling
This patch fixes this assertion:
    Assertion 'r->i_ss.rate >= r->o_ss.rate' failed at ../../src/pulsecore/resampler.c:1744, function peaks_init(). Aborting.
2013-08-27 12:33:10 +02:00
poljar (Damir Jelić)
2bed8cda25 resampler: Add a function for comparing sample format precision 2013-08-27 12:33:10 +02:00
poljar (Damir Jelić)
7665f60cc0 resampler: choose_work_format use switch instead of if/else
This way the function for choosing the work format should
be more readable and easier to expand in the future.
2013-08-27 12:33:09 +02:00
poljar (Damir Jelić)
78c18e71e0 resampler: Move the work format finding logic into a separate function 2013-08-27 12:33:09 +02:00
poljar (Damir Jelić)
83cf44831f resampler: fix_method use switch instead of if/else
This way the fix method function should be more readable and easier to
expand in the future.
2013-08-27 12:33:09 +02:00
poljar (Damir Jelić)
2d9aba0946 resampler: Move the fix method logic into a separate function 2013-08-27 12:33:09 +02:00