Skip master volume in set_volume_level 14/108214/1 accepted/tizen/3.0.m2/mobile/20170104.100206 accepted/tizen/3.0.m2/tv/20170104.100400 accepted/tizen/3.0.m2/wearable/20170104.101001 accepted/tizen/3.0/common/20170103.173100 accepted/tizen/3.0/ivi/20170103.160211 accepted/tizen/3.0/mobile/20170103.160140 accepted/tizen/3.0/tv/20170103.160155 accepted/tizen/3.0/wearable/20170103.160203 submit/tizen_3.0.m2/20170104.093748 submit/tizen_3.0/20170103.121528
authorJeongho Mok <jho.mok@samsung.com>
Tue, 3 Jan 2017 10:45:47 +0000 (19:45 +0900)
committerJeongho Mok <jho.mok@samsung.com>
Tue, 3 Jan 2017 10:46:13 +0000 (19:46 +0900)
[Version] 0.1.10
[Profile] Common
[Issue Type] Code Enhancement

Change-Id: I9550ec4c2a911d8fe54d64fde1ffe884c8aba2ff

packaging/audio-hal-wm1831.spec
tizen-audio-volume.c

index 42655a8cff572b73fc12e91216fe97577398812c..b2efb17a3d67714d35a96d34b656d86359dd58db 100644 (file)
@@ -1,6 +1,6 @@
 Name:       audio-hal-wm1831
 Summary:    TIZEN Audio HAL for WM1831
-Version:    0.1.9
+Version:    0.1.10
 Release:    0
 Group:      System/Libraries
 License:    Apache-2.0
index 89d5124ec4401f2a56d25c59ce88cda28654f398..f072869076732cb7da04a439ddedcabc13f9a6cc 100644 (file)
@@ -35,6 +35,8 @@
 #define VOLUME_VALUE_MAX            (1.0f)
 #define GAIN_VALUE_MAX              (1.0f)
 
+uint32_t g_master_volume_level = 100;
+
 static const char *g_volume_vconf[AUDIO_VOLUME_TYPE_MAX] = {
     "file/private/sound/volume/system",         /* AUDIO_VOLUME_TYPE_SYSTEM */
     "file/private/sound/volume/notification",   /* AUDIO_VOLUME_TYPE_NOTIFICATION */
@@ -310,6 +312,11 @@ audio_return_t audio_get_volume_level_max(void *audio_handle, audio_volume_info_
     AUDIO_RETURN_VAL_IF_FAIL(info, AUDIO_ERR_PARAMETER);
     AUDIO_RETURN_VAL_IF_FAIL(level, AUDIO_ERR_PARAMETER);
 
+    if (!strncmp(info->type, "master", strlen("master"))) {
+        *level = g_master_volume_level;
+        return AUDIO_RET_OK;
+    }
+
     /* Get max volume level by device & type */
     *level = ah->volume.volume_level_max[__get_volume_idx_by_string_type(info->type)];
 
@@ -364,6 +371,10 @@ audio_return_t audio_set_volume_level(void *audio_handle, audio_volume_info_t *i
 
     AUDIO_RETURN_VAL_IF_FAIL(ah, AUDIO_ERR_PARAMETER);
     AUDIO_RETURN_VAL_IF_FAIL(info, AUDIO_ERR_PARAMETER);
+    if (!strncmp(info->type, "master", strlen("master"))) {
+        g_master_volume_level = level;
+        return AUDIO_RET_OK;
+    }
     AUDIO_RETURN_VAL_IF_FAIL((ah->volume.volume_level_max[__get_volume_idx_by_string_type(info->type)] >= level), AUDIO_ERR_PARAMETER);
 
     /* Update volume level */