Add invalid state error in _activate_ducking() 38/218338/2 accepted/tizen/unified/20191126.124717 submit/tizen/20191122.025001
authorJeongmo Yang <jm80.yang@samsung.com>
Thu, 21 Nov 2019 10:23:51 +0000 (19:23 +0900)
committerJeongmo Yang <jm80.yang@samsung.com>
Fri, 22 Nov 2019 01:48:23 +0000 (10:48 +0900)
[Version] 0.5.46
[Profile] Common
[Issue Type] Update

Change-Id: If734ff442ceb2d0b7807101e81dd5bbe7355b573
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
packaging/capi-media-sound-manager.spec
src/sound_manager.c
src/sound_manager_private.c

index 1110d5b504e781dc550e5a3d9de5b6204b8f0636..a447d692deaeb9daf49bd24c9b1ca573d61ea732 100644 (file)
@@ -1,6 +1,6 @@
 Name:       capi-media-sound-manager
 Summary:    Sound Manager library
-Version:    0.5.45
+Version:    0.5.46
 Release:    0
 Group:      Multimedia/API
 License:    Apache-2.0
index b461291a5150aaf3bb0324dc520f1bf62f191aa3..c2cf377208e32736663f6a1fd89f4ea0cec730ea 100644 (file)
@@ -1324,11 +1324,13 @@ int sound_manager_activate_ducking(sound_stream_ducking_h stream_ducking, unsign
 
        SM_ENTER_CRITICAL_SECTION_WITH_RETURN(&ducking_mutex, SOUND_MANAGER_ERROR_INTERNAL);
 
-       ducking->duration = duration;
-       ducking->ratio = ratio;
-
        ret = _activate_ducking(ducking->pa_info.index,
-               true, ducking->target_stream, ducking->duration, ducking->ratio);
+               true, ducking->target_stream, (uint32_t)duration, ratio);
+
+       if (ret == MM_ERROR_NONE) {
+               ducking->duration = duration;
+               ducking->ratio = ratio;
+       }
 
        SM_LEAVE_CRITICAL_SECTION(&ducking_mutex);
 
@@ -1357,7 +1359,7 @@ int sound_manager_deactivate_ducking(sound_stream_ducking_h stream_ducking)
        SM_ENTER_CRITICAL_SECTION_WITH_RETURN(&ducking_mutex, SOUND_MANAGER_ERROR_INTERNAL);
 
        ret = _activate_ducking(ducking->pa_info.index,
-               false, ducking->target_stream, ducking->duration, ducking->ratio);
+               false, ducking->target_stream, (uint32_t)ducking->duration, ducking->ratio);
 
        SM_LEAVE_CRITICAL_SECTION(&ducking_mutex);
 
index eccd35e0eaf9e93f99031817ea8a9dc5a0d6bfa2..3930c5bd12fb1f9162e1a2e39403f2a5c2982eea 100644 (file)
@@ -2830,7 +2830,9 @@ int _activate_ducking(uint32_t stream_index, bool enable, const char *target_str
 
        LOGI("g_dbus_connection_call_sync() success, method return value is (%s)", dbus_ret);
 
-       if (strncmp("STREAM_MANAGER_RETURN_OK", dbus_ret, strlen(dbus_ret)))
+       if (!strncmp("STREAM_MANAGER_RETURN_ERROR_INVALID_STATE", dbus_ret, strlen(dbus_ret)))
+               ret = MM_ERROR_SOUND_INVALID_STATE;
+       else if (strncmp("STREAM_MANAGER_RETURN_OK", dbus_ret, strlen(dbus_ret)))
                ret = MM_ERROR_SOUND_INTERNAL;
 
 LEAVE: