platform/upstream/pulseaudio.git
9 years agopolicy: Support master volume level 40/46740/2 accepted/tizen/mobile/20150828.011900 accepted/tizen/tv/20150828.011921 accepted/tizen/wearable/20150828.011934 submit/tizen/20150827.090328
Sangchul Lee [Wed, 5 Aug 2015 02:03:47 +0000 (11:03 +0900)]
policy: Support master volume level

It makes possible to control overall volumes regardless of the volume type of streams.

[Version] 5.0-34
[Profile] Common
[Issue Type] New feature

Change-Id: If0832de4e8aa8b3d0fa5571780cc41e2ffc4e8e5
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
9 years agosound-player: Read data from pipe with non-blocking mode 08/46008/3 accepted/tizen/mobile/20150819.235400 accepted/tizen/tv/20150819.235410 accepted/tizen/wearable/20150819.235429 submit/tizen/20150819.063347
Sangchul Lee [Thu, 13 Aug 2015 07:22:39 +0000 (16:22 +0900)]
sound-player: Read data from pipe with non-blocking mode

When the client request comes from pipe, it calls read function with non-blocking mode.
It leads to avoid blocking of the context even if the pipe does not work well.
Fix bug for invalid check routine of the return value.

[Version] 5.0-33
[Profile] Common
[Issue Type] Enhance codes

Change-Id: Id62ef8a2f867d21ffaf704577246b96029a67191
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
9 years agopolicy: Add skip routine for the specific name of a stream 02/45802/2 accepted/tizen/mobile/20150813.011846 accepted/tizen/tv/20150813.011902 accepted/tizen/wearable/20150813.011929 submit/tizen/20150811.122753 submit/tizen/20150812.065628
Sangchul Lee [Tue, 11 Aug 2015 10:18:51 +0000 (19:18 +0900)]
policy: Add skip routine for the specific name of a stream

There are streams that need to be skipped processing in stream-manager.
Fix bug regarding setting device state in module-policy.c.

[Version] 5.0-32
[Profile] Common
[Issue Type] Enhance codes

Change-Id: Ib95f60f14e6e7098561cf9c3277b97dca225cb46
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
9 years agodevice-manager : remove build warning 41/45641/2 submit/tizen/20150810.104433 submit/tizen/20150811.051325
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

9 years agoDisable "XDG standard for the runtime dir" 59/45659/1 submit/tizen/20150810.080551
Seungbae Shin [Mon, 10 Aug 2015 08:02:04 +0000 (17:02 +0900)]
Disable "XDG standard for the runtime dir"

Change-Id: I0e1174dde0e8a75a611ab0b5ca8de0a708d5f02e

9 years agopolicy: Apply the stream focus status that is used to determine the audio routing 76/45576/3
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>
9 years agopolicy: pulseaudio changed latency type to string 79/44979/4 accepted/tizen/mobile/20150731.102717 accepted/tizen/tv/20150731.102834 accepted/tizen/wearable/20150731.102953 submit/tizen/20150731.062345
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

9 years agopolicy/sound-player: Remove build warnings 34/44834/4 accepted/tizen/mobile/20150730.074350 accepted/tizen/tv/20150730.074628 accepted/tizen/wearable/20150730.074819 submit/tizen/20150729.123023
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

9 years agopolicy: Include omitted header 63/44763/1 accepted/tizen/mobile/20150728.000037 accepted/tizen/tv/20150728.000125 accepted/tizen/wearable/20150728.000210 submit/tizen/20150727.121758
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

9 years agoFix code for earjack connection interface changed. 11/44711/1 accepted/tizen/mobile/20150727.235818 accepted/tizen/tv/20150727.235913 accepted/tizen/wearable/20150727.235957 submit/tizen/20150727.105253
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>
9 years agopolicy: Add channel-map information to the stream (in sink-input new callback) 21/44621/3 accepted/tizen/mobile/20150724.132540 accepted/tizen/tv/20150724.132548 accepted/tizen/wearable/20150724.132604 submit/tizen/20150724.085044
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

9 years agoBug fix : pulseaudio crash when load module-alsa-card 62/44462/1
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>
9 years agoFix crash, and some debugging code 04/43704/3 accepted/tizen/mobile/20150717.002852 accepted/tizen/tv/20150717.002907 accepted/tizen/wearable/20150717.002921 submit/tizen/20150715.092047 submit/tizen/20150716.043920
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>
9 years agosound-player: Support EOS signal 91/43891/1
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

9 years agopolicy: Modify API for updating routing option in stream-manager 73/43873/3
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

9 years agoModify pulseaudio-system.conf file for updating dbus access right, policy/sound-playe... 07/42107/6
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

9 years agopolicy: Modify device-manager and stream-manager 38/42038/2
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>
9 years agopolicy: Add features and revise codes 37/42037/2
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

9 years agopolicy: Revise codes to enable feature and clean-up 31/42031/2
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

9 years agoAdd security check code 30/42030/2
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>
9 years agopolicy: Revise codes 29/42029/2
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>
9 years agopolicy: Integrating with device-manager and stream-manager 24/42024/2
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

9 years agopolicy: Modify device manager 13/42013/2
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>
9 years agotizenaudio-sink: Modify description and add valid_modargs 64/41964/3
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>
9 years agomodule-sound-player: Support role and volume_gain for playback. Add dbus method for... 62/41962/2
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

9 years agomodule-policy: Add dbus interface for setting/getting volume feature(level/mute) 61/41961/2
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

9 years agoModify module-policy (including stream-manager.c/device-manager/hal-manager/communicator) 60/41960/3
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

9 years ago1.Add hal-manager.c 2.Move and reorganize volume feature (move to stream-manager... 59/41959/3
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

9 years agoModule-policy: Fix to get sample format in sink_input_new_hook_callback() 58/41958/3
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>
9 years agoAdd device manager, on disabled status 57/41957/3
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>
9 years agoAdd dbus methods to set devices for manual routing and to set routing options in... 56/41956/3
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

9 years agoApply ASLR 55/41955/3
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

9 years agopolicy: Remove unused USE_DBUS_PROTOCOL feature 54/41954/4
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

9 years agopolicy: Add Dbus Interface 82/41282/5
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>
9 years agoMerge "policy: Add stream-manager.c and communicater.c" into tizen
Heechul Jeon [Wed, 24 Jun 2015 08:15:28 +0000 (01:15 -0700)]
Merge "policy: Add stream-manager.c and communicater.c" into tizen

9 years agopolicy: Add stream-manager.c and communicater.c 81/41281/4
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

9 years agotizenaudio-sink: Modified the function to set sample_spec 80/41280/3
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>
9 years agoAdd module-sound-player for playing sound file and sound sample 79/41279/2
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

9 years agotizenaudio-sink: Moved it to the tizen directory 78/41278/3
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>
9 years agoRefactoring Audio-HAL 77/41277/3
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>
9 years agopulse: add to module-tizenaudio-sink 76/41276/4
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>
9 years ago[systemd][fix] install service files to system directory for auto-launching on boot 84/41284/1 tizen_3.0.2015.q2_common accepted/tizen/3.0.2015.q2/common/20150615.160023 accepted/tizen/common/20150615.075938 accepted/tizen/mobile/20150616.010645 accepted/tizen/tv/20150616.010654 accepted/tizen/wearable/20150616.010709 submit/tizen/20150612.083721 submit/tizen_3.0.2015.q2_common/20150615.075539
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

9 years ago[systemd] install service files to system directory for auto-launching on boot 05/40005/1 submit/tizen/20150603.044534 submit/tizen/20150611.073550
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

9 years agoFix udev rules file install location for 64bit 90/39290/1 accepted/tizen_3.0.2015.q2_common accepted/tizen/3.0.2015.q2/common/20150623.102706 accepted/tizen/3.0.2015.q2/common/20150630.094525 submit/tizen_3.0.2015.q2_common/20150623.102139 submit/tizen_3.0.2015.q2_common/20150630.092547
Seungbae Shin [Tue, 12 May 2015 13:41:00 +0000 (22:41 +0900)]
Fix udev rules file install location for 64bit

Change-Id: I49897b1bccd9b0b25903b49e7bb82b0562dfe182

9 years agoMerge "1. Added commands in ext-policy for other application (like sound manager... accepted/tizen/common/20150506.091337 accepted/tizen/mobile/20150511.004100 accepted/tizen/tv/20150506.233450 accepted/tizen/wearable/20150506.234512 submit/tizen/20150429.013912 submit/tizen_common/20150505.090000
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

9 years agoEnabled pcm dump feature 91/38291/4
Deepak Srivastava [Thu, 16 Apr 2015 04:20:35 +0000 (09:50 +0530)]
Enabled pcm dump feature

Change-Id: I4292add289777169c317b9667ed3fa63c98ae81e

9 years ago1. Added commands in ext-policy for other application (like sound manager). 76/38676/1
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

9 years agoEnabled TIZEN specific bluetooth changes 04/38404/2
Manish Sogi [Mon, 20 Apr 2015 12:02:57 +0000 (17:32 +0530)]
Enabled TIZEN specific bluetooth changes

Change-Id: I135172f01a84f05bbfc22d5e52a5a9bfdb590946

9 years agoIntegrating audio_interface_t struct and VOIP changes 31/37431/1 accepted/tizen/common/20150403.125556 accepted/tizen/mobile/20150404.084152 accepted/tizen/tv/20150404.082747 accepted/tizen/wearable/20150404.083209 submit/tizen/20150331.011137
Ruchika Saxena [Thu, 26 Mar 2015 11:43:34 +0000 (17:13 +0530)]
Integrating audio_interface_t struct and VOIP changes

Change-Id: I6f49cb5b7b35832b37e842b877748fe31d9870d3

9 years agorelease: updated changelog 31/31931/1 tizen-dev tizen_3.0.2014.q4_common tizen_3.0.2015.q1_common tizen_3.0_ivi accepted/tizen/3.0.2015.q2/common/20150630.080055 accepted/tizen/common/20141215.134000 accepted/tizen/ivi/20141219.050134 accepted/tizen/mobile/20141216.081858 accepted/tizen/tv/20141216.081422 accepted/tizen/wearable/20141216.081414 submit/tizen/20141212.094942 submit/tizen_3.0.2015.q2_common/20150626.122631 tizen_3.0_ivi_release
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>
9 years agoconfig: do not change digital controls from analog path config. 02/31802/3
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

9 years agoremove bashisme 69/31169/2
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>
9 years agovolume-api: Fix strict-aliasing warnings 86/30986/2
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

9 years agoinidb: Avoid calling fclose() twice 85/30985/2
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

9 years agopackaging: Add the pulseaudio-cascaded-setup package 09/30209/3
Tanu Kaskinen [Wed, 29 Oct 2014 20:20:01 +0000 (22:20 +0200)]
packaging: Add the pulseaudio-cascaded-setup package

Change-Id: I1a1504ac2496af127557c5d45f64fef4c284cdc6

9 years agoAdd systemd service and socket files for the system mode 08/30208/3
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

9 years agoAdd configuration for the "cascaded setup" 07/30207/3
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

9 years agosystemd: Disable TCP socket activation for user instances 06/30206/3
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

9 years agopackaging: Install the tunnel-manager and logind files 05/30205/3
Tanu Kaskinen [Thu, 30 Oct 2014 10:24:33 +0000 (12:24 +0200)]
packaging: Install the tunnel-manager and logind files

Change-Id: I0502677165496449db85569f985de1a317f781b1

9 years agotunnel-manager: Implement a policy that enables tunnels based on the device seat 46/31446/1
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

9 years agoudev: Store the seat id in device proplists 45/31445/1
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

9 years agologind: Add seat tracking 44/31444/1
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

9 years agologind: Move the code that interfaces with logind to liblogind.so 43/31443/1
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

9 years agotunnel-manager: Make the tunnel enabling policy configurable 42/31442/1
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

9 years agotunnel-manager: Load tunnel sinks and sources 88/30988/2
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

9 years agotunnel-new: Read parameters from tunnel manager when available 87/30987/2
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

9 years agotunnel-manager: New module for managing tunnels to remote servers 04/30204/3
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

9 years agodevice-type: Add pa_device_type_to_string() 41/31441/1
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

9 years agomodule: Add PA_CORE_HOOK_MODULE_UNLOAD 03/30203/1
Tanu Kaskinen [Wed, 12 Nov 2014 09:42:55 +0000 (11:42 +0200)]
module: Add PA_CORE_HOOK_MODULE_UNLOAD

Change-Id: I20a6bdd2f367a332554d86219de0ea22e08d82d9

9 years agotunnel-sink-new: Fix requested latency check 02/30202/1
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

9 years agotunnel-sink-new: Limit the maximum latency to 200 ms 01/30201/1
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

9 years agobuild-sys: Fix a variable value check 00/30200/1
Tanu Kaskinen [Wed, 12 Nov 2014 08:53:15 +0000 (10:53 +0200)]
build-sys: Fix a variable value check

Change-Id: Ie39c9c335baf70d5a6c40fa4b6845ff78e2812ec

9 years agorelease: updated changelog 19/29919/3 accepted/tizen/common/20141107.142123 accepted/tizen/ivi/20141111.052341 submit/tizen/20141106.110505 submit/tizen_mobile/20141120.000000
Jaska Uimonen [Fri, 24 Oct 2014 06:39:01 +0000 (09:39 +0300)]
release: updated changelog

Change-Id: Ia12c7675382e3f8852549508bd62d5410d429be1

9 years agoDisable loading of protocol esound module 18/29918/3
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

9 years agoadd systemd socket activation files to spec 17/29917/3
Jaska Uimonen [Thu, 23 Oct 2014 06:50:21 +0000 (09:50 +0300)]
add systemd socket activation files to spec

Change-Id: Ia7341844fc0be2f9449e306470b05a3653c3eee9

9 years agoadd tcp ipv4 local port to default.pa 16/29916/2
Jaska Uimonen [Fri, 31 Oct 2014 09:39:50 +0000 (11:39 +0200)]
add tcp ipv4 local port to default.pa

Change-Id: I226cad5552c6331b90269bba751ef01e942a05da

9 years agoadd ipv4 socket to pulseaudio.socket 15/29915/2
Jaska Uimonen [Wed, 5 Nov 2014 11:53:28 +0000 (13:53 +0200)]
add ipv4 socket to pulseaudio.socket

Change-Id: I68867a475ba6892d1ca3c24e985687219e807a92

9 years agosocket-server: add tcp support for systemd socket activation 14/29914/2
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

9 years agobuild-sys: Minor cosmetic tidyup of configure summary 13/29913/1
Colin Guthrie [Sat, 18 Oct 2014 17:33:59 +0000 (19:33 +0200)]
build-sys: Minor cosmetic tidyup of configure summary

Change-Id: I8a3e17d35ab7c9b2570b866e8cb09ebbc2c2c86b

9 years agolaunch: Disable autospawn by default when systemd daemon support is enabled. 12/29912/1
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

9 years agolaunch: Add systemd units for launching pulseaudio user instances 11/29911/1
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

9 years agolaunch: Avoid specifically starting PA and rely on autospawn/socket activation 10/29910/1
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

9 years agosocket-server: Add support for systemd socket activation. 09/29909/1
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

9 years agobuild-sys: Add support for newer systemd without compatibility libs 08/29908/1
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

9 years agobuild-sys: Clarify some systemd sub-component variable/define names. 07/29907/1
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

9 years agoman: Fix XDG_RUNTIME_DIR variable reference. 06/29906/1
Colin Guthrie [Fri, 17 Oct 2014 11:09:14 +0000 (13:09 +0200)]
man: Fix XDG_RUNTIME_DIR variable reference.

Change-Id: I92785b104a1f42943884dfc7f51998c8cba65290

9 years agosocket-server: Improve readability 05/29905/1
Tanu Kaskinen [Mon, 3 Nov 2014 09:23:25 +0000 (11:23 +0200)]
socket-server: Improve readability

Change-Id: Ia323ade04dc7a793e47d3d2c8f167812bae1aea3

10 years agoRemove msbc support from bluetooth ofono backend. 53/28653/2 accepted/tizen_3.0.2014.q3_common accepted/tizen_3.0.m14.3_ivi tizen_3.0.2014.q3_common tizen_3.0.m14.3_ivi accepted/tizen/common/20141013.235206 accepted/tizen/ivi/20141014.072142 submit/tizen_common/20141013.223309 submit/tizen_ivi/20141014.000000 tizen_3.0.2014.q3_common_release tizen_3.0.m14.3_ivi_release
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

10 years agorelease: updated changelog 13/28613/1 accepted/tizen/ivi/20141010.215757 submit/tizen/20141010.130213
Jaska Uimonen [Fri, 10 Oct 2014 12:59:55 +0000 (15:59 +0300)]
release: updated changelog

Change-Id: I29476fad2c858e5ab4dc8ff979bba90843a544bb

10 years agoMerge "Fixed TC-1588. Added libcap-tools requirement" into tizen
Jaska Uimonen [Fri, 10 Oct 2014 12:48:10 +0000 (05:48 -0700)]
Merge "Fixed TC-1588. Added libcap-tools requirement" into tizen

10 years agoPackaging: clean spec file 53/28453/2
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>
10 years agoFixed TC-1588. Added libcap-tools requirement 65/28565/1
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>
10 years agorelease: updated changelog 57/28157/1 accepted/tizen/common/20140929.111501 accepted/tizen/ivi/20141001.194551 accepted/tizen/mobile/20141022.102705 submit/tizen/20140929.074533
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>
10 years agoprotocol-stub: Don't query FQDN when loading module-native-protocol-tcp 84/27084/1
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

10 years agorelease: updated changelog 66/26766/1 accepted/tizen/common/20140829.173154 accepted/tizen/ivi/20140905.063907 submit/tizen/20140829.142627
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>
10 years agoset realtime prio from a package 65/26765/1
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>
10 years agoaudio-groups, main-volume-policy, volume-api: Various fixes 49/26449/1
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

10 years agosink-input, source-output: Add the real object pointer to new_data 48/26448/1
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

10 years agosink-input, source-output: Use new_data.volume only for absolute volume 47/26447/1
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

10 years agosink-input, source-output: Add hooks for reference ratio changes 46/26446/1
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