summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* bluetooth: drop data every 500ms on oor conditionMarc-André Lureau2011-04-041-11/+14
|
* switch-on-connect: Add a new module to allow for hotplugged devices to be ↵Michael Terry2011-04-032-2/+195
| | | | | | | | | | | | | | | used by default. This module implements a simply policy decision that any newly plugged in devices should be used. This is a reasonable approach and paprefs will be updated to allow for this option to be turned on or off. This is more or less a stop-gap solution. When priority lists are implemented in the core, then policy modules may ultimately be re-engineered to adjust the priority lists rather than doing any of their own routing per-se.
* tests: add a connection stress testDaniel Mack2011-04-012-2/+207
| | | | | This test is based on a threaded main loop and was written to hunt an evil race condition.
* bluetooth: Fix HSP volume handling.Tanu Kaskinen2011-04-011-32/+69
| | | | | | | | | Previously the userdata for the volume callbacks was saved to pa_core.shared only once when loading module-bluetooth-device, and only when the SCO over PCM feature was used. That breaks volume handling in cases where the HSP profile is used without the SCO over PCM setup. Now the userdata is set always when a sink or source is created, and removed when a sink or source is removed.
* bluetooth: restore original sco_{sink, src}->set_volume when unloadingMarc-André Lureau2011-04-011-0/+6
|
* bluetooth: fix set_volume_cb on sco over pcmMarc-André Lureau2011-04-011-9/+50
| | | | | | | | | | | | The current implementation is totally bogus, it cast the over_sink userdata to the bluetooth-device userdata... It was failing nicely because the previous code had a gentle safe-guard in u->profile == PROFILE_HSP, and u->profile was just random. There is no easy way to associate additional data to a sink or source. Two solutions seems possible: looking up loaded modules and check which one was handling the sink/source, or using pa_shared. I went for the second solution.
* bluetooth: use sco_sink/source to start with right stateMarc-André Lureau2011-04-011-16/+23
| | | | | Note from Tanu Kaskinen: I resolved some conflicts with newer upstream code, so if this patch is broken, blame me..
* bluetooth: Drop all "#ifdef NOKIA" directives.Tanu Kaskinen2011-04-011-49/+8
| | | | | The #ifdefs only added clutter. I don't see any reason to not compile the SCO over PCM support in all the time.
* bluetooth: Pull a2dp-codecs.h from BlueZArun Raghavan2011-03-315-39/+125
| | | | | | This pulls a2dp-codecs.h from BlueZ which contains the capabilities structures for SBC and MPEG. We currently have these manually added to ipc.h, so pulling this header makes our files identical to upstream.
* alsa-mixer: Check that the kernel driver returns consistent limits with both ↵Tanu Kaskinen2011-03-301-0/+37
| | | | | | | | snd_mixer_selem_get_*_dB_range() and _ask_*_vol_dB(). The check is inspired by a driver that returned higher dB limit from snd_mixer_selem_get_playback_dB_range() than what _ask_playback_vol_dB() returned at maximum integer volume.
* alsa-mixer: Make sure that SND_MIXER_SCHN_UNKNOWN isn't used when indexing ↵Tanu Kaskinen2011-03-301-2/+11
| | | | | | e->masks. SND_MIXER_SCHN_UNKNOWN is defined as -1, so that's not a good array index...
* alsa-mixer: Make probing elements with more than two volume channels fail.Tanu Kaskinen2011-03-301-0/+16
| | | | | This is just a quick hack to prevent array overflow. Correct fix would be to implement support for more channels.
* pactl: Add short output format for list actionMaarten Bosmans2011-03-291-9/+79
|
* pactl: Separate stat and info actionsMaarten Bosmans2011-03-291-2/+9
|
* pactl: Add subcommands to the list commandMaarten Bosmans2011-03-291-14/+53
|
* pactl: Accept more volume specification formatsMaarten Bosmans2011-03-291-58/+171
| | | | | With this you can specify the volume with 6554, 10%, 0.001 or -60dB, all resulting in the same volume change.
* sink-input: Add volume_writable to pa_sink_input.Tanu Kaskinen2011-03-298-46/+26
| | | | | | | | | | This is pretty cosmetic change; there's no actual functionality added. Previously the volume_writable information was available through the pa_sink_input_is_volume_writable() function, but I find it cleaner to have a real variable. The sink input introspection variable name was also changed from read_only_volume to volume_writable for consistency.
* bluetooth: run `make update-sbc` to pull in build fix for thumb modePaul Menzel2011-03-292-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | This update pulls in commit c495077c [1] to fix a build error. commit c495077cf8a8c37afd90875ec5a5b16b294be15e Author: Siarhei Siamashka <siarhei.siamashka@nokia.com> Date: Tue Mar 29 01:57:39 2011 +0300 sbc: better compatibility with ARM thumb/thumb2 ARM assembly optimizations fail to compile in thumb mode, but are fine for thumb2. Update ifdefs in the code to make use of ARM assembly only when it is safe and also make sure that no optimizations are missed when compiling for thumb2. The problem was reported by Paul Menzel: https://tango.0pointer.de/pipermail/pulseaudio-discuss/2011-February/009022.html This patch is tested with OpenEmbedded using `minimal-uclibc` for `MACHINE = "at91sam9260ek"`. Note that changes to ipc.h from 8f3ef04b had to be manually reapplied. [1] http://git.kernel.org/?p=bluetooth/bluez.git;a=commit;h=c495077cf8a8c37afd90875ec5a5b16b294be15e
* module-jack-sink/source: protect against null return in jack_get_portsDavid Henningsson2011-03-282-10/+16
| | | | | | | | | | | | | | | | | | | | Just picking up a crash report from Ubuntu, here's the result. -- David Henningsson, Canonical Ltd. http://launchpad.net/~diwic From 934c52c79bb6faed56a64d6e15f9b285f687afee Mon Sep 17 00:00:00 2001 From: David Henningsson <david.henningsson@canonical.com> Date: Mon, 28 Mar 2011 14:30:44 +0200 Subject: [PATCH] module-jack-sink/source: protect against null return in jack_get_ports According to jack_get_ports documentation, it seems like returning NULL is valid, and that it should be freed using jack_free. Reported-by: Grayson Peddie BugLink: http://bugs.launchpad.net/bugs/733424 Signed-off-by: David Henningsson <david.henningsson@canonical.com>
* cork-on-phone: Handle sink-inputs with NULL sinksArun Raghavan2011-03-281-0/+3
| | | | | It's possible that by the time we receive the unlink hook, the given sink-input's sink is set to NULL. Handle this gracefully.
* alsa-mixer: Get rid of a compiler warning.Tanu Kaskinen2011-03-283-10/+26
| | | | | | | | | | On 64-bit systems LONG_MAX is greater than the largest possible value of a uint32_t variable, which caused the compiler to warn about a comparison that is always false. On 32-bit systems pa_atou() can return a value that will overflow when assigned to e->volume_limit, which has type long, so the comparison was necessary. This dilemma is resolved by using pa_atol() instead of pa_atou().
* bluetooth: Fix a double-free-esque error introduced in 8f3ef04bColin Guthrie2011-03-261-2/+0
|
* dbus: Do not refcnt the core.Colin Guthrie2011-03-253-7/+3
| | | | | | | We should not call pa_core_ref() anywhere in the code. Doing so will prevent proper daemon shutdown as the only call (in daemon/main.c) to pa_core_unref() should always call free_core() and perform a normal shutdown (i.e. unload all modules gracefully).
* daemon: Fix regression introduced in f1d1447e.Colin Guthrie2011-03-251-3/+43
| | | | | | | | | | | | | | | | | | | With Tanu's patch, the server no longer starts when a server is configured. While this is sensible in most circumstances there is a corner case where we still want to start. In a typical X11 login, module-x11-publish will be loaded and will thus set the PULSE_SERVER X11 property on the root window. This then hits the check introduced in f1d1447e and exits. If PA had previously crashed (thus leaving behind it's X11 properties) then this means that we will not autospawn nor even allow ourselves to be started manually until pax11publish -r is run to clear out the X11 properties. This is obviously not desirable. This patch introduces a more in-depth check of the server. If it looks like a local unix domain socket, then we do not exit straight away and instead probe further. This should not pose any problems with e.g. remote SSH usage as the DBus Machine ID is used in the server string.
* daemon: Fix some more error paths in the double forking.Colin Guthrie2011-03-251-1/+8
| | | | | | | | | | | | | | | | | | | As spotted by Tanu Kaskinen: The first process: daemon_pipe is not closed if the first fork() call fails. Even if it doesn't fail, the first process never closes daemon_pipe[0]. The second process: daemon_pipe[1] is not closed if anything fails between the first and the second fork() call. Also, if the second fork fails, then the finish section writes to daemon_pipe2[1], even though only the third process should do that. Also, if anything fails between the first and the second fork, then the second process never writes anything to daemon_pipe[1]. I don't know what happens in the first process in this case - does it get an error or does pa_loop_read() get stuck. The third process: No problems :)
* daemon: Fix regression with --start introduced with the double fork in 8e94f653Colin Guthrie2011-03-241-9/+42
| | | | | | | | The previous commit intoduced a double fork which caused a more or less immediate successful return prior to the hard work of actually starting a daemon. This patch simply used pipe() to only signal our father when the daemon really has finished starting.
* log: Correct bad function implementationVincent Becker2011-03-241-17/+15
| | | | Replace wrong implementation of log to file in pa_daemon_conf_set_log_level to pa_daemon_conf_set_log_target
* bluetooth: Get rid of warnings about unused stuff when building against a ↵Tanu Kaskinen2011-03-241-0/+10
| | | | D-Bus version that doesn't have fd-passing support.
* bluetooth: Don't log an error if an endpoint type is disabled.Tanu Kaskinen2011-03-242-12/+23
| | | | | | | | | It's perfectly normal for BlueZ to disable some endpoint types, so printing a log message at error level isn't a good idea. For facilitating an informative message in case some endpoint type is disabled, the send_and_add_to_pending() function interface is also changed to be more generic (the pa_bluetooth_device pointer is replaced with a void pointer).
* Move compile-time checks around pa_run_from_build_tree to core-utilMaarten Bosmans2011-03-244-21/+10
| | | | To make the code cleaner and have the checks all in one place.
* win32: Simplify dl_search_path codeMaarten Bosmans2011-03-241-13/+6
| | | | And add #include <sys/stat.h>, needed by the code introduced in f7acd4bd.
* Merge remote-tracking branch 'zonique/osx'Colin Guthrie2011-03-245-5/+47
|\
| * osx: add routines for real-time thread schedulingDaniel Mack2011-03-211-1/+37
| | | | | | | | | | Code sniplets are based on examples provided by Apple. See http://developer.apple.com/library/mac/#documentation/Darwin/Conceptual/KernelProgramming/scheduler/scheduler.html
| * osx: add -headerpad_max_install_names to LDFLAGSDaniel Mack2011-03-211-0/+4
| | | | | | | | | | This is needed for sufficient padding of library names in linked binaries.
| * osx: re-order module locationsDaniel Mack2011-03-214-3/+3
| | | | | | | | move all Mac OS X related modules to own location.
| * module-coreaudio-detect: fix variable assignment in pa__done()Daniel Mack2011-03-211-1/+3
| | | | | | | | Do not dereference 'u' prior to its assignment.
* | echo-cancel: Fix warning/typoColin Guthrie2011-03-201-1/+1
| |
* | tunnel: Remove bogus `{`Paul Menzel2011-03-201-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | Fix mistakes in: commit 36e7f8a92e8b340dd4034a39a655ba93bcd41886 Author: Colin Guthrie <cguthrie@mandriva.org> Date: Sun Mar 20 14:09:14 2011 +0000 tunnel: Fix tunnel streams with recent servers Prompted by bug #750. Thanks to Emil Renner Berthing for the original patch.
* | tunnel: Fix tunnel streams with recent serversColin Guthrie2011-03-201-0/+8
| | | | | | | | | | Prompted by bug #750. Thanks to Emil Renner Berthing for the original patch.
* | bluetooth: Run 'make update-sbc'Colin Guthrie2011-03-2013-25/+52
| | | | | | | | Note that changes to ipc.h from 8f3ef04b had to be manually reapplied.
* | build-sys: Make update-sbc, update-reserve and update-rtkit work in OOT buildsColin Guthrie2011-03-201-4/+4
| |
* | alsa-mixer: Refactoring: merge element_mute_volume(), element_zero_volume() ↵Tanu Kaskinen2011-03-201-67/+35
| | | | | | | | and element_apply_constant_volume() into a single function.
* | alsa-mixer: Implement constant volume.Tanu Kaskinen2011-03-203-12/+59
| | | | | | | | | | | | | | This change makes it possible to configure an arbitrary constant volume for a volume element in the path configuration, which is applied when the path is selected. Note: this is only useful when the exact hardware and driver are known beforehand.
* | Get rid of some warningsMaarten Bosmans2011-03-207-21/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Mostly warnings about unused stuff. Furthermore, the first hunk is a fix for the change in 177948a6. Finally, comment in AEC_dtd was translated and the code simplified slightly. CC module_bluetooth_device_la-module-bluetooth-device.lo modules/bluetooth/module-bluetooth-device.c: In function ‘a2dp_process_render’: modules/bluetooth/module-bluetooth-device.c:1335:30: warning: pointer targets in passing argument 6 of ‘sbc_encode’ differ in signedness [-Wpointer-sign] ../src/modules/bluetooth/sbc/sbc.h:92:9: note: expected ‘ssize_t *’ but argument is of type ‘size_t *’ CC module_rygel_media_server_la-module-rygel-media-server.lo modules/module-rygel-media-server.c:383:13: warning: ‘append_property_dict_entry_object_array’ defined but not used [-Wunused-function] CC module_echo_cancel_la-adrian-aec.lo modules/echo-cancel/adrian-aec.h:360:15: warning: ‘AEC_getambient’ defined but not used [-Wunused-function] modules/echo-cancel/adrian-aec.h:368:14: warning: ‘AEC_setgain’ defined but not used [-Wunused-function] modules/echo-cancel/adrian-aec.h:374:14: warning: ‘AEC_setaes’ defined but not used [-Wunused-function] modules/echo-cancel/adrian-aec.h:377:16: warning: ‘AEC_max_dotp_xf_xf’ declared ‘static’ but never defined [-Wunused-function] CC module_echo_cancel_la-module-echo-cancel.lo modules/echo-cancel/module-echo-cancel.c: In function ‘time_callback’: modules/echo-cancel/module-echo-cancel.c:266:12: warning: variable ‘fs’ set but not used [-Wunused-but-set-variable] CC module-virtual-sink.lo modules/module-virtual-sink.c: In function ‘sink_input_pop_cb’: modules/module-virtual-sink.c:206:15: warning: variable ‘current_latency’ set but not used [-Wunused-but-set-variable]
* | daemon: Fix missing include - cpu-orc.hArun Raghavan2011-03-201-0/+1
| |
* | Get rid of some warnings: -Wunsafe-loop-optimizationsMaarten Bosmans2011-03-202-8/+8
| | | | | | | | | | | | | | | | | | | | pulsecore/core-util.c: In function ‘pa_hexstr’: pulsecore/core-util.c:1858: warning: cannot optimize loop, the loop counter may overflow [-Wunsafe-loop-optimizations] modules/alsa/alsa-mixer.c: In function ‘pa_alsa_decibel_fix_dump’: modules/alsa/alsa-mixer.c:3678: warning: cannot optimize possibly infinite loops [-Wunsafe-loop-optimizations] modules/alsa/alsa-mixer.c: In function ‘pa_alsa_path_set_new’: modules/alsa/alsa-mixer.c:2640: warning: cannot optimize loop, the loop counter may overflow [-Wunsafe-loop-optimizations]
* | Get rid of some warnings: -Wunused-resultMaarten Bosmans2011-03-203-8/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | modules/module-default-device-restore.c: In function ‘load’: modules/module-default-device-restore.c:67: warning: ignoring return value of ‘fgets’, declared with attribute warn_unused_result [-Wunused-result] modules/module-default-device-restore.c:88: warning: ignoring return value of ‘fgets’, declared with attribute warn_unused_result [-Wunused-result] pulsecore/authkey.c: In function ‘generate’: pulsecore/authkey.c:58: warning: ignoring return value of ‘ftruncate’, declared with attribute warn_unused_result [-Wunused-result] pulsecore/core-util.c: In function ‘pa_make_secure_dir’: pulsecore/core-util.c:261: warning: ignoring return value of ‘fchown’, declared with attribute warn_unused_result [-Wunused-result]
* | Merge remote-tracking branch 'mkbosmans/mingw32-build'Colin Guthrie2011-03-2027-294/+264
|\ \ | |/ |/|
| * module-waveout: Fix record/playback argsMaarten Bosmans2011-03-191-8/+12
| |
| * module-waveout: Move thread creationMaarten Bosmans2011-03-191-9/+13
| |