ret = _mmradio_apply_region(radio, region, update);
-#ifdef TIZEN_FEATURE_SOUND_VSTREAM
ret = sound_manager_create_stream_information_internal(SOUND_STREAM_TYPE_RADIO, NULL, radio, &radio->stream_info);
if (ret != MM_ERROR_NONE) {
MMRADIO_LOG_ERROR("failed to create stream information");
MMRADIO_LOG_FLEAVE();
return ret;
}
-#endif
+
MMRADIO_SET_STATE(radio, MM_RADIO_STATE_READY);
MMRADIO_LOG_FLEAVE();
/*Stop radio if started*/
_mmradio_stop(radio);
-#ifdef TIZEN_FEATURE_SOUND_VSTREAM
if (radio->vstream) {
sound_manager_destroy_virtual_stream(radio->vstream);
radio->vstream = NULL;
sound_manager_destroy_stream_information(radio->stream_info);
radio->stream_info = NULL;
}
-#endif
MMRADIO_SET_STATE(radio, MM_RADIO_STATE_NULL);
int _mmradio_mute(mm_radio_t *radio)
{
- int ret = MM_ERROR_NONE;
MMRADIO_LOG_FENTER();
MMRADIO_CHECK_INSTANCE(radio);
MMRADIO_CHECK_STATE_RETURN_IF_FAIL(radio, MMRADIO_COMMAND_MUTE);
- ret = radio_hal_mute(radio->hal_inf);
- if (ret) {
- ret = __convert_error_code(ret, (char *)__FUNCTION__);
- if (ret == MM_ERROR_NOT_IMPLEMENTED)
- MMRADIO_LOG_WARNING("radio_hal_mute is not supported");
- else
- MMRADIO_LOG_ERROR("failed to set radio hal mute");
- return ret;
- }
+ if (radio->vstream)
+ sound_manager_set_virtual_stream_volume(radio->vstream, 0);
radio->is_muted = true;
MMRADIO_LOG_INFO("Radio mute state [%d]", radio->is_muted);
int _mmradio_unmute(mm_radio_t *radio)
{
- int ret = MM_ERROR_NONE;
MMRADIO_LOG_FENTER();
MMRADIO_CHECK_INSTANCE(radio);
MMRADIO_CHECK_STATE_RETURN_IF_FAIL(radio, MMRADIO_COMMAND_UNMUTE);
- ret = radio_hal_unmute(radio->hal_inf);
- if (ret) {
- ret = __convert_error_code(ret, (char *)__FUNCTION__);
- if (ret == MM_ERROR_NOT_IMPLEMENTED)
- MMRADIO_LOG_WARNING("radio_hal_unmute is not supported");
- else
- MMRADIO_LOG_ERROR("failed to set radio hal unmute");
- return ret;
- }
+ if (radio->vstream)
+ sound_manager_set_virtual_stream_volume(radio->vstream,
+ (double)radio->local_volume);
+
radio->is_muted = false;
MMRADIO_LOG_INFO("Radio mute state [%d]", radio->is_muted);
goto error1;
}
-#ifdef TIZEN_FEATURE_SOUND_VSTREAM
ret = sound_manager_start_virtual_stream(radio->vstream);
if (ret) {
MMRADIO_LOG_ERROR("failed to start sound manager virtual stream");
goto error1;
}
-#endif
+
+ if (radio->vstream) {
+ double set_volume = 0;
+ if (!radio->is_muted)
+ set_volume = (double)radio->local_volume;
+ sound_manager_set_virtual_stream_volume(radio->vstream,
+ (double)set_volume);
+ }
MMRADIO_SET_STATE(radio, MM_RADIO_STATE_PLAYING);
/*cancel if any seek*/
_mmradio_seek_cancel(radio);
-#ifdef TIZEN_FEATURE_SOUND_VSTREAM
+
ret = sound_manager_stop_virtual_stream(radio->vstream);
if (ret != MM_ERROR_NONE) {
MMRADIO_LOG_ERROR("failed to stop virtual_stream");
return ret;
}
-#endif
ret = radio_hal_stop(radio->hal_inf);
if (ret) {
ret = __convert_error_code(ret, (char *)__FUNCTION__);
if (ret == MM_ERROR_NOT_IMPLEMENTED) {
- MMRADIO_LOG_WARNING("radio_hal_unmute is not supported");
+ MMRADIO_LOG_WARNING("radio_hal_stop is not supported");
} else {
MMRADIO_LOG_ERROR("failed to stop radio hal");
return ret;
radio->seek_unmute = false;
if (!radio->is_muted) {
- ret = radio_hal_mute(radio->hal_inf);
+ ret = _mmradio_mute(radio);
if (ret) {
- ret = __convert_error_code(ret, (char *)__FUNCTION__);
- if (ret == MM_ERROR_NOT_IMPLEMENTED) {
- MMRADIO_LOG_WARNING("radio_hal_mute is not supported");
- } else {
- MMRADIO_LOG_ERROR("failed to set radio hal mute");
- return ret;
- }
+ MMRADIO_LOG_ERROR("failed to set radio mute");
+ return ret;
}
radio->seek_unmute = true;
}
}
if (radio->old_state == MM_RADIO_STATE_PLAYING) {
- ret = radio_hal_mute(radio->hal_inf);
+ ret = _mmradio_mute(radio);
if (ret) {
- ret = __convert_error_code(ret, (char *)__FUNCTION__);
- if (ret == MM_ERROR_NOT_IMPLEMENTED) {
- MMRADIO_LOG_WARNING("radio_hal_mute is not supported");
- } else {
- MMRADIO_LOG_ERROR("faied to set radio hal mute");
- goto FINISHED;
- }
+ MMRADIO_LOG_ERROR("failed to set radio mute");
+ goto FINISHED;
}
}
MMRADIO_LOG_DEBUG("old state is ready");
} else if (radio->old_state == MM_RADIO_STATE_PLAYING) {
MMRADIO_LOG_DEBUG("old state is playing");
- ret = radio_hal_unmute(radio->hal_inf);
+ ret = _mmradio_unmute(radio);
if (ret) {
- ret = __convert_error_code(ret, (char *)__FUNCTION__);
- if (ret == MM_ERROR_NOT_IMPLEMENTED) {
- MMRADIO_LOG_WARNING("radio_hal_unmute is not supported");
- } else {
- MMRADIO_LOG_ERROR("failed to set radio hal unmute");
- goto FINISHED_ERR;
- }
+ MMRADIO_LOG_ERROR("failed to set radio unmute");
+ goto FINISHED_ERR;
}
ret = radio_hal_set_frequency(radio->hal_inf, prev_freq);
if (ret) {
* In the case of limit freq, tuner should be unmuted.
* Otherwise, sound can't output even though application set new frequency.
*/
- ret = radio_hal_unmute(radio->hal_inf);
+ ret = _mmradio_unmute(radio);
if (ret) {
- ret = __convert_error_code(ret, (char *)__FUNCTION__);
- if (ret == MM_ERROR_NOT_IMPLEMENTED) {
- MMRADIO_LOG_WARNING("radio_hal_unmute is not supported");
- } else {
- MMRADIO_LOG_ERROR("failed to set radio hal unmute");
- goto SEEK_FAILED;
- }
+ MMRADIO_LOG_ERROR("failed to set radio unmute");
+ goto SEEK_FAILED;
}
radio->seek_unmute = false;
}
* In the case of limit freq, tuner should be unmuted.
* Otherwise, sound can't output even though application set new frequency.
*/
- ret = radio_hal_unmute(radio->hal_inf);
+ ret = _mmradio_unmute(radio);
if (ret)
- MMRADIO_LOG_ERROR("failed to set unmute radio hal");
+ MMRADIO_LOG_ERROR("failed to set radio unmute");
radio->seek_unmute = false;
}
p_thread->is_running = false;
MMRADIO_VOLUME_LOCK(radio);
radio->local_volume = volume;
-#ifdef TIZEN_FEATURE_SOUND_VSTREAM
if (radio->vstream)
- ret = sound_manager_set_virtual_stream_volume(radio->vstream, (double)radio->local_volume);
-#endif
+ sound_manager_set_virtual_stream_volume(radio->vstream,
+ (double)radio->local_volume);
+
MMRADIO_VOLUME_UNLOCK(radio);
MMRADIO_LOG_FLEAVE();