summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* udev: Don't use deprecated udev_get_*_path() functionsMarc-Antoine Perennou2012-05-292-8/+5
| | | | | | | [These symbols were removed in libudev.so.1.0.0. Replace them with hardcoded strings. -- heftig] Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
* pipe: check return value of mkfifo()Peter Meerwald2012-05-292-2/+8
|
* pipe: whitespace and log output cleanupPeter Meerwald2012-05-292-7/+7
|
* daemon: use pa_streq instead of plain strcmpDeng Zhengrong2012-05-291-6/+6
| | | | | Just noticed that in daemon-conf.c, it uses plain strcmp(), while in PulseAudio, it should be better to use pa_streq().
* cli: Add set-log-target command for pacmdDeng Zhengrong2012-05-291-0/+43
|
* once: Fix race causing pa_once to sometimes run twiceDavid Henningsson2012-05-252-34/+17
| | | | | | | | | | | | There was a race in the existing code that could cause the pa_once code to be run twice, see: http://lists.freedesktop.org/archives/pulseaudio-discuss/2012-April/013354.html Therefore the existing implementation was rewritten to instead look like the reference implementation here: http://www.hpl.hp.com/research/linux/atomic_ops/example.php4 Signed-off-by: David Henningsson <david.henningsson@canonical.com>
* native: Use foreach to iterate trough modules.poljar2012-05-231-4/+3
| | | | | The PA_IDXSET_FOREACH is easier to read than the standard for loop. Also pa_streq() should be used for checking string equality.
* bluetooth: Fix crash on disconnectionFrédéric Danis2012-05-161-7/+9
| | | | | | | | | | | | | | When a Bluetooth headset is connected only to HFP profile (not connected to A2DP) and host streams to it, a crash occurs if host disconnects. When HFP disconnects, audio thread will fail on POLLHUP then generate a message to set PA profile to Off before ending. If this message is managed before PA unload bluetooth device module, all works fine. But, if this message is managed during module unload, this finish by re-entrance in release code (stop_thread) and a crash. This fix prevents to process profile change when module is unloading.
* gnome: start PA early in the gnome sessionLennart Poettering2012-05-161-0/+1
|
* auth: move cookie file to ~/.config/pulse/cookieLennart Poettering2012-05-1512-28/+53
| | | | | | In order to follow XDG basedir, read the cookie file from ~/.config/pulse/cookie if possible, but fall back to the old file. if it doesn't exist.
* core-util: when searching for configuration files, honour XDG basedir specLennart Poettering2012-05-151-3/+10
|
* core-util: move configuration home directory from ~/,pulse to ↵Lennart Poettering2012-05-151-17/+46
| | | | | | | | ~/.config/pulse to follow XDG basedir spec If ~/.pulse/ already exists we stick to it in order not to lose configuration and so that pulse configuration may still be shared across the network with different PA versions.
* util: hook up pa_get_runtime_dir() with XDG_RUNTIME_DIRLennart Poettering2012-05-151-7/+28
|
* context: get rid of really old runtime dir logic, i.e. break compat with ↵Lennart Poettering2012-05-151-70/+0
| | | | >4y-old PA
* rtkit: update drop-in filesLennart Poettering2012-05-152-0/+136
|
* build-sys: remove HAL support, it's obsolete since yearsLennart Poettering2012-05-157-1054/+1
|
* build-sys: readd stub makefiles to subdirectories to make building with ↵Lennart Poettering2012-05-157-2/+14
| | | | emacs easier
* util: use the return value of gethosid() as fallback, not the address of the ↵Lennart Poettering2012-05-151-1/+1
| | | | | | function Yikes!
* util: /etc/machine-id should be tried first, the D-Bus only as fallback for ↵Lennart Poettering2012-05-151-3/+3
| | | | legacy systems
* proplist: document new meaning of the session IDLennart Poettering2012-05-151-1/+1
|
* util: XDG_SESSION_COOKIE is unsuitable as session IDLennart Poettering2012-05-151-1/+2
| | | | | | | | | XDG_SESSION_COOKIE was supposed to be used for access control to the session and should not be exposed to other users. Replace usage of XDG_SESSION_COOKIE by XDG_SESSION_ID which is the right choice here since it is actually a proper session ID that may be published.
* sink-input,source-output: Avoid unneccessary rate updatesArun Raghavan2012-05-142-2/+4
| | | | | | | | This makes sure we only call sink/source update_rate() if the stream being woken up has a sample spec that doesn't match the corresponding device'. https://bugs.freedesktop.org/show_bug.cgi?id=49875
* Correct spelling of PulseAudioPaul Menzel2012-05-113-4/+4
| | | | | • s,Pulseaudio,PulseAudio, • One last occurence of this “error” is in the French translation.
* bluetooth: Fix crash due to usage of pa_bool_t instead of dbus_bool_tArun Raghavan2012-05-111-2/+4
| | | | | | | | pa_bool_t and dbus_bool_t cannot be used interchangably since their size might (and do) vary. This caused a crash on some systems which was reported and root caused by: Aidan Thornton <makosoft@googlemail.com>. Ref: https://bugs.gentoo.org/show_bug.cgi?id=398097
* alsa: Add support for sound cards with 4-channel input.Tanu Kaskinen2012-05-112-0/+10
| | | | | | | | | | | | Changes in v2: - Call the mapping a generic 4-channel input mapping instead of a 4-channel mic array mapping. The mapping will be used also by sound cards that have two stereo input jacks, so in those cases talking about mic arrays is wrong. - Added a comment about using the "hw" device name. BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=45813
* resampler: Add support for resamplers that consume less data than asked.Tanu Kaskinen2012-05-111-56/+135
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | libsamplerate_resample() assumed that src_process() would always consume the whole input buffer. That was an invalid assumption leading to crashes. This patch adds a leftover memchunk for storing any non-consumed input. When pa_resampler_run() is called next time, the leftover is prepended to the new input. Changes in v3: - Make the calculations in pa_resampler_result() and pa_resampler_max_block_size() more readable and more correct. - Rework the leftover storing: instead of using a dedicated buffer for it, store it in the beginning of remap_buf. This can avoid some memory copying. (The idea was suggested by Wang Xingchao.) - Use a generic save_leftover() function instead of doing the leftover copying in the resampler implementation. - Use the leftover logic also with the speex and ffmpeg resamplers. [ed: dropped the speex bit since the API guarantees that it will consume everything -- Arun] Changes in v2: - If add_leftover() is called with zero-length input while the leftover length is non-zero, we don't try to acquire the input memblock. - Instead of taking a reference to the original input in libsamplerate_resample(), we copy the leftover data to a new memblock. This is done, because otherwise, if the input is one of the internal buffers, the data can get overwritten before reading it in add_leftover(). - Store add_leftover_buf size in bytes instead of samples (more convenient, but less consistent with other code). BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=47156
* resampler: Use more descriptive buffer names.Tanu Kaskinen2012-05-111-55/+63
|
* resampler: Use pa_xnew0() to avoid manual zeroing.Tanu Kaskinen2012-05-111-31/+19
|
* pacmd: Added --help and --version options.poljar2012-05-051-12/+90
| | | | | | | | All utilities should have the --help and --version command line options. These two were added to pacmd, also the goto label was changed from fail to quit like in the other utilities. BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=45030
* echo-cancel: Clarify function call contexts.Tanu Kaskinen2012-04-271-34/+45
|
* echo-cancel: Fix memblockq length check.Tanu Kaskinen2012-04-271-44/+42
| | | | | In addition to changing "plen > u->blocksize" to "plen >= u->blocksize", I also removed one of the duplicated ifs.
* echo-cancel: Drop the correct amount of samples when skipping.Tanu Kaskinen2012-04-271-1/+1
|
* sink/source.h: Clarify set_port commentDavid Henningsson2012-04-182-4/+4
| | | | | | | State which thread calls set_port in which scenario. Reported-by: Jyri Sasha <oku@iki.fi> Signed-off-by: David Henningsson <david.henningsson@canonical.com>
* pulse: Fix warning in introspect.h; minor rewording and punctuation.Peter Meerwald2012-04-171-50/+50
|
* pulse: Clarify proplist doxygen documentation.Peter Meerwald2012-04-171-3/+3
|
* core: Fix comments.Peter Meerwald2012-04-172-3/+3
|
* echo-cancel: Upper/lowercase in comment.Peter Meerwald2012-04-171-2/+2
|
* build: Fix spelling in src/Makefile.am.Peter Meerwald2012-04-171-1/+1
|
* dbus: Fix dbus argument type in iface-stream.c handle_move().Peter Meerwald2012-04-171-1/+1
| | | | | BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=48376 Signed-off-by: Peter Meerwald <p.meerwald@bct-electronic.com>
* alsa: Add the DTS/DCA mapping to extra-hdmi.conf too.Colin Guthrie2012-04-151-0/+6
| | | | This is needed for 0b421f on Intel/NVidia hardware.
* alsa-sink/source: Make sure volumes are synchronised after fast user switchingDavid Henningsson2012-04-126-4/+73
| | | | | | | | | | | | Log in as user A, fast user switch to user B, let user B change port, volume or mute status, then switch back to user A. At this point we must make sure that the ALSA and PA volumes are synchronised by writing to the ALSA mixer when the ALSA device becomes available. BugLink: https://bugs.launchpad.net/bugs/915035 Signed-off-by: David Henningsson <david.henningsson@canonical.com>
* cli: Allow source-output volumes/mute to be set via CLIColin Guthrie2012-04-101-1/+97
| | | | This should have been done a long time ago but it brings symmetry to the API
* man: Document the cli inteface a little.Colin Guthrie2012-04-101-22/+22
| | | | | | | | | | | | | This just documents the cli interface syntax. Mostly a lift from http://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/CLI with some minor editing and bringing up to date. Also document a few undocumented commands. Shuffle around the order in 'pacmd help' output to match the order in the new docs for consistency. https://bugs.freedesktop.org/show_bug.cgi?id=45029
* alsa-sink/source: Really set volumes on port changeDavid Henningsson2012-04-042-4/+14
| | | | | | | | | | If deferred volumes were activated, set_volume does not really set the volume, and is probably only meant to be called from the main thread. As we're currently really setting the port and the mute here (i e modifying ALSA), we should really modify the volume as well. Signed-off-by: David Henningsson <david.henningsson@canonical.com>
* module-loopback: Reset process_msg callbacks in teardownDavid Henningsson2012-04-041-0/+2
| | | | | | | | | | Make sure we can't be called into by remaining references to sink-inputs and source-outputs after we have unloaded, as that will likely lead to segfaults. Thanks to Tanu for providing valuable input on this patch. Signed-off-by: David Henningsson <david.henningsson@canonical.com>
* loopback: Fix crash on error during initFrédéric Dalleau2012-04-021-1/+2
| | | | | If an error during pa__init() causes a jump to fail: u->asyncmsgq is not initialized.
* dbus: Add assertions to get rid of warnings from Coverity.Tanu Kaskinen2012-03-281-2/+2
| | | | | | | Coverity thinks that expected_method_sig can be NULL when it's dereferenced by pa_streq(). Adding assertions doesn't hurt here (in my opinion), and that should get rid of the warnings.
* device-manager: Add an assertion to get rid of a warning from Coverity.Tanu Kaskinen2012-03-281-1/+1
| | | | | | | Coverity thinks that device_name can be NULL when it's dereferenced by strcmp. Adding an assertion doesn't hurt here (in my opinion), and that should get rid of the warning.
* dbus: Add an assertion to get rid of a warning from Coverity.Tanu Kaskinen2012-03-281-1/+1
| | | | | | | Coverity thinks that sample can be NULL when it's dereferenced after this line. Adding an assertion doesn't hurt here (in my opinion), and that should get rid of the warning.
* alsa: Fix SND_MIXER_SCHN_LAST related stuff.Tanu Kaskinen2012-03-284-7/+3
| | | | | | | | | | | | | | | | | Valid channel id range is from 0 to SND_MIXER_SCHN_LAST, inclusive, so the size of the masks array in pa_alsa_element has to be SND_MIXER_SCHN_LAST + 1. Similar "too small" arrays were also in alsa-sink's and alsa-source's userdata, but actually those arrays were not used at all so they were removed. element_is_subset() in alsa-mixer.c skipped the last channel id when iterating the element masks array; that's now fixed as well. Thanks to David Henningsson for spotting the too small arrays in alsa-sink and alsa-source and the element_is_subset() problem.