summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* upnp: Implement the MediaServer2 D-Bus interfaceStephen Moehle2010-11-161-199/+463
| | | | | | This allows PulseAudio to work with versions of Rygel 0.7.1 and higher which only support MediaServer2: http://live.gnome.org/Rygel/MediaServer2Spec
* core: New LIFO style flist implementation v2.2Jyri Sarha2010-11-161-153/+64
| | | | | | | | | | | | The old free list implementation used objects in FIFO style. This is bad because it tries keep all the objects ever used alive and in memory. This minimizes the changes that an allocated object is already in cache. When there is shortage of physical memory this may also increase change that newly allocated object is swapped out. LIFO (e.g. stack) style free list should help these issues. Like the old one the new implementation is also lock free. This version (v2.1) of the patch has a potential weakness fixed. The previous version (2.0) did segfault when popping from empty flist, this does not.
* combine: Handle reappearing slave sinks in non-automatic mode.Antti-Ville Jansson2010-11-161-3/+23
| | | | | | | | Earlier, if slave sinks were unlinked in non-automatic mode, their re-appearance was disregarded. Now they are added back to the list of outputs. Signed-off-by: Antti-Ville Jansson <antti-ville.jansson@digia.com> Reviewed-by: Tanu Kaskinen <tanu.kaskinen@digia.com>
* alsa: remove redundant call to snd_pcm_nonblock()Pierre-Louis Bossart2010-11-161-2/+0
| | | | | | | The PCM handle is already opened with the SND_PCM_NONBLOCK flag. This additional call is useless. Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@intel.com>
* core: make use of dbus_message_iter_append_fixed_arrayLuiz Augusto von Dentz2010-10-201-6/+1
| | | | | dbus_message_iter_append_fixed_array does appends a block of fixed-length values to an array.
* bluetooth: make use of dbus-util helper functionsLuiz Augusto von Dentz2010-10-201-66/+6
|
* dbus: Fix log message after volume changes.Colin Guthrie2010-10-191-1/+1
|
* volume: Fix incorrect usage of PA_VOLUME_IS_VALIDArun Raghavan2010-10-194-6/+6
| | | | | The commit that introduced this macro was incorrect in some places. This patch fixes these. Thanks to Pierre-Louis Bossart for pointing this out.
* log: Totally trivial spelling 'correction' (for en-US)Colin Guthrie2010-10-171-1/+1
|
* intended-roles: Mark devices with a form factor of 'headset' as being ↵Colin Guthrie2010-10-161-1/+2
| | | | | | | appropriate for 'phone' streams This was a result a report by Patrick Ben Koetter relating to his Logitech Wireless Headset.
* alsa-mixer: add profile for Native Instruments KorecontrollerDaniel Mack2010-10-163-1/+88
|
* daemon-conf: Add sync volume parameters to daemon-confJyri Sarha2010-10-169-6/+31
| | | | | | Signed-off-by: Jyri Sarha <jyri.sarha@nokia.com> Reviewed-by: Tanu Kaskinen <tanu.kaskinen@digia.com> Reviewd-by: Colin Guthrie <cguthrie@mandriva.org>
* udev-detect: Add sync_volume parameterJyri Sarha2010-10-161-3/+15
| | | | | | Signed-off-by: Jyri Sarha <jyri.sarha@nokia.com> Reviewed-by: Tanu Kaskinen <tanu.kaskinen@digia.com> Reviewd-by: Colin Guthrie <cguthrie@mandriva.org>
* alsa: Take syncronized HW volume infra into use for alsa-sinkJyri Sarha2010-10-166-25/+246
| | | | | | Signed-off-by: Jyri Sarha <jyri.sarha@nokia.com> Reviewed-by: Tanu Kaskinen <tanu.kaskinen@digia.com> Reviewd-by: Colin Guthrie <cguthrie@mandriva.org>
* core: Add infrastructure for synchronizing HW and SW volume changesJyri Sarha2010-10-163-31/+369
| | | | | | | | | | | | | | | | To make concurrent use of SW and HW volume glitchles their application needs to be synchronized. For accurate synchronization the HW volume needs to be applied in IO thread. This patch adds infrastructure to delay the applying of HW volume to match with SW volume timing. To avoid synchronization problems this patch moves many of the volume and mute related functions from main thread to IO thread. All these changes become active only if the sync volume flag for a sink has been set. So, for this patch to have any effect it needs to be taken into use by sink implementor. Signed-off-by: Jyri Sarha <jyri.sarha@nokia.com> Reviewed-by: Tanu Kaskinen <tanu.kaskinen@digia.com> Reviewd-by: Colin Guthrie <cguthrie@mandriva.org>
* volume: Decrease PA_VOLUME_MAX to be < 2^31Arun Raghavan2010-10-151-1/+1
| | | | | | | This decrease PA_VOLUME_MAX to be less than 2^31. We want to do this in order to simplify signed arithmetic when applying software volume scaling (since the volume can now always be safely treated as a signed number).
* pactl: Validate volume before settingArun Raghavan2010-10-151-0/+15
| | | | | This makes sure that a valid volume is provided before setting on sink/sink-input/source.
* cli: Validate volume before settingArun Raghavan2010-10-151-0/+15
| | | | | This causes an error to be generated if an invalid volume is provided to commands that set sink/sink-input/source volume.
* volume: Clamp volume to PA_VOLUME_MAXArun Raghavan2010-10-157-19/+24
| | | | | | This ensures that we always clamp the volume to PA_VOLUME_MAX. While this currently has no effect, it will be required for making sure we don't exceed PA_VOLUME_MAX when its value changes in the future.
* volume: Use a macro to check if a volume is validArun Raghavan2010-10-159-27/+30
| | | | | | | This adds a PA_VOLUME_IS_VALID() macro for checking if a given pa_volume_t is valid. This makes changes to the volume ranges simpler (just change PA_VOLUME_MAX, for example, without needing to modify any other code).
* SSE/MMX/ARM: Fix high frequency noise with unusual number of channelsDavid Henningsson2010-10-133-13/+25
| | | | | | | | In the assembly optimized versions of SSE, a noise could occur when the number of channels were 3,5,6 or 7. For MMX and ARM, this could occur when the number of channels were 3. Signed-off-by: David Henningsson <david.henningsson@canonical.com>
* Merge remote branch 'vudentz2/master'Colin Guthrie2010-10-134-72/+1109
|\
| * bluetooth: Add support for Media APILuiz Augusto von Dentz2010-10-074-72/+1109
| | | | | | | | Make use of D-Bus to transfer file descriptors.
* | doxygen: Add 'See also' linking to the overview pageDavid Fries2010-10-1312-11/+46
| | | | | | | | | | | | | | A good many of the header files are broken into a function reference page and an overview page. These changes add a direct link from each function reference page to their overview page if one exists.
* | doxygen: Documentation improvementsDavid Fries2010-10-135-15/+16
| | | | | | | | | | | | | | | | | | stream.h, simple.h The words drain and flush are a little ambiguous, make it explicit as to what happens to any existing audio. *mainloop.h reword *_free and *_get_api for grammar
* | doxygen: Fix the "all" comments regarding volume helper functions.David Fries2010-10-131-10/+11
| | | | | | | | | | | | Mostly change "Set the volume of all channels" to "Set the volume of the first n channels" as the first is incorrect, it doesn't set all the channels and doesn't explain what n was for.
* | doxygen: Fix documentation typosDavid Fries2010-10-133-7/+8
|/
* introspect: Include whether a stream is corked in the info callback.Colin Guthrie2010-10-065-5/+23
|
* augment-properties: Fix debug messages and statement bracketing.Colin Guthrie2010-10-061-2/+3
|
* sink-input: Fix commentColin Guthrie2010-10-011-1/+1
|
* suspend: Do not assert when checking for device suspended status and a ↵Colin Guthrie2010-10-012-2/+16
| | | | | | | | | | | | | | | | | | | | | | | | stream is not linked. When looping through the streams on a given device checking to see if the stream is 'active' there should be no assert if the stream is not linked, it should simply be ignored. This assert can be hit if a sink and a sink input are both created and setup but the final put calls are left to the end as is done in module-ladspa-sink. While the order of the calls in module-ladspa-sink could be altered, we should deal gracefully with the way it is now and not complain about ending up in this state. A trigger case was trivial: 1. Load a ladspa-sink. 2. Play a stream and move it to it. 3. Unload the module, then reload it. 4. Due to module-stream-restore and module-suspend-on-idle, the hook callbacks will ultimately hit this assert. Thanks to Kim Therkelsen for highlighting this issue.
* device-manager: Ensure that sinks/sources populate the device manager lists ↵Colin Guthrie2010-09-291-5/+59
| | | | | | | in order of their priority. Currently the order of the sinks is simply that of their position in the idxset which is certainly not what the user would want.
* augment-properties: Search for .desktop files in subfolders too.Colin Guthrie2010-09-291-5/+39
|
* echo-cancel: Use S16NE for adrian moduleArun Raghavan2010-09-271-9/+5
| | | | | | This forces us to get native-endian samples in the adrian module so that we can rely on the existing endianness conversion mechanisms instead of doing it in the module.
* echo-cancel: Ensure correct handling of endiannessArun Raghavan2010-09-232-3/+4
| | | | | | The adrian module was using home-brewed endianness conversion instead of the appropriate mactos, and speex assumed a little-endian host. This fixes both of these.
* echo-cancel: orc-ify some bits for optimisationArun Raghavan2010-09-236-5/+336
| | | | | This uses Orc to optimise an inner loop in the core NLMS function of the Adrian echo canceller.
* echo-cancel: Add SSE optimisation to the adrian moduleArun Raghavan2010-09-237-12/+61
| | | | | | Optimises the core inner-product function, which takes the most CPU. The SSE-optimised bits of the adrian echo canceller only if the CPU that PA is running on actually supports SSE.
* cpu: Add CPU information to pa_coreArun Raghavan2010-09-238-55/+119
| | | | | | This retains CPU information (processor type and supported features) in pa_core, so that this information can be used by modules at init time to figure out what optimisations may be used.
* build: Fix make distcheckArun Raghavan2010-09-231-0/+1
| | | | src/utils/qpaeq was not being dist'ed
* echo-cancel: Fix out-of-tree buildArun Raghavan2010-09-201-0/+2
|
* x11: Use the default screen for X11 properties.Colin Guthrie2010-09-185-69/+95
| | | | | This commit restores the functionality originally included in 65e807 by Leszek Koltunski.
* xcb: xcb_get_setup() can return 0, so make sure we check it before usingColin Guthrie2010-09-181-20/+48
|
* xcb: Ensure the XCB connection is valid before using it.Colin Guthrie2010-09-182-0/+10
|
* x11: Partially convert to XCB.Colin Guthrie2010-09-187-97/+108
| | | | | | | | | This commit mostly converts the X11 handling to XCB. There are still some uses of XLib to deal with the X11 session handling modules, however all client-side code should now be free of XLib and thus this should fix Bug #799 Note that this removes the screen-based changes by Leszek Koltunski in 65e80, however this will be restored in due course.
* alsa: Only set the 'first' flag to false when we actually call snd_pcm_start()Colin Guthrie2010-09-141-1/+2
| | | | Previously, if work_done was false, we could conceivably not call snd_pcm_start().
* alsa: Set the rewind safeguard proportionally to sample specColin Guthrie2010-09-141-2/+3
| | | | | | | | | | | | | Currently when rewinding alsa, a fixed value of 256 bytes is used, which represents 1.33ms @ 48kHz (2ch, 16bit). This is typically fine and due to DMA constraints we would not want to rewind less than this. However with more demanding sample specs, (e.g. 8ch 192kHz 32bit) 256 bytes is likely not sufficient, so calculate what 1.33ms would be and use which ever value is bigger. Discussed with David Henningsson and Pierre-Louis Bossart here: http://thread.gmane.org/gmane.comp.audio.pulseaudio.general/7286
* alsa-mixer: add profile for Traktor Kontrol S4Daniel Mack2010-09-123-1/+84
| | | | | This new audio interface from Native Instruments has 2 stereo channels for both input and output direction. This patch adds mappings for them.
* echo-cancel: Fix make distcheckRico Tzschichholz2010-09-101-4/+5
| | | | | Add missing files to module_echo_cancel_la_SOURCES Add Adrian license file to EXTRA_DIST
* echo-cancel: pause timer when echo canceling is offWim Taymans2010-09-091-16/+25
| | | | | While the sink or source is in the suspended state, disable the timer callback because we are not doing any echo canceling then.
* echo-cancel: improve accuracyWim Taymans2010-09-091-1/+5
| | | | | Make the echo canceler drift up to 1ms now that things are more accurate. Add 10 samples of headroom to allow for timing inaccuracies.