platform/upstream/pulseaudio.git
10 years agoAdd module-volume-api and the related client API 67/21967/1
Tanu Kaskinen [Wed, 21 May 2014 10:42:02 +0000 (13:42 +0300)]
Add module-volume-api and the related client API

Change-Id: I79e31d8eaacb5d86a29538e89db1e140d28ac1c0
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agovolume-api: Add libvolume-api.so 66/21966/1
Tanu Kaskinen [Wed, 21 May 2014 08:51:27 +0000 (11:51 +0300)]
volume-api: Add libvolume-api.so

This library implements the "core" of the new volume system, which
will be used by several modules.

Change-Id: Ib25ada1392e83237a3908e6064ee0ad6dff7afaf
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agocontext, extension: Add the pa_extension class 65/21965/1
Tanu Kaskinen [Tue, 4 Mar 2014 13:03:05 +0000 (15:03 +0200)]
context, extension: Add the pa_extension class

pa_extension is an abstraction layer that allows pa_context to manage
the extensions without needing any extension-specific code. This patch
only implements the pa_extension base class, the class isn't used yet
by any actual extensions.

Change-Id: I457b3d0b674b4cfd1d38452d8f8cb51cf6b7b533
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agosink: Link monitor source before activating port 64/21964/1
Tanu Kaskinen [Fri, 9 May 2014 08:25:28 +0000 (11:25 +0300)]
sink: Link monitor source before activating port

The port activation hook callbacks may want to use the monitor source.

Change-Id: I5d5c51171a78162dacb3286983cb560001e79ba1
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agosink-input, source-output: Add hooks for mute changes 63/21963/1
Tanu Kaskinen [Tue, 15 Apr 2014 08:27:53 +0000 (11:27 +0300)]
sink-input, source-output: Add hooks for mute changes

Change-Id: I256cfa27ffa6addb35640266b73f1fe07a483203
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agosink, source: Add hooks for mute changes 62/21962/1
Tanu Kaskinen [Tue, 15 Apr 2014 08:10:24 +0000 (11:10 +0300)]
sink, source: Add hooks for mute changes

Change-Id: I1203c1199fea0e93f1a61391695b12ab8af66180
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agosink-input, source-output: Add hooks for volume changes 61/21961/1
Tanu Kaskinen [Mon, 7 Apr 2014 11:22:43 +0000 (14:22 +0300)]
sink-input, source-output: Add hooks for volume changes

Change-Id: I89c6f2934762caa2c49c70c0446c14d0de58a10e
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agosink, source: Add hooks for volume changes 60/21960/1
Tanu Kaskinen [Sun, 9 Mar 2014 11:36:04 +0000 (13:36 +0200)]
sink, source: Add hooks for volume changes

Change-Id: Id4389a38e601dee3f84d7fad0583a7dc87108e87
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agosolaris, tunnel: Remove some redundant boolean conversions 59/21959/1
Tanu Kaskinen [Mon, 14 Apr 2014 12:34:57 +0000 (15:34 +0300)]
solaris, tunnel: Remove some redundant boolean conversions

Change-Id: Ibc922f8455a3ccb6c71289e70cd474464930643e
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agosink-input, source-output: Remove redundant get_mute() functions 58/21958/1
Tanu Kaskinen [Mon, 14 Apr 2014 12:24:31 +0000 (15:24 +0300)]
sink-input, source-output: Remove redundant get_mute() functions

The functions just return the muted value. Callers can as well read
the struct field directly, it's simpler that way.

Change-Id: I368f7e09cdf522039a6573e5002f7544b4e840d3
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agosink, source: Assign to s->muted from only one place 57/21957/1
Tanu Kaskinen [Mon, 14 Apr 2014 11:52:16 +0000 (14:52 +0300)]
sink, source: Assign to s->muted from only one place

Forcing all mute changes to go through set_mute() makes it easier to
check where the muted field is changed, and it also allows us to have
only one place where notifications for changed mute are sent.

Change-Id: Idb1bd6ef923a165e249d42265ebedc30a6c8fca4
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agosink, source: Call set_mute() from mute_changed() 56/21956/1
Tanu Kaskinen [Tue, 15 Apr 2014 06:39:49 +0000 (09:39 +0300)]
sink, source: Call set_mute() from mute_changed()

This refactoring reduces duplication, as mute_changed() used to do the
same things as set_mute(). Other benefits are improved logging
(set_mute() logs the mute change, mute_changed() used to not do that)
and the soft mute state is kept up to date, because set_mute() sends
the SET_MUTE message to the IO thread.

The set_mute_in_progress flag is an extra precaution for preventing
recursion in case a sink/source implementation's set_mute() callback
causes mute_changed() to be called. Currently there are no such
implementations, but I think that would be a valid thing to do, so
some day there might be such implementation.

Change-Id: I33c81f4034001f777c4533c2c63eada67548c683
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agoecho-cancel: Remove redundant get_mute() callback 55/21955/1
Tanu Kaskinen [Mon, 14 Apr 2014 12:13:08 +0000 (15:13 +0300)]
echo-cancel: Remove redundant get_mute() callback

The callback just called pa_source_output_get_mute(), which doesn't
have any side effects, and the return value wasn't used either, so
the callback was essentially a no-op.

Change-Id: Ic16824b06393f59b55087842da64c7d09035b9e8
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agosink, source: Allow calling set_mute() during initialization 54/21954/1
Tanu Kaskinen [Mon, 14 Apr 2014 11:43:23 +0000 (14:43 +0300)]
sink, source: Allow calling set_mute() during initialization

Currently the alsa sink and source write directly to s->muted during
initialization, but I think it's better to avoid direct writes, and
use the set_mute() function instead, because that makes it easier to
figure out where s->muted is modified. This patch prevents the
set_mute() call from crashing in the state assertion.

Change-Id: I12220fb2668723931bebbe1484f115016f1edf25
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agosink-input, source-output: Add logging to set_mute() 53/21953/1
Tanu Kaskinen [Mon, 14 Apr 2014 11:13:56 +0000 (14:13 +0300)]
sink-input, source-output: Add logging to set_mute()

Change-Id: Ie10aa76cae75c7b6a52ea4a9039b8e3e37a748b2
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agosink, source: Return early from set_mute() 52/21952/1
Tanu Kaskinen [Mon, 14 Apr 2014 11:03:24 +0000 (14:03 +0300)]
sink, source: Return early from set_mute()

This avoids redundant set_mute() callback calls.

Some logging was added too.

Change-Id: I10188c3b43d61fe751abe0f9940015af35c4a137
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agosink-input, source-output: Assign to volume from only one place 51/21951/1
Tanu Kaskinen [Mon, 7 Apr 2014 09:48:15 +0000 (12:48 +0300)]
sink-input, source-output: Assign to volume from only one place

Forcing all volume changes to go through set_volume_direct() makes
it easier to check where the stream volume is changed, and it also
allows us to have only one place where notifications for changed
volume are sent.

Change-Id: Ie61bcc5747b419bb83c19a3ed78fd9f4d8a73cce
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agosink, source: Assign to reference_volume from only one place 50/21950/1
Tanu Kaskinen [Mon, 7 Apr 2014 09:20:58 +0000 (12:20 +0300)]
sink, source: Assign to reference_volume from only one place

Forcing all reference volume changes to go through
set_reference_volume_direct() makes it easier to check where the
reference volume is changed, and it also allows us to have only one
place where notifications for changed reference volume are sent.

Change-Id: I2e769b8a2b0d7031a02446dead8ca2e0c3402751
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agodevice-port: Add pa_device_port.active 49/21949/1
Tanu Kaskinen [Wed, 26 Mar 2014 11:41:42 +0000 (13:41 +0200)]
device-port: Add pa_device_port.active

In the Tizen volume API, I create and delete volume control objects
for ports based on their state (only active ports have volume
controls). Having the pa_device_port.active flag directly accessible
is much nicer than figuring out the state by iterating through sinks
and checking what their active port is. It's also safer to get a
notification for a deactivated port before the port switch is
executed, compared to using the SINK_PORT_CHANGED hook that is fired
only after the port switch is complete.

Change-Id: I3f7f8855721c8dc3a643708a72f6e35341ff7117
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agohashmap: Add pa_hashmap_remove_and_free() 48/21948/1
Tanu Kaskinen [Wed, 26 Mar 2014 11:58:40 +0000 (13:58 +0200)]
hashmap: Add pa_hashmap_remove_and_free()

Change-Id: Ia3530c29cecf8964989aec4f0527fc982e80e34a
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agodynarray: Add pa_dynarray_remove_all() 47/21947/1
Tanu Kaskinen [Wed, 21 May 2014 08:36:19 +0000 (11:36 +0300)]
dynarray: Add pa_dynarray_remove_all()

Change-Id: I35079f8fe4b361221a1bdc1fececbe318bf3ee0e
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agodynarray: Add pa_dynarray_remove_last() 46/21946/1
Tanu Kaskinen [Wed, 21 May 2014 08:32:09 +0000 (11:32 +0300)]
dynarray: Add pa_dynarray_remove_last()

Change-Id: I9098df96aac57a3ee2084061aa174f7ee02b1588
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agodynarray: Add PA_DYNARRAY_FOREACH 45/21945/1
Tanu Kaskinen [Thu, 19 Dec 2013 19:29:50 +0000 (21:29 +0200)]
dynarray: Add PA_DYNARRAY_FOREACH

The PA_DYNARRAY_FOREACH macro requires that pa_dynarray_get() returns
NULL if the index is out of bounds.

Change-Id: If9db312516fbb079e8b67d94d35a44783ab3395a
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agodynarray: Add pa_dynarray_get_raw_array() 44/21944/1
Tanu Kaskinen [Wed, 26 Mar 2014 11:33:31 +0000 (13:33 +0200)]
dynarray: Add pa_dynarray_get_raw_array()

Change-Id: I6e40c2a20586d13c99c9d98059e4dbb1d0e9e562
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agocore-util: Add pa_join() 43/21943/1
Tanu Kaskinen [Wed, 26 Mar 2014 11:15:12 +0000 (13:15 +0200)]
core-util: Add pa_join()

Change-Id: I84ac0ee7a3097fce8ed9bad26b210fc97db9e9a7
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agodirection: Add a couple of direction helper functions 42/21942/1
Tanu Kaskinen [Wed, 26 Mar 2014 08:25:17 +0000 (10:25 +0200)]
direction: Add a couple of direction helper functions

Change-Id: I365acd7ce3e7abcbcb8a532c79016fca558238e8
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agosink-input, source-output: Fix mute saving 41/21941/1
Tanu Kaskinen [Mon, 14 Apr 2014 11:29:48 +0000 (14:29 +0300)]
sink-input, source-output: Fix mute saving

Change-Id: I2298ab51a384c3ddfa33da3e941e03f5027b4d77
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agovolume: Increase PA_SW_VOLUME_SNPRINT_DB_MAX 40/21940/1
Tanu Kaskinen [Sun, 9 Mar 2014 08:50:23 +0000 (10:50 +0200)]
volume: Increase PA_SW_VOLUME_SNPRINT_DB_MAX

10 bytes isn't enough for "-123.45 dB", including the terminating null
byte.

Change-Id: I865060befd01d3dde69556c1f90b7de55350501a
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agopactl: Fix crash with older servers 39/21939/1
Tanu Kaskinen [Sun, 16 Feb 2014 12:30:38 +0000 (14:30 +0200)]
pactl: Fix crash with older servers

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.

Change-Id: Idc258479c077aafaff6254b76acb18034a158107
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years ago.gitignore: Add pulsecore-config.h 38/21938/1
Tanu Kaskinen [Mon, 24 Feb 2014 10:38:31 +0000 (12:38 +0200)]
.gitignore: Add pulsecore-config.h

Change-Id: I8409f1964e65e79669eaeb4930c6d536417a0b05
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agoadded pulseaudio.service file 37/21937/1
Jaska Uimonen [Tue, 11 Jun 2013 14:03:27 +0000 (17:03 +0300)]
added pulseaudio.service file

Change-Id: I8efef41060189f116be49b3455c588d67f045f82
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agoAdd bt_profile_set patch which fixed bt a2dp&hsp profile setting issues in mobile 36/21936/1
vivian,zhang [Wed, 17 Jul 2013 03:17:40 +0000 (11:17 +0800)]
Add bt_profile_set patch which fixed bt a2dp&hsp profile setting issues in mobile

Change-Id: I9bc3649b02ab7ac56584211789a3ea18ff17fbb7
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agoadjust default bluetooth profile to off 35/21935/1
Jaska Uimonen [Wed, 14 Aug 2013 12:00:52 +0000 (15:00 +0300)]
adjust default bluetooth profile to off

Change-Id: I95ca525b0d20c1a864a0c66060767bb4c2160400
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agovolume ramp: add client api support for volume ramping 34/21934/1
Jaska Uimonen [Wed, 8 Aug 2012 08:14:40 +0000 (11:14 +0300)]
volume ramp: add client api support for volume ramping

Change-Id: I6afc7540af68400db54eec258bdf4a80c311bb69
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agofix warning in gconf helper 33/21933/1
Jaska Uimonen [Tue, 11 Mar 2014 10:47:52 +0000 (12:47 +0200)]
fix warning in gconf helper

Change-Id: Id75cd24cfd1c0d62d4c227b6715dc0d9d5ea6b1f
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agofixes and improvements to makefile and configure in - samsung 32/21932/1
Jaska Uimonen [Fri, 7 Mar 2014 15:49:42 +0000 (17:49 +0200)]
fixes and improvements to makefile and configure in - samsung

Change-Id: Ic2338a8382fe45f9d509537950592c9c4aa83606
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agouse udev only for usb devices - samsung 31/21931/1
Jaska Uimonen [Thu, 8 Aug 2013 08:28:39 +0000 (11:28 +0300)]
use udev only for usb devices - samsung

Change-Id: Ia8cd2f5eb5ebe5248af11906c67d572ede133b33
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agocope with possible infinite waiting in startup - samsung 30/21930/1
Jaska Uimonen [Thu, 8 Aug 2013 08:27:44 +0000 (11:27 +0300)]
cope with possible infinite waiting in startup - samsung

Change-Id: Ie7c74131e267f44324f031a953c15f81b0c31a07
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agoset alsa suspend timeout to zero - samsung 29/21929/1
Jaska Uimonen [Thu, 8 Aug 2013 08:24:25 +0000 (11:24 +0300)]
set alsa suspend timeout to zero - samsung

Change-Id: Ie7c93c727d878226189f751efbd6e088ece7f36f
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agocreate pa_ready file - samsung 28/21928/1
Jaska Uimonen [Thu, 8 Aug 2013 08:23:38 +0000 (11:23 +0300)]
create pa_ready file - samsung

Change-Id: I2146599f2e814be064864f8ca76879b761642f11
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agoadd bluetooth a2dp aptx codec support - samsung 27/21927/1
vivian,zhang [Tue, 18 Jun 2013 08:23:45 +0000 (16:23 +0800)]
add bluetooth a2dp aptx codec support - samsung

Change-Id: I2c90198774c1e7d3e2ecb99f2dd365d56308f157
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agoadd policy module - samsung 26/21926/1
vivian,zhang [Tue, 18 Jun 2013 08:21:32 +0000 (16:21 +0800)]
add policy module - samsung

Change-Id: I2111a9c4dc0a371dbea5b347cf77adbe8f930528
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agoadd support for dlog - samsung 25/21925/1
vivian,zhang [Tue, 18 Jun 2013 08:20:04 +0000 (16:20 +0800)]
add support for dlog - samsung

Change-Id: Ieddf2f3bdab50926372e9e2b5cedb2756b6cfd5c
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agoEnhance for echo cancel - samsung 24/21924/1
vivian,zhang [Tue, 18 Jun 2013 08:18:58 +0000 (16:18 +0800)]
Enhance for echo cancel - samsung

Change-Id: Ibd59e7e033d5a6789ddc7d5ef39e23f26dcf55cc
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agoAdd preload fileter for resample - samsung 23/21923/1
vivian,zhang [Tue, 18 Jun 2013 08:12:20 +0000 (16:12 +0800)]
Add preload fileter for resample - samsung

Change-Id: Ia57b4eb1848d53bbfa15c04b25f4821554aff28f
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agoadd support for samsung power management - samsung 22/21922/1
vivian,zhang [Tue, 18 Jun 2013 08:11:16 +0000 (16:11 +0800)]
add support for samsung power management - samsung

Change-Id: Id76a3971e36c08773848fdf1ac1cc9a9200d7330
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agochanges to pa simple api - samsung 21/21921/1
vivian,zhang [Tue, 18 Jun 2013 08:10:15 +0000 (16:10 +0800)]
changes to pa simple api - samsung

Change-Id: I997c02217a8dc14524480164aa0baeea901c7b4e
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agofix for profile change prototype in bluez5 patch 20/21920/1
Jaska Uimonen [Tue, 11 Mar 2014 10:23:09 +0000 (12:23 +0200)]
fix for profile change prototype in bluez5 patch

Change-Id: I2361c4eca82e6ac4a8f94e9f9c97f09cb6648049
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agoincrease alsa rewind safeguard
Jaska Uimonen [Mon, 28 Apr 2014 08:26:15 +0000 (11:26 +0300)]
increase alsa rewind safeguard

In some devices alsa drivers behaves badly
if pulseaudio rewind safeguard is too small.
This is not fixing the driver issues, but is
a workaround to give time (1.33ms->5ms) for
user space processing so that alsa is not
getting into this weird state. This could be
also helped by running pulseaudio in realtime.
This is of course increasing the volume setting
latency, but should leave it still quite
responsive.

Change-Id: Iecdf879bf8ba58e991808d2dc382def05de36ec9
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agoadd parameter to define key used in stream restore.
Jaska Uimonen [Thu, 5 Sep 2013 09:21:19 +0000 (12:21 +0300)]
add parameter to define key used in stream restore.

It is possible now to use preferred_stream_group
command line parameter when loading module stream
restore. This key will be searched from the stream's
proplist and if found it is used as key when
restoring the volumes and other values. There's also
special value media.role.within.appication.name you
can use to enable restoring stream roles within
application. So different streams with different
roles within application will save their volumes.
If the preferred stream group parameter is left out
module stream restore will fallback to old default
functionality.

Change-Id: I636f47b43476f3d4cd6c14244eafcd050683bb69
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agohfp do safe strcmp in dbus handler
Jaska Uimonen [Mon, 30 Dec 2013 16:03:18 +0000 (18:03 +0200)]
hfp do safe strcmp in dbus handler

Change-Id: I4ba64d22b2b807530263b5f274cd89f208c675ac
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agofix ofono and pulseaudio starting order assert
Jaska Uimonen [Thu, 2 Jan 2014 13:37:02 +0000 (15:37 +0200)]
fix ofono and pulseaudio starting order assert

Change-Id: I743c6e1fb5c65cc0702f073d6c2beb4e6868d7bb
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agobluetooth: Set 'off' profile as default for newly create cards
Luiz Augusto von Dentz [Mon, 16 Sep 2013 12:10:51 +0000 (15:10 +0300)]
bluetooth: Set 'off' profile as default for newly create cards

This makes sure that pa_card_new doesn't select one profile based on
priority which may conflict with audio policy.

Change-Id: Ifa5ad111d0c9f58701f93bcfd85b70d1f096efac

10 years agobluetooth: Fixes HFP audio transfer when initiator
Luiz Augusto von Dentz [Fri, 23 Aug 2013 16:44:23 +0000 (19:44 +0300)]
bluetooth: Fixes HFP audio transfer when initiator

This makes sure org.ofono.HandsfreeAudioCard.Connect is called regardless
of the optional flag and also makes sure to update the profile state
whenever SCO is disconnected.

Change-Id: I4400753333f14a2381eb75d5b62d2ea51d1c7139

10 years agobluetooth: Implement transport release for hf_audio_agent transports
Luiz Augusto von Dentz [Fri, 23 Aug 2013 16:19:34 +0000 (19:19 +0300)]
bluetooth: Implement transport release for hf_audio_agent transports

Change-Id: I496b3ab1c2f8e347c41262818ec3b9a35ed7262e

10 years agobluetooth: Suspend sink/source on HFP's stream HUP
João Paulo Rechi Vita [Wed, 27 Mar 2013 04:43:42 +0000 (01:43 -0300)]
bluetooth: Suspend sink/source on HFP's stream HUP

When the Audio Connection is disconnected the sink and source should be
suspended.

Change-Id: Ifedd5e7fe70ee74e509b82270ce84aba762f2412

10 years agobluetooth: Fix not handle fd in DEFER_SETUP state
Luiz Augusto von Dentz [Fri, 23 Aug 2013 09:56:40 +0000 (12:56 +0300)]
bluetooth: Fix not handle fd in DEFER_SETUP state

The fd passed over NewConnection is in DEFER_SETUP and need to be read to
be accept otherwise it wont work.

Change-Id: I2f6df033d3c1602064a39bb40a5bbd60e014c8f7

10 years agobluetooth: Implement org.ofono.HandsfreeAudioAgent.NewConnection()
João Paulo Rechi Vita [Thu, 11 Jul 2013 16:23:31 +0000 (13:23 -0300)]
bluetooth: Implement org.ofono.HandsfreeAudioAgent.NewConnection()

Change-Id: Idaff2e3a96ce83e7ee6f961543273429b044be8e

10 years agobluetooth: Handle CardRemoved signal
João Paulo Rechi Vita [Thu, 11 Jul 2013 15:53:10 +0000 (12:53 -0300)]
bluetooth: Handle CardRemoved signal

Change-Id: I41083b3b5d8a318927dcdb373e871032c3f52748

10 years agobluetooth: Handle CardAdded signal
João Paulo Rechi Vita [Thu, 11 Jul 2013 14:47:37 +0000 (11:47 -0300)]
bluetooth: Handle CardAdded signal

Change-Id: I695b97e26ce369d76503980c73fc3849252b4c91

10 years agobluetooth: Track oFono service
João Paulo Rechi Vita [Thu, 11 Jul 2013 14:43:48 +0000 (11:43 -0300)]
bluetooth: Track oFono service

Change-Id: I6752f21b848757dbea20c92c68b581141cefbc67

10 years agobluetooth: Implement transport acquire for hf_audio_agent transports
João Paulo Rechi Vita [Wed, 10 Jul 2013 01:22:28 +0000 (22:22 -0300)]
bluetooth: Implement transport acquire for hf_audio_agent transports

Change-Id: Ia092e75c51f79d1a594ba6dacda55ec03a5dae93

10 years agobluetooth: Parse HandsfreeAudioCard properties
João Paulo Rechi Vita [Wed, 10 Jul 2013 00:37:26 +0000 (21:37 -0300)]
bluetooth: Parse HandsfreeAudioCard properties

Change-Id: I37600ca3ab60d1b82608f4e395fa427fdaf62164

10 years agobluetooth: List HandsfreeAudioCard objects from oFono
João Paulo Rechi Vita [Wed, 10 Jul 2013 00:03:28 +0000 (21:03 -0300)]
bluetooth: List HandsfreeAudioCard objects from oFono

Change-Id: Idb2423d8b5640486976df5347e2f7d05a9e6dd71

10 years agobluetooth: Register/Unregister Handsfree Audio Agent with oFono
João Paulo Rechi Vita [Tue, 9 Jul 2013 23:59:12 +0000 (20:59 -0300)]
bluetooth: Register/Unregister Handsfree Audio Agent with oFono

Register as a HandsfreeAudioAgent with oFono during backend
initialization and unregiter during backend finalization. This commit
also adds a check when receiving method calls or signals to make sure
the sender matches with the D-Bus service we're registered with.

Change-Id: I0a49935702ffb52d6d2ba1baded8eb568262c5b1

10 years agobluetooth: Create pa_bluetooth_dbus_send_and_add_to_pending() for oFono backend
João Paulo Rechi Vita [Wed, 10 Jul 2013 16:00:16 +0000 (13:00 -0300)]
bluetooth: Create pa_bluetooth_dbus_send_and_add_to_pending() for oFono backend

Change-Id: I9b6ea22d6bd1059e5d7b3a12ec13b2768cacce0d

10 years agobluetooth: Monitor D-Bus signals
João Paulo Rechi Vita [Wed, 10 Jul 2013 15:18:07 +0000 (12:18 -0300)]
bluetooth: Monitor D-Bus signals

Change-Id: Ibfd4ab9acaf49df0fdfaff55609c560ab31f4df4

10 years agobluetooth: Create Handsfree Audio Agent oFono backend
João Paulo Rechi Vita [Tue, 9 Jul 2013 23:22:17 +0000 (20:22 -0300)]
bluetooth: Create Handsfree Audio Agent oFono backend

Change-Id: I2d5793e997205a04b37b9389ab75fc8643adcece

10 years agobluetooth: Create Handsfree Audio Agent NULL backend
João Paulo Rechi Vita [Tue, 9 Jul 2013 22:08:15 +0000 (19:08 -0300)]
bluetooth: Create Handsfree Audio Agent NULL backend

Change-Id: I1f562a336f2cd2d0ab91c25fd5128da3cc7fe6df

10 years agobluetooth: Add basic support for HEADSET profiles
João Paulo Rechi Vita [Wed, 10 Jul 2013 12:45:01 +0000 (09:45 -0300)]
bluetooth: Add basic support for HEADSET profiles

This commit adds basic support for devices implementing HSP Headset
Unit, HSP Audio Gateway, HFP Handsfree Unit, HFP Audio Gateway to the
BlueZ 5 bluetooth audio devices driver module (module-bluez5-device).

Change-Id: I6be5bcf310a327012f382d408a70e7fdc65caab1

10 years agoadd internal corking state for sink-input
Jaska Uimonen [Thu, 7 Mar 2013 11:41:44 +0000 (13:41 +0200)]
add internal corking state for sink-input

Change-Id: Iaa7ef16c798e06c0fdf11097690c6cf49215773d
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agonode-manager: adding node support for pactl
Jaska Uimonen [Wed, 5 Dec 2012 07:53:12 +0000 (09:53 +0200)]
node-manager: adding node support for pactl

Change-Id: Id6badeba2181ef4afa9842307e4c6c60f72c472f
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agonode manager: adding external node manager API
Ismo Puustinen [Wed, 28 May 2014 08:11:56 +0000 (11:11 +0300)]
node manager: adding external node manager API

Change-Id: I4f220f05b9de513a7003b3cea761c3540fa74685
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agomake pa_thread_mq_done() safe for subsequent calls
Janos Kovacs [Thu, 16 Aug 2012 00:47:48 +0000 (03:47 +0300)]
make pa_thread_mq_done() safe for subsequent calls

Change-Id: I71ab9efa72c38a2200a56b7a4d30116767bc104f
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agojack detection fix for wired headset
Jaska Uimonen [Sun, 10 Jun 2012 12:13:11 +0000 (15:13 +0300)]
jack detection fix for wired headset

Change-Id: I53d465bf56adc2e3e5551b43d59ff99b63bc76cc
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agobuild-sys: install files for a module development.
Jaska Uimonen [Tue, 5 Jun 2012 08:36:13 +0000 (11:36 +0300)]
build-sys: install files for a module development.

Change-Id: Ib68b292e1f6bc82bb5c148ef53acf51cc571406e
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agovolume ramp: adding volume ramping to sink-input
Jaska Uimonen [Wed, 8 Aug 2012 08:14:38 +0000 (11:14 +0300)]
volume ramp: adding volume ramping to sink-input

Change-Id: I9376f531f3585c9ba5fb6d1b384589a8d123b292
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agovolume ramp: add volume ramping to sink
Jaska Uimonen [Wed, 8 Aug 2012 08:14:39 +0000 (11:14 +0300)]
volume ramp: add volume ramping to sink

Change-Id: I72bd64b4e4ad161ae0526a7e40d4bf9e843ae98c
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agovolume ramp: additions to the low level infra
Jaska Uimonen [Wed, 8 Aug 2012 08:14:37 +0000 (11:14 +0300)]
volume ramp: additions to the low level infra

Change-Id: Ib2be01e0bea0856ebd0256066981fe34d05a4f86
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
10 years agosuspend-on-idle: Fix monitor source handling upstream/5.0 v5.0
Tanu Kaskinen [Mon, 3 Mar 2014 14:21:21 +0000 (16:21 +0200)]
suspend-on-idle: Fix monitor source handling

Fixes a crash that happened due to calling pa_source_check_suspend()
when d->source was NULL.

10 years agoUpdate NEWS
Tanu Kaskinen [Mon, 3 Mar 2014 13:42:21 +0000 (15:42 +0200)]
Update NEWS

10 years agortp-send: Add "inhibit_auto_suspend" module argument
Tanu Kaskinen [Sun, 23 Feb 2014 17:47:15 +0000 (19:47 +0200)]
rtp-send: Add "inhibit_auto_suspend" module argument

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.

10 years agosuspend-on-idle: Ensure we still time out if a stream remains corked
David Henningsson [Tue, 25 Feb 2014 15:56:49 +0000 (16:56 +0100)]
suspend-on-idle: Ensure we still time out if a stream remains corked

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>
10 years agosink-input/source-output: Fix LFE remixing suddenly enabled
David Henningsson [Fri, 28 Feb 2014 11:16:54 +0000 (12:16 +0100)]
sink-input/source-output: Fix LFE remixing suddenly enabled

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>
10 years agoMake tests compile on FreeBSD
Koop Mast [Sat, 22 Feb 2014 23:56:59 +0000 (00:56 +0100)]
Make tests compile on FreeBSD

cpu_set_t is named cpuset_t on FreeBSD.
Add headers to allow for warning free compilation.

10 years agortp-send: Use _cb suffix with callbacks
Tanu Kaskinen [Sun, 23 Feb 2014 17:41:42 +0000 (19:41 +0200)]
rtp-send: Use _cb suffix with callbacks

10 years agodoc: Assorted spelling and grammar fixes for doxygen output
Peter Meerwald [Thu, 20 Feb 2014 20:41:47 +0000 (21:41 +0100)]
doc: Assorted spelling and grammar fixes for doxygen output

Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
10 years agomodules: Fix uninitialized variable in rtp-send
Peter Meerwald [Fri, 3 Jan 2014 22:52:19 +0000 (23:52 +0100)]
modules: Fix uninitialized variable in rtp-send

Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
10 years agosconv, svolume: Fix compilation on 32-bit FreeBSD
Koop Mast [Thu, 20 Feb 2014 23:21:46 +0000 (00:21 +0100)]
sconv, svolume: Fix compilation on 32-bit FreeBSD

Don't try to compile this code on 32-bit FreeBSD, it will error out complain
about registers only being available in 64-bit mode.

10 years agoRevert "protocol-native: Don't enumerate unlinked sinks and sources"
Arun Raghavan [Mon, 17 Feb 2014 11:02:40 +0000 (16:32 +0530)]
Revert "protocol-native: Don't enumerate unlinked sinks and sources"

This reverts commit bd0bd9143f8159e5475b1295e30ec026ff0b6fef.

10 years agobuild-sys: Bump soname v4.99.4
Arun Raghavan [Sat, 15 Feb 2014 04:34:39 +0000 (10:04 +0530)]
build-sys: Bump soname

Bumping from 0->3 since we missed bumping correctly for v4.99.{1,2,3}

10 years agoprotocol-native: Don't enumerate unlinked sinks and sources
Arun Raghavan [Sun, 8 Dec 2013 22:18:00 +0000 (14:18 -0800)]
protocol-native: Don't enumerate unlinked sinks and sources

This makes sure that there is no window between pa_sink/source_new()
and _put() where enumerating sinks/sources causes an assert (several
calls in sink/source_get_info need a linked sink or source).

10 years agosink-input, source-output: Don't crash if format negotiation fails
Tanu Kaskinen [Wed, 12 Feb 2014 10:41:34 +0000 (12:41 +0200)]
sink-input, source-output: Don't crash if format negotiation fails

A segfault was reported on this line:

pa_return_val_if_fail(PA_SINK_IS_LINKED(pa_sink_get_state(data->sink)), -PA_ERR_BADSTATE);

After expanding the pa_sink_get_state() macro, the line looks like
this:

pa_return_val_if_fail(PA_SINK_IS_LINKED(data->sink->state), -PA_ERR_BADSTATE);

So data->sink was apparently NULL. That could happen if we try to fall
back to the default sink, but format negotiation fails.

This bug was introduced in commit
71816ecb7f81fe7a124cefa2258cfa64046908a1.

BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=74646
10 years agoi18n: Update Polish translation
Piotr Drąg [Tue, 11 Feb 2014 14:18:08 +0000 (15:18 +0100)]
i18n: Update Polish translation

10 years agoman: pulse-cli-syntax: Document the "journal" log target
Tanu Kaskinen [Wed, 12 Feb 2014 12:31:26 +0000 (14:31 +0200)]
man: pulse-cli-syntax: Document the "journal" log target

10 years agodbus: Use correct idxset when getting sources
Juho Hämäläinen [Mon, 10 Feb 2014 10:46:28 +0000 (12:46 +0200)]
dbus: Use correct idxset when getting sources

This fixes get_sources() which iterates wrong idxset when
getting source object paths in GetSources or GetAll.

10 years agoman: improve man page and help for cmdline options
Wim Taymans [Thu, 6 Feb 2014 15:08:50 +0000 (16:08 +0100)]
man: improve man page and help for cmdline options

10 years agosource: Increase max outputs per source
Tanu Kaskinen [Wed, 5 Feb 2014 15:55:44 +0000 (17:55 +0200)]
source: Increase max outputs per source

This change is just for being symmetric with sinks, which got this
change in 26bf2df903b1c7439ad3eef0dc3bb1e777835cc3.

10 years agoprotocol-native: Fix a crash
Tanu Kaskinen [Tue, 4 Feb 2014 19:28:44 +0000 (21:28 +0200)]
protocol-native: Fix a crash

Without this check pa_source_output_set_volume() crashes if
so->volume_writable is false. The same check already exists for sink
inputs.

BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=74529
10 years agothread-win32: Implement pa_thread_free_nojoin()
Tanu Kaskinen [Sun, 26 Jan 2014 17:11:07 +0000 (19:11 +0200)]
thread-win32: Implement pa_thread_free_nojoin()

This fixes a build error with mingw32:

pulsecore/.libs/libpulsecommon_4.99_la-lock-autospawn.o: In function `unref':
/home/abuild/rpmbuild/BUILD/pulseaudio-4.99.2/src/pulsecore/lock-autospawn.c:123: undefined reference to `pa_thread_free_nojoin'
collect2: error: ld returned 1 exit status

pa_thread_free_nojoin() was initially only implemented for the pthread
based pa_thread backend, because it was incorrectly assumed that
autospawning (the only user of pa_thread_free_nojoin()) is not used on
Windows.

Reported-By: Michael DePaulo <mikedep333@gmail.com>