diff options
author | Sangchul Lee <sc11.lee@samsung.com> | 2019-07-11 10:43:38 +0900 |
---|---|---|
committer | Sangchul Lee <sc11.lee@samsung.com> | 2019-07-11 14:14:58 +0900 |
commit | afb640dea119e62254ecf245250b0905c9a7514b (patch) | |
tree | 6632d7aa7af8282170261ac3f180b28d7ff7b161 /src | |
parent | 9b293d1377d40904e15efe67dbf9be422ca82bdc (diff) | |
download | libmm-radio-afb640dea119e62254ecf245250b0905c9a7514b.tar.gz libmm-radio-afb640dea119e62254ecf245250b0905c9a7514b.tar.bz2 libmm-radio-afb640dea119e62254ecf245250b0905c9a7514b.zip |
Remove radio volume logic for media volumesubmit/tizen/20190715.061154
It is moved to audio HAL.
:10ab0a383a32f1a69f8d95cb8304343579d70477
For emulator gstpipeline, volume element is remove.
Instead, audiosink volume/mute properties are used.
The dependency of libmm-sound is removed.
[Version] 0.2.46
[Issue Type] Refactoring
Change-Id: I322ca6b00d503d0e8844536d3f92457c8a7ac2a1
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/include/mm_radio_priv.h | 2 | ||||
-rw-r--r-- | src/include/mm_radio_priv_hal.h | 4 | ||||
-rw-r--r-- | src/mm_radio_priv_emulator.c | 14 | ||||
-rw-r--r-- | src/mm_radio_priv_hal.c | 120 |
4 files changed, 13 insertions, 127 deletions
diff --git a/src/include/mm_radio_priv.h b/src/include/mm_radio_priv.h index a806c12..1c88fe2 100644 --- a/src/include/mm_radio_priv.h +++ b/src/include/mm_radio_priv.h @@ -169,7 +169,6 @@ typedef struct _mm_radio_gstreamer_s { GstElement *pipeline; GstElement *audiosrc; GstElement *queue2; - GstElement *volume; GstElement *audiosink; GstBuffer *output_buffer; } mm_radio_gstreamer_s; @@ -220,7 +219,6 @@ typedef struct { mm_resource_manager_res_h radio_resource; int interrupted_by_resource_conflict; - unsigned int subs_id; float local_volume; /* region settings */ diff --git a/src/include/mm_radio_priv_hal.h b/src/include/mm_radio_priv_hal.h index 3270314..6f011e3 100644 --- a/src/include/mm_radio_priv_hal.h +++ b/src/include/mm_radio_priv_hal.h @@ -201,15 +201,11 @@ typedef struct { sound_stream_info_h stream_info; virtual_sound_stream_h vstream; #endif - unsigned int volume_subs_id; - int freq; /* command lock */ pthread_mutex_t volume_lock; - unsigned int max_media_volume; - unsigned int media_volume; float local_volume; /* region settings */ diff --git a/src/mm_radio_priv_emulator.c b/src/mm_radio_priv_emulator.c index 4c4d94f..9df743e 100644 --- a/src/mm_radio_priv_emulator.c +++ b/src/mm_radio_priv_emulator.c @@ -227,7 +227,6 @@ int _mmradio_create_radio(mm_radio_t * radio) radio->radio_fd = -1; radio->freq = DEFAULT_FREQ; memset(&radio->region_setting, 0, sizeof(MMRadioRegion_t)); - radio->subs_id = 0; radio->local_volume = 1.0; /* create msg queue for msg thread */ @@ -450,7 +449,7 @@ int _mmradio_mute(mm_radio_t * radio) #ifdef USE_GST_PIPELINE if (radio->pGstreamer_s) { - g_object_set(radio->pGstreamer_s->volume, "mute", 1, NULL); + g_object_set(radio->pGstreamer_s->audiosink, "mute", 1, NULL); MMRADIO_LOG_DEBUG("g_object set mute"); } #endif @@ -470,7 +469,7 @@ int _mmradio_unmute(mm_radio_t * radio) #ifdef USE_GST_PIPELINE if (radio->pGstreamer_s) { - g_object_set(radio->pGstreamer_s->volume, "mute", 0, NULL); + g_object_set(radio->pGstreamer_s->audiosink, "mute", 0, NULL); MMRADIO_LOG_DEBUG("g_object set unmute"); } #endif @@ -679,13 +678,12 @@ int _mmradio_realize_pipeline(mm_radio_t * radio) radio->pGstreamer_s->audiosrc = gst_element_factory_make("audiotestsrc", "fm audio src"); radio->pGstreamer_s->queue2 = gst_element_factory_make("queue2", "queue2"); - radio->pGstreamer_s->volume = gst_element_factory_make("volume", "volume"); radio->pGstreamer_s->audiosink = gst_element_factory_make("pulsesink", "audio sink"); val = __mmradio_get_wave_num(radio); g_object_set(radio->pGstreamer_s->audiosrc, "wave", val, "volume", 0.8, NULL); - if (!radio->pGstreamer_s->pipeline || !radio->pGstreamer_s->audiosrc || !radio->pGstreamer_s->queue2 || !radio->pGstreamer_s->volume || !radio->pGstreamer_s->audiosink) { + if (!radio->pGstreamer_s->pipeline || !radio->pGstreamer_s->audiosrc || !radio->pGstreamer_s->queue2 || !radio->pGstreamer_s->audiosink) { MMRADIO_LOG_DEBUG("One element could not be created. Exiting."); return MM_ERROR_RADIO_NOT_INITIALIZED; } @@ -693,13 +691,11 @@ int _mmradio_realize_pipeline(mm_radio_t * radio) gst_bin_add_many(GST_BIN(radio->pGstreamer_s->pipeline), radio->pGstreamer_s->audiosrc, radio->pGstreamer_s->queue2, - radio->pGstreamer_s->volume, radio->pGstreamer_s->audiosink, NULL); if (!gst_element_link_many( radio->pGstreamer_s->audiosrc, radio->pGstreamer_s->queue2, - radio->pGstreamer_s->volume, radio->pGstreamer_s->audiosink, NULL)) { MMRADIO_LOG_DEBUG("failed to element link (src - queue - volue - sink)"); @@ -1457,8 +1453,8 @@ int _mmradio_set_volume(mm_radio_t *radio, float volume) radio->local_volume = volume; #ifdef USE_GST_PIPELINE - if (radio->pGstreamer_s && radio->pGstreamer_s->volume) { - g_object_set(radio->pGstreamer_s->volume, "volume", volume, NULL); + if (radio->pGstreamer_s && radio->pGstreamer_s->audiosink) { + g_object_set(radio->pGstreamer_s->audiosink, "volume", volume, NULL); MMRADIO_LOG_DEBUG("g_object set volume"); } #endif diff --git a/src/mm_radio_priv_hal.c b/src/mm_radio_priv_hal.c index c3c3bdc..67d4a0f 100644 --- a/src/mm_radio_priv_hal.c +++ b/src/mm_radio_priv_hal.c @@ -35,7 +35,6 @@ #include <mm_error.h> #include <mm_message.h> -#include <mm_sound.h> #include "mm_radio_priv_hal.h" @@ -128,8 +127,6 @@ static void __mmradio_destroy_threads(mm_radio_t *radio); static int __mmradio_create_thread_type(mm_radio_t *radio, MMRadioThreadTypes type); static void __mmradio_destroy_thread_type(mm_radio_t *radio, MMRadioThreadTypes type); -static void __mmradio_volume_changed_cb(volume_type_t type, unsigned int volume, void *user_data); -static int __mmradio_set_media_volume(mm_radio_t *radio, unsigned int level); static int __resource_release_cb(mm_resource_manager_h rm, mm_resource_manager_res_h res, void *user_data); static void __mmradio_msg_thread(mm_radio_t *radio); @@ -303,8 +300,6 @@ int _mmradio_realize(mm_radio_t *radio) { int ret = MM_ERROR_NONE; bool update = false; - int max = 0; - unsigned volume = 0; MMRadioRegionType region = MM_RADIO_REGION_GROUP_NONE; MMRADIO_LOG_FENTER(); @@ -337,28 +332,6 @@ int _mmradio_realize(mm_radio_t *radio) return ret; } #endif - - ret = sound_manager_get_max_volume(SOUND_TYPE_MEDIA, &max); - if (ret != MM_ERROR_NONE) { - MMRADIO_LOG_WARNING("failed to get max volume"); - radio->max_media_volume = DEFAULT_MAX_MEDIA_VOLUME; - } else { - radio->max_media_volume = max; - } - - ret = mm_sound_volume_get_value(VOLUME_TYPE_MEDIA, &volume); - - if (ret != MM_ERROR_NONE) - MMRADIO_LOG_WARNING("failed to get media volume"); - - MMRADIO_VOLUME_LOCK(radio); - radio->media_volume = volume; - MMRADIO_VOLUME_UNLOCK(radio); - - ret = mm_sound_add_volume_changed_callback(__mmradio_volume_changed_cb, (void *)radio, &radio->volume_subs_id); - if (ret != MM_ERROR_NONE) - MMRADIO_LOG_WARNING("failed to register volume changed callback"); - MMRADIO_SET_STATE(radio, MM_RADIO_STATE_READY); MMRADIO_LOG_FLEAVE(); @@ -375,10 +348,6 @@ int _mmradio_unrealize(mm_radio_t *radio) MMRADIO_CHECK_INSTANCE(radio); MMRADIO_CHECK_STATE_RETURN_IF_FAIL(radio, MMRADIO_COMMAND_UNREALIZE); - ret = mm_sound_remove_volume_changed_callback(radio->volume_subs_id); - if (ret != MM_ERROR_NONE) - MMRADIO_LOG_WARNING("mm_sound_remove_volume_changed_callback error"); - /*Finish if there are scans*/ _mmradio_stop_scan(radio); @@ -578,7 +547,6 @@ int _mmradio_get_state(mm_radio_t *radio, int *pState) int _mmradio_start(mm_radio_t *radio) { int ret = MM_ERROR_NONE; - unsigned int volume = 0; MMRADIO_LOG_FENTER(); @@ -632,16 +600,6 @@ int _mmradio_start(mm_radio_t *radio) MMRADIO_LOG_DEBUG("radio prepared and opened"); } - ret = mm_sound_volume_get_value(VOLUME_TYPE_MEDIA, &volume); - if (ret != MM_ERROR_NONE) - MMRADIO_LOG_WARNING("failed to get media volume"); - - ret = __mmradio_set_media_volume(radio, volume); - if (ret != MM_ERROR_NONE) { - MMRADIO_LOG_ERROR("failed to set media volume"); - goto error1; - } - ret = radio_hal_start(radio->hal_inf); if (ret) { ret = __convert_error_code(ret, (char *)__FUNCTION__); @@ -1449,20 +1407,6 @@ static int __mmradio_get_state(mm_radio_t *radio) return radio->current_state; } -static void __mmradio_volume_changed_cb(volume_type_t type, unsigned int volume, void *user_data) -{ - mm_radio_t *radio = (mm_radio_t *)user_data; - int ret = MM_ERROR_NONE; - MMRADIO_CHECK_INSTANCE_RETURN_VOID(radio); - if (type == VOLUME_TYPE_MEDIA) { - MMRADIO_LOG_INFO("Change FM Radio volume to %d", volume); - ret = __mmradio_set_media_volume(radio, volume); - if (ret != MM_ERROR_NONE) - MMRADIO_LOG_ERROR("failed to set media volume"); - return; - } -} - int _mmradio_get_region_type(mm_radio_t *radio, MMRadioRegionType *type) { MMRADIO_LOG_FENTER(); @@ -1519,27 +1463,22 @@ int _mmradio_set_volume(mm_radio_t *radio, float volume) MMRADIO_VOLUME_LOCK(radio); radio->local_volume = volume; - MMRADIO_VOLUME_UNLOCK(radio); - ret = radio_hal_set_volume(radio->hal_inf, volume); - if (ret) { - ret = __convert_error_code(ret, (char *)__FUNCTION__); - if (ret == MM_ERROR_NOT_IMPLEMENTED) - MMRADIO_LOG_WARNING("radio_hal_set_volume is not supported"); - else - MMRADIO_LOG_ERROR("failed to set radio hal volume"); - return ret; - } +#ifdef TIZEN_FEATURE_SOUND_VSTREAM + if (radio->vstream) + ret = sound_manager_set_virtual_stream_volume(radio->vstream, (double)radio->local_volume); +#endif + MMRADIO_VOLUME_UNLOCK(radio); MMRADIO_LOG_FLEAVE(); - return MM_ERROR_NONE; + return ret; } int _mmradio_get_volume(mm_radio_t *radio, float *pVolume) { int ret = MM_ERROR_NONE; - float volume = 0.0; + MMRADIO_LOG_FENTER(); MMRADIO_CHECK_INSTANCE(radio); @@ -1547,20 +1486,8 @@ int _mmradio_get_volume(mm_radio_t *radio, float *pVolume) MMRADIO_RETURN_VAL_IF_FAIL(pVolume, MM_ERROR_INVALID_ARGUMENT); - ret = radio_hal_get_volume(radio->hal_inf, &volume); - if (ret) { - ret = __convert_error_code(ret, (char *)__FUNCTION__); - if (ret == MM_ERROR_NOT_IMPLEMENTED) - MMRADIO_LOG_WARNING("radio_hal_get_volume is not supported"); - else - MMRADIO_LOG_ERROR("failed to get radio hal volume"); - *pVolume = 0; - return ret; - } - MMRADIO_VOLUME_LOCK(radio); - radio->local_volume = volume; - *pVolume = (float)radio->local_volume; + *pVolume = radio->local_volume; MMRADIO_VOLUME_UNLOCK(radio); MMRADIO_LOG_FLEAVE(); @@ -1568,37 +1495,6 @@ int _mmradio_get_volume(mm_radio_t *radio, float *pVolume) return ret; } -static int __mmradio_set_media_volume(mm_radio_t *radio, unsigned int level) -{ - int ret = MM_ERROR_NONE; - - MMRADIO_LOG_FENTER(); - - MMRADIO_CHECK_INSTANCE(radio); - MMRADIO_CHECK_STATE_RETURN_IF_FAIL(radio, MMRADIO_COMMAND_SET_VOLUME); - - MMRADIO_LOG_INFO("Setting %d volume", level); - - MMRADIO_VOLUME_LOCK(radio); - radio->media_volume = level; - MMRADIO_VOLUME_UNLOCK(radio); - - ret = radio_hal_set_media_volume(radio->hal_inf, level); - if (ret) { - ret = __convert_error_code(ret, (char *)__FUNCTION__); - if (ret == MM_ERROR_NOT_IMPLEMENTED) { - MMRADIO_LOG_WARNING("radio_hal_set_media_volume is not supported"); - } else if (ret != MM_ERROR_NONE) { - MMRADIO_LOG_ERROR("failed to set radio hal media volume"); - return ret; - } - } - - MMRADIO_LOG_FLEAVE(); - - return MM_ERROR_NONE; -} - static int __resource_release_cb(mm_resource_manager_h rm, mm_resource_manager_res_h res, void *user_data) { |