Sangchul Lee [Fri, 19 Jun 2015 08:09:32 +0000 (17:09 +0900)]
Modify module-policy (including stream-manager.c/device-manager/hal-manager/communicator)
Apply initial volume level when initializing volume map
Rename APIs in device-manager.c
Add hal-manager APIs
Revise codes in stream-manager-volume.c
Ready for route option feature
Remove update_volume feature that is called when active device is changed in sound_server
Prepare interface for device information changed callback (communicator.c/device-manager.c/module-policy.c)
Change default booting sound
[Version] 0.5-9
[Profile] Common
[Issue Type] code refactorying
Change-Id: Iebf7e70c501be01b45888b217c60685d9094ecb6
Sangchul Lee [Wed, 15 Apr 2015 06:09:26 +0000 (15:09 +0900)]
1.Add hal-manager.c 2.Move and reorganize volume feature (move to stream-manager-volume.c)
[Version] 0.5-8
[Profile] Common
[Issue Type] code refactorying
Change-Id: Ic88589216154b54092d18262a92a5c619cca61f3
Seonmi Jin [Tue, 14 Apr 2015 15:45:34 +0000 (00:45 +0900)]
Module-policy: Fix to get sample format in sink_input_new_hook_callback()
Sample format is used in _add_hal_buffer_attr_by_latency()
Stream: Fixed default tlength from 250ms to 350ms
[Version] 0.5-7
[Profile] Common
[Issue Type] bug fix
Change-Id: Iae70823f8035f2c1e0f831ccd74a46df3d4e331c
Signed-off-by: Seonmi Jin <seonmi.jin@samsung.com>
Jeongho Mok [Wed, 25 Feb 2015 13:26:08 +0000 (22:26 +0900)]
Add device manager, on disabled status
Gather module-policy related files into tizen directory
[Version] 0.5-6
[Profile] Common
[Issue Type] add feature
Change-Id: Ied3a013fe665bbe5175cb8dda2996950da922b52
Signed-off-by: Jeongho Mok <jho.mok@samsung.com>
Sangchul Lee [Fri, 3 Apr 2015 08:36:36 +0000 (17:36 +0900)]
Add dbus methods to set devices for manual routing and to set routing options in stream-manager
Replace pa_idxset_iterate() to PA_IDXSET_FOREACH()
[Version] 0.5-5
[Profile] Common
[Issue Type] add feature
Change-Id: I600359b93f6e38fad8c986e5e7c8a047f71e6d84
youngseok7.lee [Mon, 6 Apr 2015 09:16:47 +0000 (18:16 +0900)]
Apply ASLR
[Version] 0.5-4
[Profile] Common
[Issue Type] build option
Change-Id: I7befe4300465b670b49a510c1848651350bfe7e2
Seungbae Shin [Thu, 2 Apr 2015 09:42:51 +0000 (18:42 +0900)]
policy: Remove unused USE_DBUS_PROTOCOL feature
[Version] 0.5-3
[Profile] Common
[Issue Type] code clean
Remove unused USE_DBUS_PROTOCOL feature
Update code for property changed signal
Change-Id: I2dd2819737753af1e934566cbc4d5ba438779104
Jeongho Mok [Mon, 26 Jan 2015 01:43:19 +0000 (10:43 +0900)]
policy: Add Dbus Interface
[Version] 0.5.2
[Profile] Common
[Issue Type] Add feature
Change-Id: Iae3ae0f0cab59409c1afe3b6ff7e834ab0e27047
Signed-off-by: Jeongho Mok <jho.mok@samsung.com>
Heechul Jeon [Wed, 24 Jun 2015 08:15:28 +0000 (01:15 -0700)]
Merge "policy: Add stream-manager.c and communicater.c" into tizen
Sangchul Lee [Fri, 12 Jun 2015 06:54:56 +0000 (15:54 +0900)]
policy: Add stream-manager.c and communicater.c
Add stream-map parsing logic to stream-manager.c
Add initial codes for matching up each sink-input/source-output and it's clients to stream-manager.c
Support dbus methods for getting stream list and stream information per type to stream-manager.c
Manage streams made by pa_scache, virtual-stream from sound-manager
[Version] 0.5.1
[Profile] Common
[Issue Type] Add feature
Change-Id: Ia66f42960c3f260e046f211cef097d026cf67694
Seonmi Jin [Tue, 3 Mar 2015 05:20:11 +0000 (14:20 +0900)]
tizenaudio-sink: Modified the function to set sample_spec
Change-Id: I21b100d761a04df9c124e1b0dc6915b0cc9b10da
Signed-off-by: Seonmi Jin <seonmi.jin@samsung.com>
Sangchul Lee [Mon, 2 Mar 2015 14:01:52 +0000 (23:01 +0900)]
Add module-sound-player for playing sound file and sound sample
Change-Id: I2d553cae4881c12c43bac6c94baaa3c58078fcae
Seonmi Jin [Mon, 2 Mar 2015 06:08:19 +0000 (15:08 +0900)]
tizenaudio-sink: Moved it to the tizen directory
Change-Id: Ieaf760021c6fc673c19670233ca6943d976ff8e0
Signed-off-by: Seonmi Jin <seonmi.jin@samsung.com>
Sun Young Jeong [Wed, 25 Feb 2015 12:21:32 +0000 (21:21 +0900)]
Refactoring Audio-HAL
Adjust latency using audio-hal
Change-Id: Iaaf30b959b06b117fd1a24a2f602cf28eba429e4
Signed-off-by: Sun Young Jeong <sy7787.jeong@samsung.com>
Seonmi Jin [Tue, 10 Feb 2015 08:57:13 +0000 (17:57 +0900)]
pulse: add to module-tizenaudio-sink
Change-Id: Id13ebd31770ddc0434120199288b6ba814cd8a7b
Signed-off-by: Seonmi Jin <seonmi.jin@samsung.com>
Seungbae Shin [Fri, 12 Jun 2015 08:28:18 +0000 (17:28 +0900)]
[systemd][fix] install service files to system directory for auto-launching on boot
Change-Id: Ib5913a8ea94a5390cd5b18cf9e71a6a40e562860
Seungbae Shin [Wed, 27 May 2015 13:07:25 +0000 (22:07 +0900)]
[systemd] install service files to system directory for auto-launching on boot
Change-Id: I255900c3c5dc50992304b9e1541573795dfccf35
Seungbae Shin [Tue, 12 May 2015 13:41:00 +0000 (22:41 +0900)]
Fix udev rules file install location for 64bit
Change-Id: I49897b1bccd9b0b25903b49e7bb82b0562dfe182
Heechul Jeon [Mon, 27 Apr 2015 07:49:52 +0000 (00:49 -0700)]
Merge "1. Added commands in ext-policy for other application (like sound manager). 2. Add pa_context_set_default_sink_for_usb() for usb sink selection. 3. Add new API pa_context_set_default_sink_by_api_bus for sound server pactl. 4. Sync code from tizen_2.3." into tizen
Deepak Srivastava [Thu, 16 Apr 2015 04:20:35 +0000 (09:50 +0530)]
Enabled pcm dump feature
Change-Id: I4292add289777169c317b9667ed3fa63c98ae81e
Deepak Srivastava [Fri, 24 Apr 2015 05:51:47 +0000 (11:21 +0530)]
1. Added commands in ext-policy for other application (like sound manager).
2. Add pa_context_set_default_sink_for_usb() for usb sink selection.
3. Add new API pa_context_set_default_sink_by_api_bus for sound server pactl.
4. Sync code from tizen_2.3.
Change-Id: Ie26a3989c2a4829c52af8580944313a4db0fadc2
Manish Sogi [Mon, 20 Apr 2015 12:02:57 +0000 (17:32 +0530)]
Enabled TIZEN specific bluetooth changes
Change-Id: I135172f01a84f05bbfc22d5e52a5a9bfdb590946
Ruchika Saxena [Thu, 26 Mar 2015 11:43:34 +0000 (17:13 +0530)]
Integrating audio_interface_t struct and VOIP changes
Change-Id: I6f49cb5b7b35832b37e842b877748fe31d9870d3
Jaska Uimonen [Fri, 12 Dec 2014 06:22:21 +0000 (08:22 +0200)]
release: updated changelog
Change-Id: I3a743a2de07722c0ae20f473136cfb24fefabbd2
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
Ismo Puustinen [Wed, 10 Dec 2014 11:08:51 +0000 (13:08 +0200)]
config: do not change digital controls from analog path config.
When the default ALSA analog path configuration is loaded, it disables
digital IEC958 mixer controls. This should not be needed, since digital outputs
are handled from a different sink. Therefore remove the configuration that
touches the controls.
Change-Id: Ia7b049d55bcece26eae8e2b9f2c5b3f2df66bbd6
Ronan Le Martret [Tue, 2 Dec 2014 08:54:59 +0000 (09:54 +0100)]
remove bashisme
- build Tizen on yocto project
Change-Id: I01c49db28f516cf2cc4a25cf9abd5ee2f3489d68
Signed-off-by: Ronan Le Martret <ronan@fridu.net>
Tanu Kaskinen [Tue, 30 Sep 2014 09:29:06 +0000 (12:29 +0300)]
volume-api: Fix strict-aliasing warnings
It's apparently not safe to reinterpret the memory stored in double
variables as uint64_t, so let's use memcpy().
Change-Id: If6474f2d047c92d9dd7607ed5692ccd08f78b5f3
Tanu Kaskinen [Fri, 28 Nov 2014 08:55:30 +0000 (10:55 +0200)]
inidb: Avoid calling fclose() twice
f needs to be set to NULL after calling fclose(), otherwise fclose
will be called again in the "fail" section if the first call fails,
which results in undefined behaviour (a crash has been observed[1]).
[1] https://lists.tizen.org/pipermail/ivi/2014-November/003693.html
Change-Id: Iaa1539a379b8be31b62834f49240d17fdf45c893
Tanu Kaskinen [Wed, 29 Oct 2014 20:20:01 +0000 (22:20 +0200)]
packaging: Add the pulseaudio-cascaded-setup package
Change-Id: I1a1504ac2496af127557c5d45f64fef4c284cdc6
Tanu Kaskinen [Wed, 1 Oct 2014 10:27:25 +0000 (13:27 +0300)]
Add systemd service and socket files for the system mode
Change-Id: If3783b3a86108dd968911613f5f63693cb5161c6
Tanu Kaskinen [Thu, 23 Oct 2014 10:27:54 +0000 (13:27 +0300)]
Add configuration for the "cascaded setup"
If cascaded.pa is installed, then hardware should be managed by the
system instance, and user instances should use the hardware via the
system instance.
Change-Id: I6879bbcb50e131941c75b8c91a11e098d07428e5
Tanu Kaskinen [Wed, 12 Nov 2014 13:22:03 +0000 (15:22 +0200)]
systemd: Disable TCP socket activation for user instances
The TCP port can be listened by only one process, so if the system
instance listens it, then user instances can't listen. Or if there
are multiple users, only one can listen.
Since systemd uses an "all or nothing" approach, the unix socket
activation doesn't work either when the TCP socket fails. It's not
terribly important to have TCP socket activation (at least at this
point), so let's just drop it from user instances.
Change-Id: I6258ee9c7a5ae7de4dcee209440de2df7a779e1d
Tanu Kaskinen [Thu, 30 Oct 2014 10:24:33 +0000 (12:24 +0200)]
packaging: Install the tunnel-manager and logind files
Change-Id: I0502677165496449db85569f985de1a317f781b1
Tanu Kaskinen [Wed, 3 Dec 2014 12:39:52 +0000 (14:39 +0200)]
tunnel-manager: Implement a policy that enables tunnels based on the device seat
Change-Id: Ib4dd17936ff0f18f8cbf9b3e723a183a73f354af
Tanu Kaskinen [Thu, 4 Dec 2014 10:46:05 +0000 (12:46 +0200)]
udev: Store the seat id in device proplists
When using PulseAudio in system mode, it may be interesting to know
which seats the devices are assigned to. This will be used in the
tunnel manager to filter out the devices that belong to other users.
Change-Id: Iad81513430d448bd5974e5b021293ed0976f426d
Tanu Kaskinen [Wed, 3 Dec 2014 13:20:19 +0000 (15:20 +0200)]
logind: Add seat tracking
This will be used by the tunnel manager to filter out devices in the
system instance that belong to some other user.
Change-Id: Ib1ba098014a485fef320a6ce4bc034973b607e9c
Tanu Kaskinen [Tue, 2 Dec 2014 19:48:37 +0000 (21:48 +0200)]
logind: Move the code that interfaces with logind to liblogind.so
This doesn't change the behaviour in any important way. The purpose of
this move is to provide access to logind from multiple modules without
needing to use the logind API from more than one place. Currently
there's only one module using liblogind.so, but module-tunnel-manager
will need seat tracking, so that will be another module that needs to
access logind.
Change-Id: I352193fef0d0b0601ea509af501af395786c6cf9
Tanu Kaskinen [Wed, 3 Dec 2014 12:05:44 +0000 (14:05 +0200)]
tunnel-manager: Make the tunnel enabling policy configurable
There's no real configurability yet, because only one condition is
supported. Support for more conditions will be added later.
The syntax of the configuration option pretends to conform to some
programming language, but there's no real parser for the language.
A proper parser may be implemented later, but for now the option
values are parsed simply by comparing to a list of predefined string
constants.
Change-Id: I57bbb0cd2b91691415be78f9732aef6b3bebde56
Tanu Kaskinen [Thu, 27 Nov 2014 10:30:35 +0000 (12:30 +0200)]
tunnel-manager: Load tunnel sinks and sources
This makes the tunnel manager load tunnel sinks and sources for all
devices in the remote servers, except for monitor sources.
Change-Id: Ie3793dfc8a500b2ae7ec6b2b0a82e49793361f91
Tanu Kaskinen [Thu, 27 Nov 2014 12:57:10 +0000 (14:57 +0200)]
tunnel-new: Read parameters from tunnel manager when available
This prepares for loading tunnel sink and source module instances from
the tunnel manager.
If the tunnel manager is available, and the tunnel manager has
sample spec and channel map information for the device, then let's use
that information when creating the sink or source so that the tunnel
will automatically match the parameters of the remote device. The
remote device's proplist is copied to the tunnel too.
Change-Id: I2755d6fc984d9014bc039924dd1d51ea5689c22c
Tanu Kaskinen [Fri, 3 Oct 2014 04:20:11 +0000 (07:20 +0300)]
tunnel-manager: New module for managing tunnels to remote servers
The initial use case for this module is to connect user PulseAudio
instances to the system instance via tunnel sinks and sources. This
is the so called "cascaded setup". The point of doing that is to allow
multiple users to access the same hardware simultaneously.
The module connects to zero or more remote servers and builds an
internal representation of all sinks and sources in those servers.
Currently the module doesn't actually load any tunnel sinks or
sources, because the tunnel sink and source code have to be first
modified a bit (the next patch does that).
The remote servers are configured in a separate configuration file
that is named tunnel-manager.conf. Currently only the server address
can be configured, but I expect more configuration options to be
implement in the future, such as options for defining the policy of
which remote devices to use. Here's an example of the configuration
file syntax:
[RemoteServer foo]
address = /run/pulse/native
[RemoteServer bar]
address = example.com
The bulk of the functionality is not in module-tunnel-manager.so, but
in libtunnel-manager.so, which will be used also by the tunnel sink
and source modules to access the information that the tunnel manager
has previously queried from the remote server.
Change-Id: I3d41936451572b6341cfb9717e07b355d8449490
Tanu Kaskinen [Thu, 4 Dec 2014 13:51:26 +0000 (15:51 +0200)]
device-type: Add pa_device_type_to_string()
This is needed by the tunnel manager. It feels a bit silly to
introduce new source files for just this function, but I couldn't
think of any other appropriate place. pa_device_type_t is defined
in pulse/def.h, and that's not an appropriate place for any
functions.
Change-Id: I6f969fe3acb934e8bb8fdfa5873a4d6d3fa6721c
Tanu Kaskinen [Wed, 12 Nov 2014 09:42:55 +0000 (11:42 +0200)]
module: Add PA_CORE_HOOK_MODULE_UNLOAD
Change-Id: I20a6bdd2f367a332554d86219de0ea22e08d82d9
Tanu Kaskinen [Fri, 3 Oct 2014 04:42:21 +0000 (07:42 +0300)]
tunnel-sink-new: Fix requested latency check
This fixes a bug in latency configuration. The wrong type in the cast
caused UINT64_MAX being not treated as special, so the configured
latency was set to UINT64_MAX usecs, which of course is absurdly huge
latency.
Change-Id: Iec239e7970944ed920837580a09bfe76a2ae2bfd
Tanu Kaskinen [Fri, 3 Oct 2014 04:38:55 +0000 (07:38 +0300)]
tunnel-sink-new: Limit the maximum latency to 200 ms
The default maximum latency is 10 seconds, which is not good,
especially since the tunnel sink doesn't support rewinding. Due to the
lack of rewinding, e.g. volume changes take a long time with large
latencies.
Change-Id: I13753d30a17598ebc9e6a3eda3db4096ff6fcf4e
Tanu Kaskinen [Wed, 12 Nov 2014 08:53:15 +0000 (10:53 +0200)]
build-sys: Fix a variable value check
Change-Id: Ie39c9c335baf70d5a6c40fa4b6845ff78e2812ec
Jaska Uimonen [Fri, 24 Oct 2014 06:39:01 +0000 (09:39 +0300)]
release: updated changelog
Change-Id: Ia12c7675382e3f8852549508bd62d5410d429be1
Jaska Uimonen [Mon, 27 Oct 2014 12:42:22 +0000 (14:42 +0200)]
Disable loading of protocol esound module
There seems to be nobody in tizen using esound
so we might as well disable the loading of the
corresponding pulseaudio protocol. If this is
later on enabled the socket should be also added
to pulseaudio.socket if the socket activation
is wanted also for esound.
Change-Id: Ieec337d3d36c8fc94aff7678b4657ffc656c1e73
Jaska Uimonen [Thu, 23 Oct 2014 06:50:21 +0000 (09:50 +0300)]
add systemd socket activation files to spec
Change-Id: Ia7341844fc0be2f9449e306470b05a3653c3eee9
Jaska Uimonen [Fri, 31 Oct 2014 09:39:50 +0000 (11:39 +0200)]
add tcp ipv4 local port to default.pa
Change-Id: I226cad5552c6331b90269bba751ef01e942a05da
Jaska Uimonen [Wed, 5 Nov 2014 11:53:28 +0000 (13:53 +0200)]
add ipv4 socket to pulseaudio.socket
Change-Id: I68867a475ba6892d1ca3c24e985687219e807a92
Jaska Uimonen [Wed, 5 Nov 2014 11:50:43 +0000 (13:50 +0200)]
socket-server: add tcp support for systemd socket activation
Change-Id: I181d2f34f925349069c802b6f68e1a0bdbe0b7f0
Colin Guthrie [Sat, 18 Oct 2014 17:33:59 +0000 (19:33 +0200)]
build-sys: Minor cosmetic tidyup of configure summary
Change-Id: I8a3e17d35ab7c9b2570b866e8cb09ebbc2c2c86b
Colin Guthrie [Fri, 17 Oct 2014 13:37:33 +0000 (15:37 +0200)]
launch: Disable autospawn by default when systemd daemon support is enabled.
When enabled, this method is prefered over pulseaudio's built in
systems so we should try our best to ensure that it cannot be spawned
outside of the mechanisms desired.
Packagers should call 'systemctl --global enable pulseaudio.socket' to
enable the socket for all users, or alternatively ship an enabling
symlink in /usr/lib/systemd/user/sockets.target.wants/ folder. It may
also make sense for distributions to add in a ConditionNNN= line to the
socket unit if they have a downstream mechanism for enabling or
disabling pulseaudio.
If individual users wish to opt out of this vendor (or administrator)
decision, they can call 'systemctl --user mask pulseaudio.socket'
Change-Id: Ieb1a0080aa5287212808d55000f54a079913808c
Colin Guthrie [Fri, 17 Oct 2014 13:10:14 +0000 (15:10 +0200)]
launch: Add systemd units for launching pulseaudio user instances
Change-Id: I7d2b504afe055927b69e454d0f9d32d581ca2e1b
Colin Guthrie [Fri, 17 Oct 2014 12:43:18 +0000 (14:43 +0200)]
launch: Avoid specifically starting PA and rely on autospawn/socket activation
This --start is patched out in several downstreams to allow users to easily
disable PA by simply disabling autospawn.
If autospawn is enabled, then the first pactl command will start it and if not
it will fail and the script will exit.
When switching to systemd socket activation, we very much do not want to
start PA manually here. We could replace it with a
systemctl --user start pulseaudio
but really it just makes sense to rely on the socket activation as this
should apply equally to non-systemd setups which use PA's own autospawn.
Change-Id: Ie730dacd598453f0bd3493cb3df3467a805a7a8b
Colin Guthrie [Thu, 16 Oct 2014 09:05:19 +0000 (10:05 +0100)]
socket-server: Add support for systemd socket activation.
This adds support to module-native-protocol-unix to take over already
listening sockets passed in via socket activation (e.g. from systemd)
Most of the code is isolated to socket-server but some cleanup code also
had to be tweaked to ensure we do not overzealously close open fds.
Change-Id: I07eb04fe3c51626ee801566cd376062406f418b9
Colin Guthrie [Fri, 17 Oct 2014 11:51:25 +0000 (13:51 +0200)]
build-sys: Add support for newer systemd without compatibility libs
In newer versions of systemd some libraries were combined for the sake of
general simplicity.
This change checks against the newer name first and avoids separate pkgconfig
checks if it's found. We probably want to keep support for the older library
names for some time. systemd does allow for the shipping of compatibility
pkgconfig files to not break downstream code like ourselves which is why this
likely hasn't been "fixed" until now.
With this change we no longer rely on systemd having been built with those
compatibility pkgconfig files.
Change-Id: Ibdbd0b01968b74237a4e2110759000f9eb705122
Colin Guthrie [Fri, 17 Oct 2014 11:32:03 +0000 (13:32 +0200)]
build-sys: Clarify some systemd sub-component variable/define names.
We currently use the term SYSTEMD when referring to libsystemd-login
and JOURNAL when referring to libsystemd-journal.
I will be shortly adding support for libsystemd-daemon and in
preparation I figured it would be a good idea to clarify the names
used currently before adding another!
Change-Id: I1e513087eedce4371c2c0a992faa0281ecf0fa6a
Colin Guthrie [Fri, 17 Oct 2014 11:09:14 +0000 (13:09 +0200)]
man: Fix XDG_RUNTIME_DIR variable reference.
Change-Id: I92785b104a1f42943884dfc7f51998c8cba65290
Tanu Kaskinen [Mon, 3 Nov 2014 09:23:25 +0000 (11:23 +0200)]
socket-server: Improve readability
Change-Id: Ia323ade04dc7a793e47d3d2c8f167812bae1aea3
Jaska Uimonen [Mon, 13 Oct 2014 10:38:01 +0000 (13:38 +0300)]
Remove msbc support from bluetooth ofono backend.
This fixes TC-162.
Change-Id: I1695d82f6841119ad6e80ba17ebec8408825b4a2
Bug-Tizen: TC-162
Jaska Uimonen [Fri, 10 Oct 2014 12:59:55 +0000 (15:59 +0300)]
release: updated changelog
Change-Id: I29476fad2c858e5ab4dc8ff979bba90843a544bb
Jaska Uimonen [Fri, 10 Oct 2014 12:48:10 +0000 (05:48 -0700)]
Merge "Fixed TC-1588. Added libcap-tools requirement" into tizen
Kévin THIERRY [Tue, 7 Oct 2014 13:23:12 +0000 (15:23 +0200)]
Packaging: clean spec file
* Use rpm macros where possible.
* Do not use "%configure" since configure is already done by
bootstrap.sh.
* Remove "description-shorter-than-summary" rpmlint warnings.
Change-Id: Ic2f20c5d231f903d19575f5ef2177e64627a3b7c
Signed-off-by: Kévin THIERRY <kevin.thierry@open.eurogiciel.org>
John L. Whiteman [Thu, 9 Oct 2014 22:28:56 +0000 (15:28 -0700)]
Fixed TC-1588. Added libcap-tools requirement
Change-Id: Ibafe33a40f0509e2cb0b03c2b4c12649336ae603
Signed-off-by: John L. Whiteman <john.l.whiteman@intel.com>
Jaska Uimonen [Mon, 29 Sep 2014 07:38:43 +0000 (10:38 +0300)]
release: updated changelog
Change-Id: Id1602c0f5589d630e8ad4a2fa73be2c0a2795e6a
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
Tanu Kaskinen [Thu, 4 Sep 2014 08:39:30 +0000 (11:39 +0300)]
protocol-stub: Don't query FQDN when loading module-native-protocol-tcp
This works around the issue that in some environments it takes 10
seconds to start PulseAudio, because the network is not responding to
our FQDN queries.
A side effect of this is that we don't register the server address in
the native protocol, so things that use the address registry don't
work. Currently this affects module-zeroconf-publish and
module-bonjour-publish. The assumption is that Tizen doesn't need
either of those.
This patch is not upstreamable. To get rid of this patch, someone
needs to fix https://bugs.freedesktop.org/show_bug.cgi?id=81802
Change-Id: I38a2e2676bd4ea3fe8c54a4c0f712fa7c3c5e115
Jaska Uimonen [Thu, 28 Aug 2014 09:49:48 +0000 (12:49 +0300)]
release: updated changelog
Change-Id: I9ce5b4c2d9c7d2c8b46b067af7a60ef4ac658bff
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
Jaska Uimonen [Thu, 14 Aug 2014 08:01:28 +0000 (11:01 +0300)]
set realtime prio from a package
Change-Id: Ifdba5072d251b630cf63751068162b7e3d1b284f
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
Tanu Kaskinen [Tue, 17 Jun 2014 16:45:45 +0000 (19:45 +0300)]
audio-groups, main-volume-policy, volume-api: Various fixes
Sorry, this is a huge unreviewable commit. Contained improvements
include at least:
* Flat volumes are now handled properly. Previously, audio groups
controlled the absolute volume of streams if flat volume was in
effect, which made no sense.
* Audio group volumes are now persistent.
* Audio group volumes are applied to new streams before the streams
start to play, instead of after, which could cause audible
glitches.
* When a stream volume is changed by the user, the volume is
propagated to the stream's audio group.
* Fixed the handling of the "NEG" keyword in the match syntax in
module-audio-groups. Previously the "NEG" keyword was parsed, but
it had no effect.
Change-Id: I02bad3d23b3e562c71dbc6af6f3e308089893751
Tanu Kaskinen [Tue, 5 Aug 2014 09:01:54 +0000 (12:01 +0300)]
sink-input, source-output: Add the real object pointer to new_data
module-volume-api needs the pointer already in the FIXATE hook, where
it creates the volume control objects. The pointer is needed, because
otherwise there's no way to correlate the created controls with the
sink inputs and source outputs.
Since the object is created early, pa_sink_input_new() and
pa_source_output_new() need to free it in case of failure, so a bunch
of direct returns were replaced with "goto fails".
Since the object may now be unlinked in a completely uninitialized
state, I reviewed the unlinking code, and made sure that unlinking is
performed only once (the "unlinked" flag was needed for this).
Change-Id: I89bee3fb51c54d270ccf856750c5b577babc7905
Tanu Kaskinen [Mon, 4 Aug 2014 18:42:45 +0000 (21:42 +0300)]
sink-input, source-output: Use new_data.volume only for absolute volume
This simplifies life for modules that care about the initial volume of
streams. new_data.volume will always be the absolute volume (assuming
that flat volume is in effect) and new_data.reference_ratio will
always be the relative volume.
This will be especially useful when creating volume controls (absolute
and relative) for new streams in module-volume-api.
Change-Id: Ibca033c8441dde35a0b43d9276c41e383c675306
Tanu Kaskinen [Mon, 4 Aug 2014 18:26:17 +0000 (21:26 +0300)]
sink-input, source-output: Add hooks for reference ratio changes
Needed for implementing relative volume controls for streams in
module-volume-api. The plan is to create those controls in the core,
though, and these hooks won't be needed at that point any more.
Change-Id: Id30f38f4adfa9ede7bd0b12b484fe329ca1a3991
Tanu Kaskinen [Mon, 4 Aug 2014 17:57:55 +0000 (20:57 +0300)]
sink-input, source-output: Assign to reference_ratio from a single place
This makes it easy to log a message every time the reference ratio
changes. I also need to add a hook for reference ratio changes, but
that need will go away if the stream relative volume controls will be
created by the core in the future.
Change-Id: I2344ba7825f76cd72241599bd138b21e16555e01
Tanu Kaskinen [Mon, 4 Aug 2014 17:31:00 +0000 (20:31 +0300)]
core-util: Add pa_boolean_to_string()
I need to save booleans in a plain text database, and the existing
pa_yes_no() is not good, because it will do translation in the next
PulseAudio release.
Change-Id: I85f12da01aa0eb3d5c555350bd14ba337fbcc25b
Tanu Kaskinen [Mon, 4 Aug 2014 13:00:01 +0000 (16:00 +0300)]
role-ducking: Handle unlinking of uninitialized streams gracefully
There should be no assumptions about what has been initialized when
the unlink hook is fired.
Change-Id: Id3c069093894bf508fbc0be75db046ff875ce965
Tanu Kaskinen [Mon, 4 Aug 2014 12:59:06 +0000 (15:59 +0300)]
role-cork: Handle unlinking of uninitialized streams gracefully
There should be no assumptions about what has been initialized when
the unlink hook is fired.
Change-Id: I4ea4372570e7a0a83c31caab6e2e6781a98cd3ad
Tanu Kaskinen [Mon, 4 Aug 2014 12:33:01 +0000 (15:33 +0300)]
alsa: Handle unlinking of uninitialized streams gracefully
There should be no assumptions about what has been initialized when
the unlink hook is fired.
Change-Id: I7502f0e7a3d244413dd806bc8657014999c9b9b3
Tanu Kaskinen [Tue, 17 Jun 2014 16:35:21 +0000 (19:35 +0300)]
core: Create the config home directory on startup
This avoids the need to check for the existence of the config home
directory every time some file needs to be opened from that directory.
Change-Id: I449c61aa46eaea3f8c7eb0aa040310db58421828
Tanu Kaskinen [Sun, 8 Jun 2014 13:33:00 +0000 (16:33 +0300)]
core-util: Add pa_append_to_config_home_dir()
Change-Id: Ib4e6a096a740a61188220a983f26ecea434f6200
Tanu Kaskinen [Sun, 8 Jun 2014 13:32:59 +0000 (16:32 +0300)]
core-util: Add pa_get_config_home_dir()
Change-Id: I6aa3df386a7414563b03435683bad2596cf60b8b
Tanu Kaskinen [Sun, 8 Jun 2014 13:32:57 +0000 (16:32 +0300)]
core-util: Add pa_append_to_home_dir()
Change-Id: I746d2efb5f205820480b0cbd11c23cff11367656
Ismo Puustinen [Tue, 27 May 2014 07:27:16 +0000 (10:27 +0300)]
audio-groups: fix issues found by static analysis.
Change-Id: Ia2805a5977868b236bd6a33e7bc8fdcb944020ea
Tanu Kaskinen [Tue, 27 May 2014 08:06:10 +0000 (11:06 +0300)]
main-volume-policy: Fix a memory leak
There can be multiple calls to pa_binding_target_info_new() in this
function, but only the last allocated info object was freed.
Change-Id: I9df43f0663b27b07ba7b8d01bc8ea9cc0a6c1b51
Tanu Kaskinen [Tue, 27 May 2014 07:45:04 +0000 (10:45 +0300)]
device-creator, stream-creator: Add a couple of assertions
Klocwork complained that source (in device-creator) and output (in
stream-creator) may be dereferenced if they're NULL. Let's make
Klocwork happy, and the code a bit more obvious to human readers as
well.
Change-Id: I835dd7d9da44e2866a97bc0424001a42c29602a8
Ismo Puustinen [Mon, 26 May 2014 11:37:48 +0000 (14:37 +0300)]
configuration: x-example -> x-tizen-ivi in volume configuration.
Change-Id: I1c11084d6891e431dd909c632e4bfb62968167df
Tanu Kaskinen [Mon, 26 May 2014 13:26:14 +0000 (16:26 +0300)]
pactl: Fix crash in "pactl list"
Fixes this assertion error:
Assertion 'actions > 0' failed at utils/pactl.c:172, function complete_action(). Aborting.
Change-Id: Icdcdf0817af431115444cb4fdef0a042fe5d7560
Jaska Uimonen [Fri, 7 Mar 2014 15:22:37 +0000 (17:22 +0200)]
release: updated changelog
Change-Id: I74897ff4279cafe9c466df5253a1dc2fe5de7b6d
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
Jaska Uimonen [Thu, 18 Jul 2013 10:43:14 +0000 (18:43 +0800)]
configuration: pulseaudio tizen configuration in default.pa
Change-Id: Id9370a1858d5c1ba0ed3319d717bc7f3e9ed5d31
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
Jaska Uimonen [Tue, 11 Jun 2013 14:17:16 +0000 (17:17 +0300)]
packaging: added packaging for gerrit.
Change-Id: I9cf677e15311085610c42788fe3d9ac5b44dbfe9
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
David Henningsson [Fri, 21 Mar 2014 09:19:19 +0000 (10:19 +0100)]
sink/source: Initialize port before fixate hook (fixes volume/mute not saved)
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.
Change-Id: Iea6a742f0667771712059cb39b8082785b2a6887
BugLink: https://bugs.launchpad.net/bugs/1289515
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Tanu Kaskinen [Thu, 22 May 2014 11:43:33 +0000 (14:43 +0300)]
configuration: Add default IVI audio group and main volume configuration
Change-Id: Idd348cc9f469e988405d574dbc2459c5822a33c2
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
Tanu Kaskinen [Wed, 21 May 2014 11:13:41 +0000 (14:13 +0300)]
Add module-main-volume-policy
Change-Id: I787141b43cafb652aa752c64ae28b6b7aa052d8e
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
Tanu Kaskinen [Wed, 21 May 2014 11:08:40 +0000 (14:08 +0300)]
Add module-audio-groups
Change-Id: Iaa0284e0537785ed245caae6e49544477ca246b9
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
Tanu Kaskinen [Wed, 21 May 2014 11:05:47 +0000 (14:05 +0300)]
pactl: Add support for the new volume API
Change-Id: I2bb6625c1cd575366388ec8dc3dd4fd2097c9a4a
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
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>
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>
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>
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>