summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2013-03-25rtp: Introduce source IP configurationRobin H. Johnson1-3/+45
On a multi-homed system, the user may wish RTP to be used only on specific interfaces. The default binding of 0.0.0.0 for the source address causes SAP multicast on all interfaces, which is not ideal. Introduce a new module argument, that allows selection of the source IP, and thus interface. (changes in v2: s/srcip/source_ip) Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
2013-03-25rtp: rename modarg destination to destination_ipRobin H. Johnson1-4/+7
The module argument 'source' already has special meaning as the pa_source, however, the argument 'destination' expects an IP address. Prior to introducing a source IP modarg for the source IP address, rename the 'destination' argument to 'destination_ip'. Include compatibility support for old RTP users so they don't need to change their module usage immediately. (changes in v2: minor formatting fixes, s/dstip/destination_ip) Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
2013-03-25rtp: Cleanup variable naming.Robin H. Johnson1-23/+23
Before introducing new functionality, clarify the variable names dest -> dst_addr sa[46] -> dst_sa[46] sap_sa[46] -> dst_sap_sa[46] Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
2013-03-25tests: Minor alsa-time-test improvmentsArun Raghavan1-3/+21
Tries to get RT privs and prints elapsed time and a periodic header to make grokking the output easier.
2013-03-25tests: Add tests for alsa-mixer pathsDavid Henningsson2-0/+118
It checks all files in the mixer/paths directory and checks - that the file can be parsed without errors - that the file is actually shipped in the makefile Signed-off-by: David Henningsson <david.henningsson@canonical.com>
2013-03-25alsa-mixer: Support more phantom jacksDavid Henningsson6-0/+35
It's fairly uncommon, but it happens that jack detection is enabled for some reason, e g hardware design. In that case, we cannot use jack detection, but we can still use the hint to pick up that there is a path. Signed-off-by: David Henningsson <david.henningsson@canonical.com>
2013-03-25alsa-mixer: Add path for Headset MicrophoneDavid Henningsson5-4/+105
In kernel 3.10, some devices will have the "Headset Microphone" name to indicate that the mic is part of a mic + headphone combo, i e, a headset.
2013-03-23Update Ukrainian translation.Yuri Chornoivan1-382/+595
2013-03-23Revert "conf-parser: Remove redundant feof() call"Tanu Kaskinen1-0/+3
This reverts commit 6733caf114d0d759590459745c864aa9518d133d. Apparently, the EOF bit gets set only after there has been an attempt to read more data than the file contains, so just reading the last byte isn't sufficient.
2013-03-22conf-parser: Remove redundant feof() callTanu Kaskinen1-3/+0
fgets() returns NULL in case there's an error or f is at EOF. The while condition just checked that f is not at EOF, therefore an error must have happened.
2013-03-22loopback: Flush asyncmsgq from the right contextTanu Kaskinen1-13/+31
u->asyncmsg is accessed from two IO threads. teardown() shouldn't flush the queue from the main thread while both IO threads are still potentially using the queue. This patch fixes that error by flushing the queue from the sink input thread when the sink input is being unlinked. Flushing the queue in teardown() caused this assertion in pa_asyncmsgq_get() to crash sometimes: pa_assert(!a->current)
2013-03-22filter-apply: Fix segfault with moving streamsTanu Kaskinen1-3/+7
process() may be called with a stream that doesn't have its sink/source set. This can happen if the proplist change callback is called when the stream is moving.
2013-03-22loopback: Fix segfault in may_move_to() callbacksTanu Kaskinen1-4/+7
The sink input may_move_to() callbacks can be called while the source output is not connected to any source (i.e. is currently moving too), and vice versa. Thanks to Frédéric Dalleau for reporting this bug.
2013-03-21sink-input: Make sure the process_underrun callback is clearedDavid Henningsson1-0/+1
Otherwise sink unlinking could cause a segfault. Reported-by: heftig Signed-off-by: David Henningsson <david.henningsson@canonical.com>
2013-03-21pacat: Fix mode detection for parecordTanu Kaskinen1-1/+1
Due to the missing "else", parecord was interpreted as parec, causing the raw flag to be set when it shouldn't have been set.
2013-03-20tests: Move ipacl-tests to TESTS_norunDavid Henningsson1-1/+1
ipacl-test fails if there is no SSH server running on your machine. Since it is not a PulseAudio error not to have an SSH server running, this test should not be run as part of the "make check" test suite. Signed-off-by: David Henningsson <david.henningsson@canonical.com>
2013-03-20core, alsa: Better drain reportingDavid Henningsson6-33/+139
Previously, a drain request was acknowledged up to two hw buffers too late, causing unnecessary delays. This implements a new chain of events called process_underrun which triggers exactly when the sink input has finished playing, so the drain can be acknowledged quicker. It could later be improved to give better underrun reporting to clients too. Tested-by: Dmitri Paduchikh <dpaduchikh@gmail.com> Signed-off-by: David Henningsson <david.henningsson@canonical.com>
2013-03-18zsh-completion: Fix pacat completion.poljar (Damir Jelić)1-1/+2
pacat --format needs = (--format=). Also pacat should complete files firstly and command line arguments secondly.
2013-03-18zsh-completion: Add support for the new pactl commands.poljar (Damir Jelić)1-1/+3
This adds support for set-(sink|source)-default completion and adds toggle to the supported arguments for the mute command.
2013-03-18zsh-completion: Add support for remote servers.poljar (Damir Jelić)1-15/+60
This patch adds support for completion of remote PulseAudio server arguments it also suppresses error messages when unable to connect to PulseAudio (only for the completion function).
2013-03-14alsa: Add configuration for NI Traktor Audio 2Tanu Kaskinen2-0/+55
Mostly written by Jaroslav Janukevic.
2013-03-13port to gtk+-3.0Marc-Antoine Perennou2-18/+18
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
2013-03-13pulse: Document the operation state behavior on context disconnection.Tanu Kaskinen2-5/+14
2013-03-13ladspa: Use volume sharing.Tanu Kaskinen2-29/+2
The previous volume handling could cause ear damage: by default the ladspa sink volume was 100%, and with flat volumes that would cause the master sink volume to jump to 100% too.
2013-03-13udev: Add tsched_buffer_size module argumentTanu Kaskinen1-18/+41
This makes it easier to configure the buffer size.
2013-03-13man: Remove reference to the .verbose CLI commandTanu Kaskinen1-5/+0
The .verbose metacommand was removed in commit 73eabece3365c1bb47bf6b009682219c4492fda5 (in 2004!). BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=62270
2013-03-13Bump the native protocol versionAkihiro Tsukada2-1/+10
The previous AAC pass-through patch (commit: 53807e4a) introduced a new encoding format type: PA_ENCODING_MPEG2_AAC_IEC61937, which is mostly used in pa_format_info, but forgot to increment the protocol version number. The version needs to be incremented, because clients need some way of checking whether the server supports the new encoding.
2013-03-12ltdl-bind-now: Log an error in case of failuresTanu Kaskinen1-0/+1
2013-03-12module: Don't use lt_dlerror(), it's uselessTanu Kaskinen1-1/+7
2013-03-08bluetooth: Never allow microphone output portsDavid Henningsson1-3/+3
If we find a microphone output port, it is probably something else than a microphone. Therefore label it "Bluetooth output" instead of "Microphone". Same goes for Headphones and Speakers, but in the other direction. Signed-off-by: David Henningsson <david.henningsson@canonical.com>
2013-03-08bluetooth: Use form factor to set port name and descriptionMikel Astiz1-6/+78
Use the information provided by the form factor to decide which name and description should be used during port creation.
2013-03-08bluetooth: Add specific form factor for phonesMikel Astiz2-8/+22
When a phone is paired, use PA_BT_FORM_FACTOR_PHONE to properly specify its form factor.
2013-03-08bluetooth: Use enum to represent form factorsMikel Astiz3-18/+58
Avoid using strings only to represent form factors in the bluetooth-util API and instead use a new dedicated enum type: pa_bt_form_factor_t.
2013-03-06modules: Remove obsolete may_move_to callbacksStefan Huber5-59/+0
Some modules have source_output_may_move_to_cb() and sink_input_may_move_to_cb() implemented that duplicate the default behavior. Remove them.
2013-03-06modules: remove obsolete comment on PA_SOURCE_OUTPUT_DONT_INHIBIT_AUTO_SUSPENDStefan Huber2-4/+0
2013-03-06virtual-source: remove redundant checks and callbacksStefan Huber1-13/+0
- do not check pa_xnew0()'s return value - remove redundant source_output_process_msg_cb()
2013-03-05modules: add module-remap-sourceStefan Huber2-0/+441
2013-03-01default.pa: Load module-jackdbus-detect with channels=2 by defaultDavid Henningsson1-1/+1
There was a recent thread on Linux Audio Users mailinglist about whether to do so or not, and it looks like most people would prefer having a stereo default (but even better would have been a module-jack-card where you can easily set channels/profiles on the fly). Reference: http://lists.linuxaudio.org/pipermail/linux-audio-user/2013-February/091068.html Reported-by: Kaj Ailomaa <zequence@mousike.me> Signed-off-by: David Henningsson <david.henningsson@canonical.com>
2013-02-22format: Add #defines for enum valuesTanu Kaskinen1-0/+21
2013-02-19alsa-card: Make ELD monitor name a port propertyDavid Henningsson1-0/+72
If there is a proper monitor name, we expose this as a device.product.name property on the port. This can be useful for UIs who might want to show this name. Signed-off-by: David Henningsson <david.henningsson@canonical.com>
2013-02-19alsa-mixer: Add possibility to configure ELD deviceDavid Henningsson7-0/+10
The alsa mixer kcontrol has "device index" 3, 7, 8, and 9. We need to configure this properly. Signed-off-by: David Henningsson <david.henningsson@canonical.com>
2013-02-19alsa-util: Add a function to read ELD infoDavid Henningsson2-0/+76
Currently, this function only reads the monitor name, but could be extended to read e g supported formats as well. Signed-off-by: David Henningsson <david.henningsson@canonical.com>
2013-02-19card: Set initial profile availability stateMikel Astiz1-0/+1
Commit afd33da56a0b174c43ca44bce21b8ef0efaca1fa introduces this new flag but the default initial value is missing, considering that pa_xmalloc is used to allocate the memory.
2013-02-19bluetooth: Fix assertion failure if BlueZ crashes during GetPropertiesMikel Astiz1-2/+4
If BlueZ crashes exactly while PulseAudio waits for the GetProperties reply, the device has already been removed from the hashmap and therefore an assertion failure is experienced. The solution consists of ignoring the reply in these cases. The problem can be observed in the following traces: D: [pulseaudio] bluetooth-util.c: Bluetooth daemon appeared. D: [pulseaudio] bluetooth-util.c: dbus: interface=org.bluez.Manager, path=/, member=AdapterAdded D: [pulseaudio] bluetooth-util.c: Adapter /org/bluez/497/hci1 created D: [pulseaudio] bluetooth-util.c: Registering /MediaEndpoint/HFPAG on adapter /org/bluez/497/hci1. D: [pulseaudio] bluetooth-util.c: Registering /MediaEndpoint/HFPHS on adapter /org/bluez/497/hci1. D: [pulseaudio] bluetooth-util.c: Registering /MediaEndpoint/A2DPSource on adapter /org/bluez/497/hci1. D: [pulseaudio] bluetooth-util.c: Registering /MediaEndpoint/A2DPSink on adapter /org/bluez/497/hci1. D: [pulseaudio] bluetooth-util.c: dbus: interface=org.bluez.Adapter, path=/org/bluez/497/hci1, member=DeviceCreated D: [pulseaudio] bluetooth-util.c: Device /org/bluez/497/hci1/dev_90_84_0D_B2_C7_04 created D: [pulseaudio] bluetooth-util.c: dbus: interface=org.freedesktop.DBus, path=/org/freedesktop/DBus, member=NameOwnerChanged D: [pulseaudio] bluetooth-util.c: Bluetooth daemon disappeared. E: [pulseaudio] bluetooth-util.c: Assertion 'p->call_data == d' failed at modules/bluetooth/bluetooth-util.c:685, function get_properties_reply(). Aborting.
2013-02-18bluetooth: Fix possible adapter duplicatesMikel Astiz1-2/+12
The D-Bus signal AdapterAdded can be received during our call to GetProperties(), before the reply is received. In this case, the adapter will be listed twice and thus the endpoint registration will fail with "AlreadyExists" as follows: D: [pulseaudio] bluetooth-util.c: dbus: interface=org.bluez.Manager, path=/, member=AdapterAdded D: [pulseaudio] bluetooth-util.c: Adapter /org/bluez/21220/hci0 created D: [pulseaudio] bluetooth-util.c: Registering /MediaEndpoint/HFPAG on adapter /org/bluez/21220/hci0. D: [pulseaudio] bluetooth-util.c: Registering /MediaEndpoint/HFPHS on adapter /org/bluez/21220/hci0. D: [pulseaudio] bluetooth-util.c: Registering /MediaEndpoint/A2DPSource on adapter /org/bluez/21220/hci0. D: [pulseaudio] bluetooth-util.c: Registering /MediaEndpoint/A2DPSink on adapter /org/bluez/21220/hci0. D: [pulseaudio] bluetooth-util.c: Registering /MediaEndpoint/HFPAG on adapter /org/bluez/21220/hci0. D: [pulseaudio] bluetooth-util.c: Registering /MediaEndpoint/HFPHS on adapter /org/bluez/21220/hci0. D: [pulseaudio] bluetooth-util.c: Registering /MediaEndpoint/A2DPSource on adapter /org/bluez/21220/hci0. D: [pulseaudio] bluetooth-util.c: Registering /MediaEndpoint/A2DPSink on adapter /org/bluez/21220/hci0. E: [pulseaudio] bluetooth-util.c: RegisterEndpoint() failed: org.bluez.Error.AlreadyExists: Already Exists E: [pulseaudio] bluetooth-util.c: RegisterEndpoint() failed: org.bluez.Error.AlreadyExists: Already Exists E: [pulseaudio] bluetooth-util.c: RegisterEndpoint() failed: org.bluez.Error.AlreadyExists: Already Exists E: [pulseaudio] bluetooth-util.c: RegisterEndpoint() failed: org.bluez.Error.AlreadyExists: Already Exists
2013-02-18echo-cancel: Enable different sample specs for rec and out streamStefan Huber6-95/+133
Enable advanced AEC methods to use different specs (i.e., number of channels) for rec and out stream. A typical application is beam forming resp. multi-channel AEC, which takes multiple record channels to produce an echo-canceled output stream. This commit alters the EC API as follows: the EC's init() used to get source and sink's sample spec/channel map. The new interface renamed source to rec and sink to play and additionally passes sample spec and channel map of the out stream. The new parameter names of init() {rec,play,out}_{ss,map} are more intuitive and also resemble to the parameter names known from run(). Both rec_{ss,map} and out_{ss,map} are initialized as we knew it from source_{ss,map} before being passed to init(). The previous EC implementations only require trivial changes, i.e., setting rec_{ss,map} to out_{ss,map} at the end of init() in case that out_{ss,map} is modified in init().
2013-02-18bluetooth: Merge all ports into "bluetooth-input" and "bluetooth-output"Mikel Astiz1-227/+81
The card profile availability flag already provides all the necessary information and therefore all Bluetooth ports can be merged, leaving the two generic ones only: "bluetooth-input" and "bluetooth-output". The availability of these port now represents whether the device is streaming audio, with the following mapping: - PA_AVAILABLE_UNKNOWN: some profile connected but not streaming - PA_AVAILABLE_NO: no profiles connected - PA_AVAILABLE_YES: some profile streaming (regardless of which) Each port's flag represents the profiles with the corresponding I/O capabilities (pa_direction_t).
2013-02-18bluetooth: Use profile availability to auto-switch profilesMikel Astiz1-55/+49
Use the card profile availability flag instead of port availability in order to automatically switch profiles, for example when a paired phone starts streaming A2DP audio.
2013-02-18bluetooth: Expose card profile availabilityMikel Astiz1-1/+15
Use the transport's state to not only update the ports availability, but also to update the card profile availability flag. The interpretation is as follows: - PA_AVAILABLE_UNKNOWN: BT profile is connected but no audio streaming - PA_AVAILABLE_NO: BT profile disconnected - PA_AVAILABLE_YES: BT profile connected and audio streaming
2013-02-18cli: Show card profile availability statusMikel Astiz1-3/+4
Expose the newly added card profile availability in pacmd.