diff options
Diffstat (limited to 'tizen-audio-volume.c')
-rw-r--r-- | tizen-audio-volume.c | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/tizen-audio-volume.c b/tizen-audio-volume.c index 97e445c..8dd03f1 100644 --- a/tizen-audio-volume.c +++ b/tizen-audio-volume.c @@ -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; } |