Sangchul Lee [Mon, 30 Sep 2019 07:57:38 +0000 (16:57 +0900)]
fixup! stream-manager: Revise process_stream() to use sub-functions
Change-Id: Id2d0063434d0db7609459b7499326c72c404f4a6
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Thu, 26 Sep 2019 03:41:33 +0000 (12:41 +0900)]
stream-manager: Revise do_notify() to use sub-functions
It'll reduce cyclomatic complexity of SAM.
[Version] 11.1.84
[Issue Type] Refactoring
Change-Id: Ifeac4de2c4ddbab0101fc34ba54a508cffcdd37c
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Fri, 20 Sep 2019 01:05:10 +0000 (10:05 +0900)]
stream-manager: Revise init_stream_map() to use sub-functions
It'll reduce cyclomatic complexity of SAM.
[Version] 11.1.83
[Issue Type] Refactoring
Change-Id: Ieabf4fe1f4dd7b5723777f49bfb3ce6a27a76c2a
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Thu, 19 Sep 2019 23:04:56 +0000 (08:04 +0900)]
stream-manager: Revise pa_stream_manager_unref() to use new function to free hook slots
It'll reduce cyclomatic complexity of SAM.
[Version] 11.1.82
[Issue Type] Refactoring
Change-Id: Iadc01db1502b3e7d35431a7a68ad2733098c0e5d
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Thu, 19 Sep 2019 08:13:25 +0000 (17:13 +0900)]
stream-manager: Revise device_connection_changed_hook_cb() to use new sub-function
It'll reduce cyclomatic complexity of SAM.
update_sink_or_source_as_device_change() is renamed to
check_and_move_streams_by_device_connection_change().
[Version] 11.1.81
[Issue Type] Refactoring
Change-Id: I1c0546ba92fc4555512e040df3256eff67bc3992
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Thu, 19 Sep 2019 06:55:58 +0000 (15:55 +0900)]
stream-manager: Revise fill_device_info_to_hook_data() to reduce if-else condition statements
It'll reduce cyclomatic complexity of SAM.
[Version] 11.1.80
[Issue Type] Refactoring
Change-Id: I2efa140fa215addbc1ac83b776d3324228121f79
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Thu, 19 Sep 2019 05:35:06 +0000 (14:35 +0900)]
stream-manager: Revise process_stream() to use sub-functions
It'll reduce cyclomatic complexity of SAM.
[Version] 11.1.79
[Issue Type] Refactoring
Change-Id: Ic3f0a7a834761ac739094d53cc4ca17131d7b86a
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Thu, 19 Sep 2019 01:19:05 +0000 (10:19 +0900)]
tizenaudio-policy: Use new sub-functions inside of select_proper_sink_or_source_hook_cb()
It'll reduce cyclomatic complexity of SAM.
[Version] 11.1.78
[Issue Type] Refactoring
Change-Id: I371317af1c9f732154b1e271f03d86d72a67e675
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Wed, 18 Sep 2019 05:59:05 +0000 (14:59 +0900)]
tizenaudio-policy: Use new sub-functions inside of route_change_hook_cb()
It'll reduce cyclomatic complexity of SAM.
[Version] 11.1.77
[Issue Type] Refactoring
Change-Id: I2d9aeefc4c503532273cf09668139c034f961589
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Tue, 17 Sep 2019 10:30:45 +0000 (19:30 +0900)]
stream-manager-volume: Revise codes to reduce if-else statements
It'll reduce cyclomatic complexity of SAM.
[Version] 11.1.76
[Issue Type] Refactoring
Change-Id: Ie44c99bc701dbb9741baec43723450040e5ebde5
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Tue, 17 Sep 2019 05:22:58 +0000 (14:22 +0900)]
stream-manager-dbus: Revise handle_set_stream_preferred_device() to reduce condition statements
It'll reduce cyclomatic complexity of SAM.
[Version] 11.1.75
[Issue Type] Refactoring
Change-Id: I771f94082848490365a0703b78bfb6d6f59daadc
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Mon, 16 Sep 2019 07:34:41 +0000 (16:34 +0900)]
device-manager-dbus: Add new function to handle bluez headset property changed signal
It'll reduce cyclomatic complexity of SAM.
[Version] 11.1.74
[Issue Type] Refactoring
Change-Id: I2579f9e68662a55bff331959d377977029f29b46
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Seungbae Shin [Tue, 10 Sep 2019 05:43:14 +0000 (14:43 +0900)]
Use static keyword for global variables
[Version] 11.1.73
[Issue Type] Refactorying
Change-Id: I4acbbc86ae3c4e4bbcef6647d6ce703f8f81cec0
Seungbae Shin [Wed, 28 Aug 2019 07:43:57 +0000 (16:43 +0900)]
fixup! acm: Fix coverity defects
[Version] 11.1.72
[Issue Type] Security
Change-Id: I1dcd3ea1626f0113b3d2696748c9d2ca4412808e
Sangchul Lee [Wed, 28 Aug 2019 08:27:01 +0000 (17:27 +0900)]
stream-manager-dbus: Add new DBus method to get preferred device id
server : org.pulseaudio.Server
object path : /org/pulseaudio/StreamManager
interface : org.pulseaudio.StreamManager
method name : GetStreamPreferredDevice
method argument : [in] unsigned int for stream index
[out] unsigned int for input device id
[out] unsigned int for output device id
return value : string for return message
- success : "STREAM_MANAGER_RETURN_OK"
- internal error : "STREAM_MANAGER_RETURN_ERROR_INTERNAL"
[Version] 11.1.71
[Issue Type] Improvement
Change-Id: I9a344d013d81369e1ad909eab31f2d68d0dda1b3
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Wed, 28 Aug 2019 02:17:13 +0000 (11:17 +0900)]
stream-manager-dbus: Improve ducking API regarding a stream not running
If there's only one stream that belongs to the target stream of ducking
effect and is not running, PA_CORE_HOOK_SINK_INPUT_RAMP_FINISH is not
invoked because it is not a stream to be rendered in this state.
This patch adds condition to use pa_sink_input_add_volume_factor() to
make the effect properly and to send the signal immediately in this case.
[Version] 11.1.70
[Issue Type] Bug fix
Change-Id: Id4339211318c8ce8388f2fce1b290b2a1dc1e09f
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Jeongmo Yang [Mon, 26 Aug 2019 03:46:26 +0000 (12:46 +0900)]
stream-manager: Fix missed notification
- When stream ducking is disconnected without deactivation,
notification for audio-HAL is missed.
[Version] 11.1.69
[Profile] Common
[Issue Type] Bug fix
Change-Id: I23ac8257fe5b1f8142864701edd4f514a50f8119
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
Seungbae Shin [Thu, 8 Aug 2019 04:49:27 +0000 (13:49 +0900)]
acm: Fix coverity defects
[Version] 11.1.68
[Issue Type] Security
Change-Id: I4a8f4a0d6136c3c52716e1c4e682a9d574991f5a
Jeongmo Yang [Mon, 29 Jul 2019 08:32:36 +0000 (17:32 +0900)]
stream-manager: Notify ducking activation to HAL
[Version] 11.1.67
[Issue Type] Update
Change-Id: I1b94cc0c3b8f6f0936ff64347eff4e55631487f1
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
Sangchul Lee [Thu, 25 Jul 2019 07:44:57 +0000 (16:44 +0900)]
stream-manager: Ensure sending ducking changed signal even when unlinking sink-input during ducking or unducking
Even though a sink-input affected by ducking DBus method is unlinking
in the middle of ducking or unducking process by ramp factor, the DBus
signal for ducking changed callback should be emitted properly.
This patch checks some conditions and emits the signal in that case.
[Version] 11.1.66
[Issue type] Improvement
Change-Id: Iab46f03af623f204ba351fa83941a2a03e77b4d3
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Thu, 25 Jul 2019 07:20:12 +0000 (16:20 +0900)]
stream-manager: Revise logs regarding ducking
[Version] 11.1.65
[Issue type] Log
Change-Id: Ic568205d567e6a3d65629e4aefecc7a526c186d8
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Thu, 25 Jul 2019 03:03:34 +0000 (12:03 +0900)]
stream-manager: Fix not to apply ducking to new stream when after deactivating ducking
The target role member variable of stream ducking structure was not
de-initialized when deactivating ducking. It causes that new stream
with matching the target role is applied by the previous ducking.
It is now fixed.
[Version] 11.1.64
[Issue type] Bug fix
Change-Id: I74f34905e762ffe35aab32a5eff1c260cac0a43e
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Tue, 23 Jul 2019 02:39:42 +0000 (11:39 +0900)]
tizenaudio-policy: Take into account the preferred device in case of auto-last-connected route type
[Version] 11.1.63
[Issue type] Improvement
Change-Id: I86a91db883c58ec251fa5ec1bf79c93a757778f6
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Fri, 19 Jul 2019 02:15:44 +0000 (11:15 +0900)]
tizenaudio-policy: Fix to select a valid device if a device role is specified
[Version] 11.1.62
[Issue type] Bug fix
Change-Id: Icbb61235e2431f8c078c823551507fc5da94252b
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Wed, 24 Jul 2019 01:16:10 +0000 (10:16 +0900)]
device-manager: Add role parameter to pa_device_manager_get_device()
The new parameter is for device role. It can be nullable.
[Version] 11.1.61
[Issue Type] API
Change-Id: I336a1e82521e9b21300fb907333127c17c0249c5
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Jeongmo Yang [Fri, 19 Jul 2019 05:56:14 +0000 (14:56 +0900)]
stream-manager: Improve audio ducking function
1. Fix crash
: If ducked stream is removed without deactivating,
the pointer for the removed stream is still remained in idxset of ducking_streams.
It caused crash when ducking stream is destroyed.
2. Apply ducking to new stream
: If new role-matched stream is created when after ducked,
apply ducking to it without fade-out.
[Version] 11.1.60
[Issue Type] Improvement
Change-Id: Ida0556e5d8c1d10f001357291ca17193174c26ae
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
Sangchul Lee [Tue, 23 Jul 2019 02:51:44 +0000 (11:51 +0900)]
fixup! stream-manager-dbus: Add direction argument to the DBus method - set preferred device
Change-Id: If70a0a2410bc15ee6d77cbb4438e92dfce560fa9
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Wed, 17 Jul 2019 06:38:46 +0000 (15:38 +0900)]
stream-manager-dbus: Add direction argument to the DBus method - set preferred device
server : org.pulseaudio.Server
object path : /org/pulseaudio/StreamManager
interface : org.pulseaudio.StreamManager
method name : SetStreamPreferredDevice
method argument : unsigned int for stream index
string for io direction ('in' or 'out')
unsigned int for device id
return value : string for return message
- success : "STREAM_MANAGER_RETURN_OK"
- no match found : "STREAM_MANAGER_RETURN_ERROR_DEVICE_NOT_FOUND"
- policy error : "STREAM_MANAGER_RETURN_ERROR_POLICY"
- internal error : "STREAM_MANAGER_RETURN_ERROR_INTERNAL"
[Version] 11.1.59
[Issue type] Improvement
Change-Id: I1a3b6b1e27438f4e5aace0f430d2afbc9b3d0bf7
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Jeongmo Yang [Fri, 28 Jun 2019 00:57:20 +0000 (09:57 +0900)]
stream-manager: Support ducking API
- Add new handler for ducking API
server : org.pulseaudio.Server
object path : /org/pulseaudio/StreamManager
interface : org.pulseaudio.StreamManager
method name : ActivateDucking
method argument : unsigned int for stream index
boolean for enable
string for target stream
unsigned int for duration
double for ratio
return value : string for return message
- success : "STREAM_MANAGER_RETURN_OK"
[Version] 11.1.58
[Issue Type] New feature
Change-Id: Ib10aa11fe84ff73419798ead2b0db3b3f88c3c74
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
Sangchul Lee [Mon, 8 Jul 2019 06:44:27 +0000 (15:44 +0900)]
stream-manager-dbus: Add new DBus methods to set preferred device
server : org.pulseaudio.Server
object path : /org/pulseaudio/StreamManager
interface : org.pulseaudio.StreamManager
method name : SetStreamPreferredDevice
method argument : unsigned int for stream index
unsidned int for device id
return value : string for return message
- success : "STREAM_MANAGER_RETURN_OK"
- no match found : "STREAM_MANAGER_RETURN_ERROR_DEVICE_NOT_FOUND"
- policy error : "STREAM_MANAGER_RETURN_ERROR_POLICY"
- internal error : "STREAM_MANAGER_RETURN_ERROR_INTERNAL"
[Version] 11.1.57
[Issue type] New feature
Change-Id: I2830efed90c7a76ca720766f1f01ab47db55ef03
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Mon, 8 Jul 2019 05:54:18 +0000 (14:54 +0900)]
tizenaudio-policy: Add support for the preferred device role of built-in devices
[Version] 11.1.56
[Issue type] New feature
Change-Id: Icaabe87ceeb0336bde8f5487c1748d44e83f3c52
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Tue, 2 Jul 2019 02:57:06 +0000 (11:57 +0900)]
device-manager: Revise handle_device_connected() to pass device_type_info
Each device_type_info has hashmap of playback[capture]_devices
that have device descriptions per device role.
This patch makes it possible to load the same built-in device type
with different device role.
[Version] 11.1.55
[Issue type] Improvement
Change-Id: I14fea61488dc6d3f4289acee339380bf33c67bde
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Tue, 25 Jun 2019 23:47:52 +0000 (08:47 +0900)]
fixup! stream-manager: Do not apply tizen group volume to a stream belongs to a network device
Change-Id: If63666f1dadf4826649d0442b6c653d70d201461
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Thu, 20 Jun 2019 07:27:55 +0000 (16:27 +0900)]
stream-manager: Do not apply tizen group volume to a stream belongs to a network device
Let it just go without manipulating volume value that is according to
tizen group volume when a stream goes to a network device. Note that
only individual volume can be applied to these streams.
[Version] 11.1.54
[Issue type] Improvement
Change-Id: I7e334b1285edc8d44e37f03f032aa577be35af02
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Fri, 7 Jun 2019 06:49:48 +0000 (15:49 +0900)]
device-manager: Add support for ACM device
A new ACM role that will be used with the network type is added.
A DBus method to set ACM mode triggering loading/unloading ACM
sink is added.
server : org.pulseaudio.Server
object path : /org/pulseaudio/DeviceManager
interface : org.pulseaudio.DeviceManager
method name : SetAcmMode
method argument : unsigned int for mode (0:off)
[Version] 11.1.53
[Issue type] New feature
Change-Id: Ib59795979086fcb8ddf5e4f15c47ab3b3a1a317c
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Mon, 17 Jun 2019 23:22:02 +0000 (08:22 +0900)]
device-manager: Add support for network device type
The previous raop device type is changed to network device type.
Rather the 'raop' is demoted from device type to a role of the
type. A new role will be added to this network device type in the
upcoming patch.
[Version] 11.1.52
[Issue type] Improvement
Change-Id: I939d253de1a5804b85dae6cdb0ae375209ee41e9
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Mon, 17 Jun 2019 07:15:17 +0000 (16:15 +0900)]
fixup! device-manager: Add 'role' parameter to device_list_get_device()
Change-Id: I10a3720e3b55e39f27aaf21ab057c1be3a1d7040
Sangchul Lee [Mon, 17 Jun 2019 05:13:40 +0000 (14:13 +0900)]
tizen-device: Introduce default sink/source of device_get_sink/source()
If these two functions are invoked with 'NULL' role parameter,
it will return the first sink/source of its device hashmap list.
[Version] 11.1.51
[Issue type] Improvement
Change-Id: I5b42c4dd536b3962af42294955481ff8e6639305
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Fri, 14 Jun 2019 07:26:56 +0000 (16:26 +0900)]
device-manager: Add 'role' parameter to _device_manager_get_type_info()
This function is related to device descriptions in device-map.json.
It is also revised considering the role.
load_sink/source() is fixed to return sink/source even if the device
has been already loaded instead of NULL.
[Version] 11.1.50
[Issue type] Improvement
Change-Id: I01a2d898e48e4e06ce5d316e68eaa50f9d7b3a6f
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Fri, 14 Jun 2019 03:15:59 +0000 (12:15 +0900)]
device-manager: Add 'role' parameter to device_list_get_device()
With new role parameter is specified, it returns a device considering
the role. For this, pa_tz_device_get_role() is added to tizen-device.c.
It is revised not to judge whether a device type is for multi-devices
by predefined device types. So, device_type_is_avail_multi_device() is
removed from tizen-device-def.c.
[Version] 11.1.49
[Issue type] Improvement
Change-Id: I3d9532b80dd02adda9fc9f5b75d8e1ab68276624
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Thu, 13 Jun 2019 08:08:37 +0000 (17:08 +0900)]
device-manager: Refactor functions
Ambiguous function names are also revised.
: build_params_to_load_device() => build_params_to_load_module()
: load_device() => load_module()
: unload_device() => unload_module()
[Version] 11.1.48
[Issue type] Refactoring
Change-Id: Ied85b3e847e5496308fa5a836d562d81c0b5a48a
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Fri, 7 Jun 2019 06:46:56 +0000 (15:46 +0900)]
acm: Request drain when sink state is changed to IDLE from RUNNING
[Version] 11.1.47
[Issue type] Improvement
Change-Id: I15affa5362992c325afb01ca589ab31f29afbe85
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Tue, 11 Jun 2019 01:14:19 +0000 (10:14 +0900)]
fixup! acm-sink: Add new sink module for ACM service
Change-Id: I3ad1af3fac13640fa176518c5dd538b09801d449
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Tue, 14 May 2019 05:13:50 +0000 (14:13 +0900)]
acm-sink: Add new sink module for ACM service
It is for Tizen speaker profile.
pulseaudio-module-acm.rpm is newly added.
[Version] 11.1.46
[Issue type] New feature
Change-Id: If3ef8993014f61e61ed65ba8dc658418e08af169
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
jungsup lee [Thu, 16 May 2019 04:46:52 +0000 (13:46 +0900)]
module-tizenaudio-policy: Fix crash when manual device is not set
Skip route_change_hook_cb when manual device is null even if route type is manual series
[Version] 11.1.45
[Issue type] Bug fix
Change-Id: Icc1a00eb2fe9dedfc6592f6f49cc840fe5b2095c
Signed-off-by: jungsup lee <jungsup4.lee@samsung.com>
Sangchul Lee [Wed, 15 May 2019 05:32:37 +0000 (14:32 +0900)]
fixup! stream-manager-dbus: Rename methods and fix bug
Change-Id: I7c48fd3cc9e591b2b77b1acbd86666b3854791b3
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Thu, 9 May 2019 03:23:52 +0000 (12:23 +0900)]
tizenaudio-policy: Add missing unsuspend sink/source due to INTERNAL cause
Tizen specific logic regarding to unsuspending automatically
in case of PA_SUSPEND_INTERNAL cause has been removed, so it
has to be added for valid behavior when starting a stream
later on.
[Version] 11.1.44
[Issue type] Bug fix
Change-Id: Ie0c48b7990a2499cad31669e4c4f5c1caea1f1ed
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Seungbae Shin [Wed, 8 May 2019 07:08:02 +0000 (16:08 +0900)]
stream-manager-volume: fix svace defect (UNINIT.LOCAL_VAR.EX)
[Version] 11.1.43
[Issue type] SVACE
Change-Id: I7e170c4af028d113d8007abea4cdeed3e25ff7e9
Sangchul Lee [Sun, 21 Apr 2019 23:48:25 +0000 (08:48 +0900)]
stream-manager-dbus: Rename methods and fix bug
set[get]_volume_rate() are changed to set[get]_volume_ratio().
invalid parameter to dbus_message_append_args() is fixed.
[Version] 11.1.42
[Issue type] Revision
Change-Id: I4f4da6a0730621144f374e8a99bd75b9b76ad0fc
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Wed, 17 Apr 2019 04:39:27 +0000 (13:39 +0900)]
hal-interface, stream-manager: Add support for setting volume ratio to HAL
It is an extension of the previous patches regarding the
individual volume feature.
The 'ratio' parameter of the new HAL API is calculated
considering master volume ratio, group volume ratio and
individual volume ratio. The two former factors are
affected only when the volume type of the target stream
is not the HAL volume type defined in stream-map.json.
[Version] 11.1.41
[Issue type] New feature
Change-Id: I912a0f6eb1edc3fe33e058ef6290f4aba1267ed0
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Fri, 5 Apr 2019 05:18:05 +0000 (14:18 +0900)]
stream-manager-dbus: Add new DBus methods to set/get volume rate
server : org.pulseaudio.Server
object path : /org/pulseaudio/StreamManager
interface : org.pulseaudio.StreamManager
method name : SetVolumeRate
method argument : string for direction ('in' or 'out')
unsigned int for stream index
double for rate (0.0 ~ 1.0)
return value : string for return message
- success : "STREAM_MANAGER_RETURN_OK"
- no match found : "STREAM_MANAGER_RETURN_ERROR_NO_STREAM"
- internal error : "STREAM_MANAGER_RETURN_ERROR_INTERNAL"
method name : GetVolumeRate
method argument : string for direction ('in' or 'out')
unsigned int for stream index
return value : double for rate (0.0 ~ 1.0)
string for return message
- success : "STREAM_MANAGER_RETURN_OK"
- no match found : "STREAM_MANAGER_RETURN_ERROR_NO_STREAM"
[Version] 11.1.40
[Issue type] New feature
Change-Id: I8a5b3ce87af5851c208df3a4ffa39ab6c8949a09
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Mon, 8 Apr 2019 07:05:13 +0000 (16:05 +0900)]
stream-manager-dbus: Add new DBus medhod to get the pid of the lastest stream
server : org.pulseaudio.Server
object path : /org/pulseaudio/StreamManager
interface : org.pulseaudio.StreamManager
method name : GetPidOfLatestStream
method argument : string for direction ('in' or 'out')
string array for stream types (e.g. 'media','alarm','notification')
return value : unsigned int for PID
string for return message
- success : "STREAM_MANAGER_RETURN_OK"
- no match found : "STREAM_MANAGER_RETURN_ERROR_NO_STREAM"
- invalid argument : "STREAM_MANAGER_RETURN_ERROR_INVALID_ARGUMENT"
[Version] 11.1.39
[Issue type] New feature
Change-Id: Idaa2f56ed5d27d001f5e4ce566b1b361d6248388
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Mon, 8 Apr 2019 08:00:54 +0000 (17:00 +0900)]
stream-manager-dbus: Fix bug of error case
Invalid parameters of dbus_message_append_args() are fixed.
[Version] 11.1.38
[Issue type] Bug fix
Change-Id: I2c03e3690780a468d076f4b12581f5ffd3249529
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Fri, 5 Apr 2019 03:22:49 +0000 (12:22 +0900)]
stream-manager-volume: Apply individual volume ratio
In Tizen, a stream has one volume type such as media, notification,
alarm. Each type is so-called a volume group which has its own volume
value of a certain volume level. Therefore, all streams that belong to
the same volume group have the same volume value of the group.
This patch adds to calculate volume value including the individual
volume ratio of each stream's volume value to the value of its volume
group.
[Version] 11.1.37
[Issue type] New feature
Change-Id: Ie3099f37ec8f2e513b828bfc11b4dcbdb2572954
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Mon, 25 Mar 2019 08:49:41 +0000 (17:49 +0900)]
stream-manager-volume: Revise codes to improve readability
[Version] 11.1.36
[Issue type] Refactoring
Change-Id: Ieb917f9e6b7b068cd934304bc923cb86bac35615
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Thu, 14 Mar 2019 08:01:11 +0000 (17:01 +0900)]
stream-manager: Consider virtual streams when a device connection is changed
Null device of a virtual stream is taken into account in case of the device
connection changes.
The device of the virtual stream should always be a null device. In addition,
the available device defined in stream-map.json for virtual stream type is
used to set the audio routing path of internal codec, so these information
must propagate to the audio HAL properly.
[Version] 11.1.35
[Issue type] Bug fix
Change-Id: Idb18334db04ed7d28ca657b1e58a4bb263e6af73
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Fri, 8 Mar 2019 06:07:33 +0000 (15:07 +0900)]
stream-manager: Add callback for ramp finished
[Version] 11.1.34
[Issue type] New feature
Change-Id: Ibdf744e79efd08da4c8083f6be2d657a4be7b116
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Seungbae Shin [Mon, 11 Mar 2019 02:28:29 +0000 (11:28 +0900)]
device-manager-dbus: Fix SVACE defect (DEREF_OF_NULL.RET.STAT)
in addition, all other usages for pa_streq is also replaced by pa_safe_streq
[Version] 11.1.33
[Issue type] SVACE
Change-Id: I0b959cc6687a04d0e96c603f22287c944ab9df88
Sangchul Lee [Tue, 29 Jan 2019 06:03:19 +0000 (15:03 +0900)]
stream-manager: Save mute state to vconf
[Version] 11.1.32
[Issue type] Enhancement
Change-Id: If866ff2fe8489de4bfd28a4ceb9ccf1df27f7542
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Fri, 11 Jan 2019 05:38:21 +0000 (14:38 +0900)]
tizenaudio-policy: Apply volume type to output stream of module-loopback
Output stream of module-loopback has not been applied volume type.
It is fixed and now it is possible to control the volume of the
output stream in case of loopback feature if a volume type is defined
to the loopback role in stream-map.json.
Here's an example to use media volume type.(in stream-map.json)
{
"role":"loopback",
"priority" : 2,
"route-type" : "manual",
"volume-types":{"in":"none","out":"media"},
"avail-in-devices":["builtin-mic","usb-audio"],
"avail-out-devices":["builtin-speaker","usb-audio","bt-a2dp"],
"avail-frameworks":["sound-manager"]
},
Change-Id: I8335f84817ff6a3d7282c283c150c96baccf6f99
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Wed, 28 Nov 2018 07:43:32 +0000 (16:43 +0900)]
device-manager-dbus: Fix build break
It is revised according to the pulseaudio patch.
: 'Sync with upstream code' (
78c3d68d7183f0daa9e0570de24f0be92bac3659)
[Version] 11.1.30
[Issue type] Build break
Change-Id: Ic1cf6e95b676d1fecd777d5266d9d1d4998084cb
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Thu, 18 Oct 2018 02:49:24 +0000 (11:49 +0900)]
tizenaudio-sink/source: Remove card of module argument
This card argument is removed and is incorporated into the
device argument. User can pass the device argument as below.
e.g.) in case of card 0, device 0
device=0,0 rate=44100
device-manager is also revised to parse the device-string from
device-map.json properly in case of device class is for tizen.
[Version] 11.1.29
[Issue type] Bug fix
Change-Id: I56d99dbc29ad7729c5842e41110f7f0c24478fee
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Mon, 1 Oct 2018 08:53:08 +0000 (17:53 +0900)]
device-manager-db: Copy string value from dbus_message_get_args()
[Version] 11.1.28
[Issue type] Bug fix
Change-Id: Ie8c3823352a357c115a4f23f59aa88fd9a92ee8e
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Mon, 1 Oct 2018 07:05:42 +0000 (16:05 +0900)]
device-manager-dbus: Fix bug to add condition to check 'none' for normal operation
The 'none' value is to unset operation of SetSpecifcStreamOnly method.
It should not be handled as an invalid value.
[Version] 11.1.27
[Issue type] Bug fix
Change-Id: I6daed542ec48736ed9bc00573a03a6bacf1ffc05
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Seungbae Shin [Tue, 10 Jul 2018 02:54:24 +0000 (11:54 +0900)]
device-manager: Add DEVICE_TYPE_RAOP
[Version] 11.1.26
[Issue type] Feature
Change-Id: I6ee61d3a0837dca6b1061153fb5c445dc0b7d3de
Sangchul Lee [Tue, 28 Aug 2018 23:22:57 +0000 (08:22 +0900)]
device-manager-dbus: Add new DBus method to get device state
IsDeviceRunningById
: arg#1 (in) int32 for device_id
arg#2 (out) boolean for running state
[Version] 11.1.25
[Issue type] new API
Change-Id: I26c280b9cb4e5da19196af11880e38e840f8f3b8
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Fri, 3 Aug 2018 01:06:43 +0000 (10:06 +0900)]
device-manager-dbus: Change error type
[Version] 11.1.24
[Issue type] Error value
Change-Id: If037f520d67d474927d9f210dd28e350ed98ee84
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Tue, 31 Jul 2018 01:46:33 +0000 (10:46 +0900)]
device-manager-dbus: Fix to use simple array instead of struct array for out parameter
[Version] 11.1.23
[Issue type] Enhancement
Change-Id: I7911fdc8de2768a9b88a0acb55f11c16ad240140
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Thu, 26 Jul 2018 03:21:46 +0000 (12:21 +0900)]
device-manager-dbus: Functions related to DBus are moved to a new file
Files are added as below:
device-manager-dbus.c
device-manager-dbus-priv.h
[Version] 11.1.22
[Issue type] Refactor
Change-Id: I3fa759f4c3973b2106d2b5d2b1b2e9db6b5bbd7a
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Tue, 24 Jul 2018 05:03:11 +0000 (14:03 +0900)]
device-manager-db: Fix passing argument after free
SVACE issue (#348982)
[Version] 11.1.21
[Issue Type] Bug fix
Change-Id: If74b99d49314c7839637875a21fc2e93bfa3ecbc
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Jungsup Lee [Tue, 26 Jun 2018 05:16:41 +0000 (14:16 +0900)]
Use new HAL pcm open interface which has card and device parameters
[Version] 11.1.20
[Profile] Common
[Issue Type] Interface
Change-Id: I1da405ee91bb3abfaff62d1277b3c0def35c2e86
Sangchul Lee [Fri, 13 Jul 2018 07:10:16 +0000 (16:10 +0900)]
device-manager: Apply preferences which are saved via Dbus APIs
If user set a sample rate, a format and an option of avoid-resampling
for a specific USB device, it will be saved to system and loaded/applied
when the device is connected again.
[Version] 11.1.19
[Issue Type] New feature
Change-Id: I50c62272428eeed1a01b0613f0e82a49b5be272f
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Mon, 16 Jul 2018 02:23:37 +0000 (11:23 +0900)]
device-manager: Fix to apply reconfiguration even though there's no stream on a sink
The foreach statement to trigger the reconfiguration function is also removed.
[Version] 11.1.18
[Issue Type] Bug fix
Change-Id: Ib0682711161d0a8621ddcfd064068aa0080b2624
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Thu, 12 Jul 2018 08:47:48 +0000 (17:47 +0900)]
device-manager-db: Add functions to write/read preference setting to database
Files are added as below:
device-manager-db.c
device-manager-db-priv.h
device-manager-priv.h
[Version] 11.1.17
[Issue Type] New feature
Change-Id: If455049846440524c7dcf4b43049438249ed6254
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Tue, 10 Jul 2018 08:24:19 +0000 (17:24 +0900)]
device-manager: Add Dbus interfaces to set/get avoid-resampling feature
Methods are added as below
- SetAvoidResampling
: arg#1 (in) int32 for device_id
arg#2 (in) boolean for enable/disable
- GetAvoidResampling
: arg#1 (in) int32 for device_id
arg#2 (out) boolean for enabled/disabled
Those APIs are only for usb output device.
Note that the functionality of setting '0' with SetSampleRate method
is totally moved to this SetAvoidResampling method.
[Version] 11.1.16
[Issue Type] New feature
Change-Id: I0f90b1b277349f86b1017b30203260caa3b83243
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Thu, 28 Jun 2018 08:19:54 +0000 (17:19 +0900)]
device-manager: Add Dbus interfaces related to sample format of usb device
Methods are added as below
- GetSupportedSampleFormats
: arg#1 (in) int32 for device_id
arg#2 (out) string array for sample_formats
- SetSampleFormat
: arg#1 (in) int32 for device_id
arg#2 (in) string for sample_format
- GetSampleFormat
: arg#1 (in) int32 for device_id
arg#2 (out) string for sample_format
Those APIs are only for usb output device.
[Version] 11.1.15
[Issue Type] New feature
Change-Id: I07e42098fabcf2d4ea8efe486c1da63da3741722
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Thu, 5 Jul 2018 03:15:41 +0000 (12:15 +0900)]
device-manager: Fix to avoid assertion if the device type is not valid
[Version] 11.1.14
[Issue Type] Enhancement
Change-Id: I20fac43a9fee73eb20fcbf309c0c6a9bbc6bdd34
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Seungbae Shin [Mon, 2 Jul 2018 02:29:06 +0000 (11:29 +0900)]
Fix SVACE defects
[Version] 11.1.13
[Issue Type] SVACE
Change-Id: I0daf43bcc7ab9c83a0f507eccd6fd8e2ff46624e
Seungbae Shin [Mon, 25 Jun 2018 08:02:12 +0000 (17:02 +0900)]
Fix use-after-free bug for idxset free
[Version] 11.1.12
[Issue Type] Bug Fix
Change-Id: I342a61f69fd7f0705509f785dd82652839514262
Sangchul Lee [Wed, 16 May 2018 08:14:02 +0000 (17:14 +0900)]
device-manager, stream-manager: Add to check valid stream role
pa_stream_manager_is_valid_stream_role() is added.
[Version] 11.1.11
[Issue Type] Enhancement
Change-Id: I9448722e66212ca26c6d09f9e645f0ad8717ab67
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Wed, 16 May 2018 08:13:21 +0000 (17:13 +0900)]
stream-manager: Change functions of init/done to get/ref/unref
[Version] 11.1.10
[Issue Type] Enhancement
Change-Id: I08024adfefe376043293c38c9dbedf4f0a69f539
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Mon, 14 May 2018 03:27:36 +0000 (12:27 +0900)]
tizenaudio-policy: Check specified stream role to skip selecting in case of usb device
[Version] 11.1.9
[Issue Type] New feature
Change-Id: I89f6aba8c6ab9bdf2ccd5aa6cc55c7cf183274b7
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Fri, 11 May 2018 07:58:32 +0000 (16:58 +0900)]
device-manager: Add Dbus interfaces to specify stream role to usb device
Methods are added as below
- SetSpecificStreamOnly
: arg#1 (in) int32 for device_id
arg#2 (in) string for stream_role
- GetSpecifiedStream
: arg#1 (in) int32 for device_id
arg#2 (out) string for stream_role
This information will be used in policy logic to determine which
stream is available for the usb device according to the value.
pa_tz_device_get_specified_stream_role() is also added in tizen-device.c
[Version] 11.1.8
[Issue Type] New feature
Change-Id: I63cbf5e386ab6863c30a6791e4c158cb8eb8c616
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Fri, 11 May 2018 01:44:57 +0000 (10:44 +0900)]
device-manager: Add Dbus interfaces related to sample rate of usb device
Methods are added as below
- GetSupportedSampleRates
: arg#1 (in) int32 for device_id
arg#2 (out) uint32 array for sample_rates
- SetSampleRate
: arg#1 (in) int32 for device_id
arg#2 (in) uint32 for sample_rate
- GetSampleRate
: arg#1 (in) int32 for device_id
arg#2 (out) uint32 for sample_rate
1. Those APIs are only for usb output device.
2. Here's description about setting sample rate to '0'.
If sample rate is set to '0', it will work to use stream's original sample
rate if the usb device supports the sample rate. In this case, if the
stream's sample rate is lower than default and alternate sample rate of
pulseaudio configuration, it will use the default or the alternate sample
rate. When mixing case happens in the same usb device, the sample rate of
the prior stream will be maintained.
[Version] 11.1.7
[Issue Type] New feature
Change-Id: I7f82d5aefbc84e0641fc05dab86bc89def897c66
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Thu, 31 May 2018 02:55:45 +0000 (11:55 +0900)]
tizen-device: Add to initialize related member variable of sink/source before freeing device
[Version] 11.1.6
[Issue Type] Bug fix
Change-Id: Ifd0f354e82b3c96ccf7ccb34f87308e00ae5183a
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Jeongmo Yang [Fri, 27 Apr 2018 01:23:41 +0000 (10:23 +0900)]
Replace mm-hal-interface by mm-hal-interface-devel
- The header files have been moved to mm-hal-interface-devel package
[Version] 11.1.5-1
[Issue Type] Build
Change-Id: Icdddca03bf7b27dc3cf656d1a0188026dc83cb5a
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
Seungbae Shin [Mon, 23 Apr 2018 11:38:59 +0000 (20:38 +0900)]
Fix for coverity defects
[Version] 11.1.5
[Issue Type] Security
Change-Id: I8b22ee1451f91e294e59e07d33ac53cb7208a27e
Seungbae Shin [Mon, 23 Apr 2018 10:15:40 +0000 (19:15 +0900)]
Fix for TV product build macro
[Version] 11.1.4
[Issue Type] Build
Change-Id: I285976c73c3716bf12c280e67d002df53bfcd628
Sangchul Lee [Fri, 20 Apr 2018 03:22:17 +0000 (12:22 +0900)]
device-manager: Skip notifying change of running state in case of null sink/source explicitly.
null sink/source can not be represented as a device of device-manager.
[Version] 11.1.3
[Issue Type] Bug fix
Change-Id: I7e3d353acd703e1da754fd83e374bba33e14b02c
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Seungbae Shin [Thu, 19 Apr 2018 08:00:19 +0000 (17:00 +0900)]
Fix json-c depreacted macro (is_error) usage.
[Version] 11.1.2
[Issue Type] Deprecation
Change-Id: I7c21aaf4af36b5de3eeadc17182eaf616b1ffd28
Sangchul Lee [Tue, 3 Apr 2018 05:06:06 +0000 (14:06 +0900)]
stream-manager-dbus: Remove codes regarding session backward compatibility
[Version] 11.1.1
[Issue Type] Code clean-up
Change-Id: If5dec7bc5c8dd95a3c0586c8e0bec1018de093d0
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Seungbae Shin [Thu, 18 Jan 2018 14:36:01 +0000 (23:36 +0900)]
Modification for core version upgrade
[Version] 11.1.0
[Issue Type] Core Upgrade
Change-Id: I80c07bc225b5d732900610d5d0e06d036d83c424
Sangchul Lee [Tue, 26 Sep 2017 00:40:23 +0000 (09:40 +0900)]
Add support for new device state for running
This new state represents if a device is running or not.
If a stream is though a device, the state of the device will be changed to
the running state. Notifications regarding this are provided as well.
[Version] 5.0.176
[Issue Type] New feature
Change-Id: I8e5cad3e47b1e31e21c230985ab721e23afdaad0
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Seungbae Shin [Thu, 19 Oct 2017 07:19:49 +0000 (16:19 +0900)]
Fix Coverity Defects
[Version] 5.0.175
[Issue Type] Security
Change-Id: I90606af4387eb473c9edc8fa3b892d0bfde85074
Sangchul Lee [Fri, 13 Oct 2017 07:48:36 +0000 (16:48 +0900)]
device-manager: Update sco open state in dbus_filter_device_detect_handler()
[Version] 5.0.174
[Issue Type] Enhancement
Change-Id: I0440b19f10512d3a97922fe89fa9bfac035b411a
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
(cherry picked from commit
5c9e9e625ff1e3e7317ee420dfd28a68cb847516)
Seungbae Shin [Tue, 10 Oct 2017 12:10:07 +0000 (21:10 +0900)]
Fix Coverity Defects
[Version] 5.0-173
[Issue Type] Security
Change-Id: Ic9eb88001ad3de157ea4940bce64a7f79609a12b
Sangchul Lee [Mon, 18 Sep 2017 07:24:24 +0000 (16:24 +0900)]
delay, filter: Fix svace issues
Add null checking codes after calloc()
[Version] 5.0.172
[Issue Type] Enhancement
Change-Id: Iee592d191770289b84436b0e9adc65dcf3798fc9
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Fri, 8 Sep 2017 01:13:55 +0000 (10:13 +0900)]
device-manager: Notify bluetooth asynchronous information for SCO to HAL
Values of 'bt-wideband','bt-nrec','bt-sco-ready' are forwarded to audio HAL
[Version] 5.0.171
[Issue Type] Enhancement
Change-Id: Ifdb28887b5d44aafe3eaf121d2463b6a2bf24c81
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Mon, 28 Aug 2017 07:19:26 +0000 (16:19 +0900)]
stream-manager: Call pa_hal_interface_update_route_option() even if there's no occupied stream
[Version] 5.0.170
[Issue Type] Enhancement
Change-Id: Iba0b4fc98a5c2f05374498ed18ca3efe58224ab9
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Thu, 17 Aug 2017 07:23:16 +0000 (16:23 +0900)]
device-manager: fix invalid appending of DBusMessageIter in handle_get_device_id()
It seems copy & paste error of the previous commit
- device-manager: Add vendor/product id for USB device
-
fbcd30939c27a2154c430b1df4c5568e115107f0
[Version] 5.0.169
[Issue Type] Bug fix
Change-Id: Id00147f54eebe397c94053e696d9370d045ee59c
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>