From: Sangchul Lee Date: Mon, 9 Nov 2015 06:15:17 +0000 (+0900) Subject: Set vconf key when the dbus API for set volume succeed X-Git-Tag: submit/tizen/20151110.050237^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=abb271f507e648b4ed0cc00856216fb5e69423bb;p=platform%2Fcore%2Fapi%2Fsound-manager.git Set vconf key when the dbus API for set volume succeed [Version] Release 0.3.26 [profile] Common [Issue Type] Feature enhancement Change-Id: I06df81a2d5ec236c79fb7f253d7d50a8dd4ca02d Signed-off-by: Sangchul Lee --- diff --git a/CMakeLists.txt b/CMakeLists.txt index 6231e5f..ffce898 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -23,7 +23,7 @@ SET(service "media") SET(submodule "sound-manager") # for package file -SET(dependents "mm-sound dlog capi-base-common mm-session libpulse gio-2.0") +SET(dependents "mm-sound dlog capi-base-common mm-session libpulse gio-2.0 vconf") SET(pc_dependents "capi-base-common") # for deb diff --git a/packaging/capi-media-sound-manager.spec b/packaging/capi-media-sound-manager.spec index bd1e643..c120843 100755 --- a/packaging/capi-media-sound-manager.spec +++ b/packaging/capi-media-sound-manager.spec @@ -1,6 +1,6 @@ Name: capi-media-sound-manager Summary: Sound Manager library -Version: 0.3.25 +Version: 0.3.26 Release: 0 Group: Multimedia/API License: Apache-2.0 diff --git a/src/sound_manager_private.c b/src/sound_manager_private.c index de3cf8f..61ac59c 100644 --- a/src/sound_manager_private.c +++ b/src/sound_manager_private.c @@ -17,6 +17,7 @@ #include #include #include +#include #define PA_BUS_NAME "org.pulseaudio.Server" #define PA_STREAM_MANAGER_OBJECT_PATH "/org/pulseaudio/StreamManager" @@ -29,6 +30,8 @@ #define PA_STREAM_MANAGER_METHOD_NAME_SET_VOLUME_LEVEL "SetVolumeLevel" #define PA_STREAM_MANAGER_METHOD_NAME_GET_CURRENT_VOLUME_TYPE "GetCurrentVolumeType" #define PA_STREAM_MANAGER_METHOD_NAME_UPDATE_FOCUS_STATUS "UpdateFocusStatus" +#define VCONF_PATH_PREFIX_VOLUME "file/private/sound/volume/" +#define VCONF_PATH_MAX 64 extern _session_interrupt_info_s g_session_interrupt_cb_table; extern _session_mode_e g_cached_session_mode; @@ -727,7 +730,6 @@ int _set_manual_route_info(unsigned int index, manual_route_info_s *info) int _set_route_option(unsigned int index, const char *name, int value) { int ret = MM_ERROR_NONE; - GVariant *result = NULL; GDBusConnection *conn = NULL; GError *err = NULL; @@ -777,7 +779,6 @@ int _set_route_option(unsigned int index, const char *name, int value) int _get_volume_max_level(const char *direction, const char *volume_type, unsigned int *max_level) { int ret = MM_ERROR_NONE; - GVariant *result = NULL; GDBusConnection *conn = NULL; GError *err = NULL; @@ -824,7 +825,6 @@ int _get_volume_max_level(const char *direction, const char *volume_type, unsign int _get_volume_level(const char *direction, const char *volume_type, unsigned int *level) { int ret = MM_ERROR_NONE; - GVariant *result = NULL; GDBusConnection *conn = NULL; GError *err = NULL; @@ -871,7 +871,6 @@ int _get_volume_level(const char *direction, const char *volume_type, unsigned i int _set_volume_level(const char *direction, const char *volume_type, unsigned int level) { int ret = MM_ERROR_NONE; - GVariant *result = NULL; GDBusConnection *conn = NULL; GError *err = NULL; @@ -898,7 +897,7 @@ int _set_volume_level(const char *direction, const char *volume_type, unsigned i NULL, &err); if (!result && err) { - LOGE("g_dbus_connection_call_sync() for GET_VOLUME_LEVEL error (%s)", err->message); + LOGE("g_dbus_connection_call_sync() for SET_VOLUME_LEVEL error (%s)", err->message); g_error_free(err); ret = MM_ERROR_SOUND_INTERNAL; } else { @@ -907,7 +906,14 @@ int _set_volume_level(const char *direction, const char *volume_type, unsigned i 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))) ret = MM_ERROR_SOUND_INTERNAL; - + else { + int vret = 0; + char volume_path[VCONF_PATH_MAX] = {0,}; + /* Set volume value to VCONF */ + snprintf(volume_path, sizeof(volume_path)-1, "%s%s", VCONF_PATH_PREFIX_VOLUME, volume_type); + if ((vret = vconf_set_int(volume_path, (int)level))) + LOGE("vconf_set_int(%s) failed..ret[%d]\n", volume_path, vret); + } g_variant_unref(result); } g_object_unref(conn); @@ -917,7 +923,6 @@ int _set_volume_level(const char *direction, const char *volume_type, unsigned i int _get_current_volume_type(const char *direction, char **volume_type) { int ret = MM_ERROR_NONE; - GVariant *result = NULL; GDBusConnection *conn = NULL; GError *err = NULL;