Mok Jeongho [Fri, 7 Aug 2015 07:30:17 +0000 (16:30 +0900)]
device-manager : remove build warning
[Version] 5.0-31
[Profile] Common
[Issue Type] Remove Warning
Change-Id: I33e73c68c5ce78e6c56a2fbcf3d5cdbae98c6a72
Seungbae Shin [Mon, 10 Aug 2015 08:02:04 +0000 (17:02 +0900)]
Disable "XDG standard for the runtime dir"
Change-Id: I0e1174dde0e8a75a611ab0b5ca8de0a708d5f02e
Sangchul Lee [Fri, 7 Aug 2015 11:28:57 +0000 (20:28 +0900)]
policy: Apply the stream focus status that is used to determine the audio routing
Keep the routing of an stream if it has got a focus(playback/capture) even if any stream tries to play.
Code clean-up.
[Version] 5.0-29
[Profile] Common
[Issue Type] Enhance feature
Change-Id: I6b801c0c46c8dce1bef88d46bbd3dd31b04578c0
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
KimJeongYeon [Thu, 30 Jul 2015 08:23:07 +0000 (17:23 +0900)]
policy: pulseaudio changed latency type to string
[Version] 5.0
[Profile] Common
[Issue Type] Features
[Dependency module] NA
[Dependency commit] NA
[Comment]
Signed-off-by: KimJeongYeon <jeongyeon.kim@samsung.com>
Change-Id: Ied51259b24c0be5eb82da65efaf2f727c4e10a28
Sangchul Lee [Mon, 27 Jul 2015 12:02:41 +0000 (21:02 +0900)]
policy/sound-player: Remove build warnings
[Version] 5.0-27
[Profile] Common
[Issue Type] Code clean-up
Change-Id: Ia299b8fb764c34f2bf53af34347c193c4f34bbf1
Sangchul Lee [Mon, 27 Jul 2015 12:05:16 +0000 (21:05 +0900)]
policy: Include omitted header
[Version] 5.0-26
[Profile] Common
[Issue Type] Fix bug
Change-Id: I6a804eba891dc1795c1822f6bbad4ebd55d8df85
Mok Jeongho [Fri, 24 Jul 2015 01:20:22 +0000 (10:20 +0900)]
Fix code for earjack connection interface changed.
[Version] 5.0-24
[Profile] Common
[Issue Type] Fix bug
Change-Id: Iea1798587865b2d503fc8a7cf6485f34ca191c78
Signed-off-by: Mok Jeongho <jho.mok@samsung.com>
Sangchul Lee [Fri, 24 Jul 2015 03:08:03 +0000 (12:08 +0900)]
policy: Add channel-map information to the stream (in sink-input new callback)
Fix bug - pa_sink_input_new() failed due to the lack of channel-map information whereas the volume channel is set.
[Version] 0.5-24
[Profile] Common
[Issue Type] Fix bug
Change-Id: I3be247e78c528ab2c53227a269b6f784a196ab62
jungsup lee [Fri, 22 May 2015 04:09:15 +0000 (13:09 +0900)]
Bug fix : pulseaudio crash when load module-alsa-card
In case of alsa-ucm is not available for deteched alsa-card(ex. usb devices)
Pulseaudio is crashed when module-alsa-card is loading
[Version] 4.0.186
[Profile] Common
[Issue Type] Fix bug
Change-Id: Ib3974be5dc5a350d8f4498f54773e6b864bdec80
Signed-off-by: jungsup lee <jungsup4.lee@samsung.com>
Jeongho Mok [Mon, 13 Jul 2015 08:47:22 +0000 (17:47 +0900)]
Fix crash, and some debugging code
[Version] 0.5-23
[Profile] Common
[Issue Type] crash
Change-Id: Icf792dc017950701b3acb1f6df36273dd695ef22
Signed-off-by: Jeongho Mok <jho.mok@samsung.com>
Sangchul Lee [Wed, 15 Jul 2015 05:53:16 +0000 (14:53 +0900)]
sound-player: Support EOS signal
Send the end of stream dbus signal when the stream played by dbus method(SimplePlay/SamplePlay) is finished
[Version] 0.5-22
[Profile] Common
[Issue Type] feature enhancement
Change-Id: I42cf7dd2630b90b14edf5ee02d5041851e954678
Sangchul Lee [Wed, 15 Jul 2015 01:23:41 +0000 (10:23 +0900)]
policy: Modify API for updating routing option in stream-manager
Support name and its value of the option
[Version] 0.5-21
[Profile] Common
[Issue Type] Enhancement feature
Change-Id: I231e3c498492211d5209315f3e7c1be970b2dea9
Sangchul Lee [Tue, 23 Jun 2015 09:16:01 +0000 (18:16 +0900)]
Modify pulseaudio-system.conf file for updating dbus access right, policy/sound-player: change dbus path
[Version] 0.5-20
[Profile] Common
[Issue Type] access right
Change-Id: Ia2c9657bab3ba727df067305733ce7111b3612c4
Jeongho Mok [Mon, 11 May 2015 04:00:03 +0000 (13:00 +0900)]
policy: Modify device-manager and stream-manager
Support BT SCO on/off/get-property interface to device-manager
Modify device-manager possible to have only playback devices
Use device.string for identify sink/source in device-manager
Send volume changed signal through dbus interface in stream-manager
[Version] 0.5-19
[Profile] Common
[Issue Type] add features and modify logic
Change-Id: Ia6a75e0e2baa8ab6f040c27787af681ef59c2916
Signed-off-by: Jeongho Mok <jho.mok@samsung.com>
Sangchul Lee [Mon, 4 May 2015 11:32:04 +0000 (20:32 +0900)]
policy: Add features and revise codes
Add dbus method to get current volume type in stream-manager.c
Add combine-sink usecase in module-policy.c (support BT device with AUTO_ALL route type)
Add sink-input move start/finish callback for muting/unmuting in stream-manager.c
Trigger to change routing path and to inform stream connection info when the state of stream is changed
Change pa_idxset_remove_all to pa_idxset_remove_by_data to avoid abnormal behavior
Revise manual routing logic (available for resetting routing per direction)
Fix memory leaks in stream-manager.c/stream-manager-volume.c
[Version] 0.5-18
[Profile] Common
[Issue Type] add features and fix bugs
Change-Id: Ia1b539f17236f93fd5fd0df2fafd9e1414e06a6e
Seungbae Shin [Thu, 7 May 2015 05:15:14 +0000 (14:15 +0900)]
policy: Revise codes to enable feature and clean-up
Enable device-manager
Remove unused functions
Disable deprecated policy extension functions
[Version] 0.5-17
[Profile] Common
[Issue Type] code clean-up
Change-Id: I8c534111a80ba05bba3b011a2817e136aba07561
Jeongho Mok [Mon, 4 May 2015 11:12:52 +0000 (20:12 +0900)]
Add security check code
[Version] 0.5-16
[Profile] Common
[Issue Type] security
Change-Id: Ie72d71eba28870002c72adf0d4821897d947f145
Signed-off-by: Jeongho Mok <jho.mok@samsung.com>
Sangchul Lee [Thu, 30 Apr 2015 07:10:26 +0000 (16:10 +0900)]
policy: Revise codes
Fix warning: ISO forbids mixed declarations and code
Fix warning: unused variable
Remove unused code
Revise code for easy readable
[Version] 0.5-15
[Profile] Common
[Issue Type] code clean-up
Change-Id: I0d21ce2995b34b5efc60443bab152bda3c789646
Signed-off-by: Seungbae Shin <seungbae.shin@samsung.com>
Sangchul Lee [Tue, 21 Apr 2015 03:59:07 +0000 (12:59 +0900)]
policy: Integrating with device-manager and stream-manager
Apply current state of the volume-mute to the new stream when calling sink-input-put/source-output-put callback
Change logic for getting volume level and mute
Remove GET_VOLUME_LEVEL_MAX operation in module-policy.c/ext-policy.c
Support stream connection information API for hal-manager
Support manual routing
Remove sample play feature in module-policy (rather it is recommended to use module-sound-player)
Fix bugs
[Version] 0.5-14
[Profile] Common
[Issue Type] add features and fix bugs
Change-Id: I00dc48805965a4c1987ef547269d83ce9fb854cc
Jeongho Mok [Fri, 10 Apr 2015 06:29:44 +0000 (15:29 +0900)]
policy: Modify device manager
Convert some hashmap to idxset for convenience.
Convert some enums to string (device-type, device-role).
Include vconf for get device status.
Separate device-profile from device-type.
Merge some functions which was only for sink or source.
Give same structure(dm_device) when device connected/disconnected.
Apply device mask when get connected device list.
Handle method call GetBTA2DPStatus status.
Ignore duplicated device set-state call.
Fix bug - processed twice when bt-sink loaded.
Fix some bugs.
[Version] 0.5-13
[Profile] Common
[Issue Type] add features and etc.
Change-Id: I17a869ed13d50a8c6bd947e343b593aa7c60e89a
Signed-off-by: Jeongho Mok <jho.mok@samsung.com>
Seonmi Jin [Fri, 1 May 2015 06:53:47 +0000 (15:53 +0900)]
tizenaudio-sink: Modify description and add valid_modargs
Modify description and add valid modargs, move it to tizen directory
[Version] 0.5-12
[Profile] Common
[Issue Type] add feature
Change-Id: Ib8db498c2f8d40934cbc0cc946a2d8ee3a1c5dd0
Signed-off-by: Seonmi Jin <seonmi.jin@samsung.com>
Sangchul Lee [Tue, 21 Apr 2015 16:01:21 +0000 (01:01 +0900)]
module-sound-player: Support role and volume_gain for playback. Add dbus method for play a sample that is already uploaded.
module-policy: Apply volume gain modifier for each stream in stream-manager.c
In module-sound-player, previous argument for volume type and gain was a value of integer type.
Now it is divided to two values of string type. With these information, stream-manager of the module-policy can manage its volume value.
[Version] 0.5-11
[Profile] Common
[Issue Type] add features
Change-Id: I4b566480f8b8c708bfd1126fab023a91e6b25b95
Sangchul Lee [Mon, 20 Apr 2015 02:47:40 +0000 (11:47 +0900)]
module-policy: Add dbus interface for setting/getting volume feature(level/mute)
Add dbus methods for setting/getting volume level and mute in stream-manager.c
Remove unused codes
[Version] 0.5-10
[Profile] Common
[Issue Type] add features
Change-Id: I07821484abbc3a4ffa96755fe84813f772a83664
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