summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2014-04-16pactl: Document ability to specify channel volumes individuallyPeter Meerwald2-10/+14
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
2014-04-16pactl: Check consistency of volumes specifiedPeter Meerwald1-29/+33
Must use one way to specify volumes consistently, e.g. +3dB +3dB, mixing different ways is not allowed, such as 40% 1000 Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
2014-04-16pactl: Allow to set volume of each channel independently (Bug #39190)Parin Porecha1-51/+71
Example: pactl set-sink-volume "sink_name" 32000 40000 If the number of volumes provided is different than the number of channels (excluding the case where a single volume is provided), an error message is displayed explaining why the volumes could not be set. patch proposed by Parin Porecha code refactoring and commit message slightly edited by Peter Meerwald
2014-04-15pactl: Stop parsing option when the first non-option is encounteredPeter Meerwald1-1/+1
fix bug https://bugs.freedesktop.org/show_bug.cgi?id=77108 see getopt(3): ""By default, getopt() permutes the contents of argv as it scans, so that eventually all the nonoptions are at the end. Two other modes are also implemented. If the first character of optstring is '+' or the envi‐ ronment variable POSIXLY_CORRECT is set, then option processing stops as soon as a nonoption argument is encountered. If the first character of optstring is '-', then each nonoption argv-element is handled as if it were the argument of an option with character code 1. (This is used by programs that were written to expect options and other argv-elements in any order and that care about the ordering of the two.) The special argument "--" forces an end of option-scanning regardless of the scan‐ ning mode."" prepend optstring with '+' to use POSIXLY_CORRECT mode Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
2014-04-15man: Fix typos in pulse-daemon.conf.5.xml.inPeter Meerwald1-2/+2
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
2014-04-15pstream: Use pa_xnew0 in initializationDavid Henningsson1-29/+1
...for simplicity. Signed-off-by: David Henningsson <david.henningsson@canonical.com>
2014-04-15Name HDMI outputs uniquelyAlexander E. Patrakov1-6/+6
On Haswell hardware, there are multiple HDMI outputs capable of digital sound output. As they were identically named, KDE's control center was unable to distinguish them, restored the wrong profile and thus routed sound to the wrong HDMI monitor. Also, having identically-named menu items in other mixer applications looks like a bug.
2014-04-04module-switch-on-port-available: Use new find best port functionDavid Henningsson1-18/+3
Now that we have a generic function in device-port.h, we can use it instead of the custom one. Signed-off-by: David Henningsson <david.henningsson@canonical.com>
2014-04-04module-switch-on-port-available: Use port->card pointerDavid Henningsson1-7/+2
We now have a port->card pointer, we can use it instead of iterating over cards to find the correct one. Signed-off-by: David Henningsson <david.henningsson@canonical.com>
2014-04-04module-switch-on-port-available: Don't switch profiles on uninitialized cardsDavid Henningsson1-0/+5
This could cause the HDMI port to become the default on some systems where analog output was available. BugLink: https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/1256511 BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=73375 Signed-off-by: David Henningsson <david.henningsson@canonical.com>
2014-03-28zeroconf-publish: Don't assume any particular defer event orderingTanu Kaskinen1-4/+15
Also, initialize userdata with zeros to avoid invalid pointers in client_free(). This fixes a crash when client_free() is called before create_client(). The whole issue could be avoided by using some other mechanism than defer events for running the two functions, but I'll do that change later (I have also other cleanups planned for zeroconf-publish). BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=76184
2014-03-28client-conf: Don't create multiple cookie filesTanu Kaskinen4-88/+104
The old code loaded cookies at the time of loading the client configuration, which could lead to creation of multiple cookie files. For example, when pa_client_conf_load() was called, the default cookie file was created, and then if PULSE_COOKIE was set, pa_client_conf_env() would create another cookie file. This patch moves the loading of the cookie to a separate function, which pa_context calls just before needing the cookie, so the cookie won't be loaded from the default file if PULSE_COOKIE is set. This patch also splits the single cookie and cookie_file fields in pa_client_conf into multiple fields, one for each possible cookie source. That change allows falling back to another cookie source if the primary source doesn't work. BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=75006
2014-03-28client-conf: Remove redundant function parametersTanu Kaskinen8-30/+18
2014-03-28util: Check that the home dir is an absolute pathTanu Kaskinen1-10/+22
Avoid unpredictable behaviour in case e.g. the HOME environment variable is incorrectly set up for whatever reason. I haven't seen non-absolute HOME anywhere, but this feels like a good sanity check anyway.
2014-03-28pactl: Fix crash with older serversTanu Kaskinen1-69/+137
Servers older than 0.9.15 don't know anything about cards, and card operations will return a NULL pa_operation object when connected to that old server. We must check the pa_operation pointer before passing it to pa_operation_unref(), otherwise a NULL operation will result in a crash.
2014-03-28sink/source: Initialize port before fixate hook (fixes volume/mute not saved)David Henningsson4-35/+49
In case a port has not yet been saved, which is e g often the case if a sink/source has only one port, reading volume/mute will be done without port, whereas writing volume/mute will be done with port. Work around this by setting a default port before the fixate hook, so module-device-restore can read volume/mute for the correct port. BugLink: https://bugs.launchpad.net/bugs/1289515 Signed-off-by: David Henningsson <david.henningsson@canonical.com>
2014-03-27introspect: Use pa_direction_valid() to validate port directionTanu Kaskinen1-3/+3
There's no behavioral change, just nicer code.
2014-03-27direction: Add a couple of direction helper functionsTanu Kaskinen6-2/+91
2014-03-26device-restore: log restored mute stateWim Taymans1-2/+4
Log the mute state as it was restored
2014-03-24alsa-util: Reset hwparams_copy before the second try of buffer setupPeter Ujfalusi1-0/+1
hwparams_copy needs to be reset (as it is also reset for the third and fourth try) before the second try. If the reset is not done and the first try fails: D: [lt-pulseaudio] alsa-util.c: Maximum hw buffer size is 743 ms I: [lt-pulseaudio] alsa-util.c: snd_pcm_hw_params_set_buffer_size_near() failed: Invalid argument I: [lt-pulseaudio] alsa-util.c: snd_pcm_hw_params_set_period_size_near() failed: Invalid argument I: [lt-pulseaudio] alsa-util.c: snd_pcm_hw_params_set_buffer_size_near() failed: Invalid argument D: [lt-pulseaudio] alsa-util.c: Set only period size (to 1102 samples). We have three failures and finally the fourth (only period size) succeed. With this patch: D: [lt-pulseaudio] alsa-util.c: Maximum hw buffer size is 743 ms I: [lt-pulseaudio] alsa-util.c: snd_pcm_hw_params_set_buffer_size_near() failed: Invalid argument D: [lt-pulseaudio] alsa-util.c: Set period size first (to 1102 samples), buffer size second (to 4408 samples). We only fail with the first try, the second (period followed by buffer) is fine. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
2014-03-24doxygen: Update the configuration fileTanu Kaskinen1-198/+914
I reviewed the changes, and I didn't find anything that would actually have effects on the generated output.
2014-03-24zeroconf-publish: Don't react to messages while shutting downTanu Kaskinen1-5/+10
This fixes a case where pa__done() is called while AVAHI_MESSAGE_PUBLISH_ALL is waiting for processing. The pa_asyncmsgq_wait_for(AVAHI_MESSAGE_SHUTDOWN_COMPLETE) call will process all pending messages, and processing AVAHI_MESSAGE_PUBLISH_ALL causes publish_all_services(), and that in turn accesses u->services, which has been already freed at this point. If we are shutting down, we shouldn't react to any of the messages that the Avahi thread is sending to the main thread. BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=76184
2014-03-24zeroconf-publish: Add locking around pa_mainloop_api_once()Tanu Kaskinen1-0/+2
Commit e1e154c7377779377fa1a36655a10effd693f7b5 added locking around pa_mainloop_api_once() everywhere except pa__done(). This fixes that omission.
2014-03-24pacat: Fix partially translated messageTanu Kaskinen1-2/+2
The word "not" was not translated. BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=76529
2014-03-24core-util: Make pa_yes_no() translatableTanu Kaskinen1-1/+3
BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=76529
2014-03-18doc: Fix some typos/wording in man/pulse-daemon.conf.5Peter Meerwald1-4/+4
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
2014-03-15mainloop-api: Improve pa_mainloop_api_once() documentationTanu Kaskinen1-3/+5
2014-03-14volume: Increase PA_SW_VOLUME_SNPRINT_DB_MAXTanu Kaskinen1-1/+1
10 bytes isn't enough for "-123.45 dB", including the terminating null byte.
2014-03-14alsa: Use card description in default sink/source prefix when availablePete Beardmore9-14/+19
When given an explicit device.description in card_properties, prefer this information over other default prefixes (e.g. 'Built-in Audio') when constructing sink/source descriptions. For example, if I manually configure the card description to be "FooBar", I then expect that the sinks and created by the card also have "FooBar" in their description instead of generic "Built-in Audio".
2014-03-13tunnel: Fix inverted if conditionTanu Kaskinen1-1/+1
2014-03-11alsa-mixer: Fix Analog Input showing up on USB HeadsetDavid Henningsson1-0/+15
In some cases, "Analog Input" could show up as well as "Headset Mic" (or "Headphone Mic"), because I forgot to add the relevant "required-absent" lines when I added the headset mic path. As a result, both "Analog Input" and "Headset Mic" showed up on the Logitech USB 530 Headset. Reported-by: Steve Magoun <steve.magoun@canonical.com> Signed-off-by: David Henningsson <david.henningsson@canonical.com>
2014-03-10pactl: Fix a copy-paster errorTanu Kaskinen1-1/+1
2014-03-08doc: Use \since doxygen command correctly in mainloop-api.hPeter Meerwald1-3/+3
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
2014-03-08core: add missing SET_PORT_LATENCY_OFFSET to dispatcher opcode string tablePeter Meerwald1-0/+2
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
2014-03-08doc: Use correct parameter name wait_for_accept in documentation of ↵Peter Meerwald1-2/+2
pa_threaded_mainloop_signal() also sneaks in a full stop in documentation elsewhere Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
2014-03-07Fix a few "it's -> its" typosAlexander E. Patrakov6-8/+8
2014-03-06tunnel-source-new: Fix shadow compiler warningPeter Meerwald1-6/+6
CC modules/module_tunnel_sink_la-module-tunnel.lo modules/module-tunnel-source-new.c: In function 'read_new_samples': modules/module-tunnel-source-new.c:145:16: warning: declaration of 'read' shadows a global declaration [-Wshadow] Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
2014-03-06doc: Fix pa_stream_set_latency_update_callback() documentationPeter Meerwald1-1/+1
the latency_update callback is supported on playback AND record streams Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
2014-03-06doc: Fix a couple of 'to to' typosPeter Meerwald3-3/+3
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
2014-03-03alsa: Remove a redundant checkTanu Kaskinen1-2/+2
If mixer_handle is not NULL, then hctl_handle won't be NULL either. The redundant check was confusing, because it looked like we would leak the mixer_handle if mixer_handle is non-NULL and hctl_handle is NULL.
2014-03-03bluetooth: Fix timing to count based on decoded dataJames Bunton2-10/+14
Currently the latency information is being updated based on the encoded SBC data instead of the decoded PCM data. Fixing this required moving the timing update to be after the packet has been decoded.
2014-03-03bluetooth: Don't abort on SBC decoding errorJames Bunton2-10/+14
The Nokia E7 running Symbian Belle Refresh seems to generate invalid SBC packets every few minutes. This causes pulseaudio to disconnect the stream and log "SBC decoding error (-3)". If a single packet is bad, pulseaudio should keep playing the stream.
2014-03-03Remove all references to the removed KDE filesTanu Kaskinen7-61/+4
2014-03-03daemon: ensure pulseaudio early startup on kdeRex Dieter1-0/+1
2014-03-03daemon: consolidate startup scriptsRex Dieter4-42/+4
simplify pulseaudio autostart into one, avoid needless extra work for kde, and avoid possible startup races.
2014-03-03suspend-on-idle: Fix monitor source handlingv5.0Tanu Kaskinen1-2/+9
Fixes a crash that happened due to calling pa_source_check_suspend() when d->source was NULL.
2014-03-03Update NEWSTanu Kaskinen1-0/+70
2014-02-28rtp-send: Add "inhibit_auto_suspend" module argumentTanu Kaskinen1-1/+62
Some people want module-rtp-send to send silence when the sink that is monitored goes idle, and some people want module-rtp-send to pause the RTP stream to avoid unnecessary bandwidth consumption.
2014-02-28suspend-on-idle: Ensure we still time out if a stream remains corkedDavid Henningsson1-3/+10
If a stream is started corked and remains corked, the sink/source remained idle without being properly suspended. This patch fixes that issue. BugLink: https://bugs.launchpad.net/bugs/1284415 Tested-by: Ricardo Salveti <ricardo.salveti@canonical.com> Signed-off-by: David Henningsson <david.henningsson@canonical.com>
2014-02-28sink-input/source-output: Fix LFE remixing suddenly enabledDavid Henningsson2-2/+4
Steps to reproduce: 1) Leave LFE remixing disabled (the default) 2) Start playback of stereo material on e g 5.1 surround, notice nothing in LFE 3) Now change profile to e g 4.0 surround and then back to 5.1 surround 4) Notice that LFE channel is now remixed Signed-off-by: David Henningsson <david.henningsson@canonical.com>