Fix noise when unmuting radio volume 04/210304/1 accepted/tizen_5.5_unified accepted/tizen_5.5_unified_mobile_hotfix accepted/tizen_5.5_unified_wearable_hotfix tizen_5.5 tizen_5.5_mobile_hotfix tizen_5.5_tv tizen_5.5_wearable_hotfix accepted/tizen/5.5/unified/20191031.033136 accepted/tizen/5.5/unified/mobile/hotfix/20201027.081443 accepted/tizen/5.5/unified/wearable/hotfix/20201027.122856 accepted/tizen/unified/20190719.111655 submit/tizen/20190718.054451 submit/tizen/20200709.065706 submit/tizen_5.5/20191031.000002 submit/tizen_5.5/20191031.000011 submit/tizen_5.5/20191031.000012 submit/tizen_5.5/20191031.000013 submit/tizen_5.5_mobile_hotfix/20201026.185101 submit/tizen_5.5_wearable_hotfix/20201026.184301 tizen_5.5.m2_release
authorSangchul Lee <sc11.lee@samsung.com>
Thu, 18 Jul 2019 04:06:22 +0000 (13:06 +0900)
committerSangchul Lee <sc11.lee@samsung.com>
Thu, 18 Jul 2019 04:06:22 +0000 (13:06 +0900)
[Version] 0.1.31
[Issue Type] Improvement

Change-Id: I8b8063986c3e17d812afcf654c099967ec70919a
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
packaging/audio-hal-sc7727.spec
tizen-audio-volume.c

index ffa9242..a575d74 100644 (file)
@@ -1,6 +1,6 @@
 Name:       audio-hal-sc7727
 Summary:    TIZEN Audio HAL for SC7727
-Version:    0.1.30
+Version:    0.1.31
 Release:    0
 Group:      System/Libraries
 License:    Apache-2.0
index 97e445c..8dd03f1 100644 (file)
@@ -360,18 +360,6 @@ static audio_return_t _audio_volume_set_ratio_radio(audio_hal_t *ah, double rati
         goto set_volume;
     }
 
-    /* Unmute if muted */
-    if ((audio_ret = _mixer_control_get_value(ah, MIXER_FMRADIO_MUTE, &mute))) {
-        AUDIO_LOG_ERROR("[mute get] get mixer(%s) failed", MIXER_FMRADIO_MUTE);
-        return audio_ret;
-    }
-    if (mute == FMRADIO_MUTE_ON) {
-        if ((audio_ret = _mixer_control_set_value(ah, MIXER_FMRADIO_MUTE, FMRADIO_MUTE_OFF))) {
-            AUDIO_LOG_ERROR("[mute off] set mixer(%s) failed", MIXER_FMRADIO_MUTE);
-            return audio_ret;
-        }
-    }
-
     max_value = ah->volume.radio_volume_value_table[ah->volume.radio_volume_num_of_levels - 1];
     min_value = ah->volume.radio_volume_value_table[0];
     new_value = (int) (ratio * (max_value - min_value) + min_value);
@@ -399,6 +387,21 @@ set_volume:
         }
     }
 
+    if (ratio == 0)
+        return audio_ret;
+
+    /* Unmute if muted */
+    if ((audio_ret = _mixer_control_get_value(ah, MIXER_FMRADIO_MUTE, &mute))) {
+        AUDIO_LOG_ERROR("[mute get] get mixer(%s) failed", MIXER_FMRADIO_MUTE);
+        return audio_ret;
+    }
+    if (mute == FMRADIO_MUTE_ON) {
+        if ((audio_ret = _mixer_control_set_value(ah, MIXER_FMRADIO_MUTE, FMRADIO_MUTE_OFF))) {
+            AUDIO_LOG_ERROR("[mute off] set mixer(%s) failed", MIXER_FMRADIO_MUTE);
+            return audio_ret;
+        }
+    }
+
     return audio_ret;
 }