diff options
-rw-r--r-- | packaging/libmm-radio.spec | 2 | ||||
-rw-r--r-- | src/mm_radio_priv_emulator.c | 21 |
2 files changed, 15 insertions, 8 deletions
diff --git a/packaging/libmm-radio.spec b/packaging/libmm-radio.spec index de31e23..980b195 100644 --- a/packaging/libmm-radio.spec +++ b/packaging/libmm-radio.spec @@ -1,6 +1,6 @@ Name: libmm-radio Summary: Multimedia Framework Radio Library -Version: 0.2.49 +Version: 0.2.50 Release: 0 Group: System/Libraries License: Apache-2.0 diff --git a/src/mm_radio_priv_emulator.c b/src/mm_radio_priv_emulator.c index 62dc09b..d7f6cd1 100644 --- a/src/mm_radio_priv_emulator.c +++ b/src/mm_radio_priv_emulator.c @@ -326,8 +326,15 @@ int _mmradio_unrealize(mm_radio_t * radio) MMRADIO_CHECK_INSTANCE(radio); MMRADIO_CHECK_STATE_RETURN_IF_FAIL(radio, MMRADIO_COMMAND_UNREALIZE); - /* if( _mmradio_mute(radio) != MM_ERROR_NONE) */ - /* return MM_ERROR_RADIO_NOT_INITIALIZED; */ + /*Finish if there are scans*/ + ret = _mmradio_stop_scan(radio); + if (ret != MM_ERROR_NONE) + MMRADIO_LOG_WARNING("failed to stop radio scan"); + + /*Stop radio if started*/ + ret = _mmradio_stop(radio); + if (ret != MM_ERROR_NONE) + MMRADIO_LOG_WARNING("failed to stop radio"); /* close radio device here !!!! */ if (radio->radio_fd >= 0) @@ -356,6 +363,7 @@ int _mmradio_destroy(mm_radio_t * radio) MMRADIO_CHECK_STATE_RETURN_IF_FAIL(radio, MMRADIO_COMMAND_DESTROY); _mmradio_unrealize(radio); + /* destroy mutex and thread */ __mmradio_destroy_threads(radio); @@ -376,6 +384,8 @@ int _mmradio_destroy(mm_radio_t * radio) /* unit should be KHz */ int _mmradio_set_frequency(mm_radio_t * radio, int freq) { + + int val = 0; MMRADIO_LOG_FENTER(); MMRADIO_CHECK_INSTANCE(radio); @@ -396,12 +406,10 @@ int _mmradio_set_frequency(mm_radio_t * radio, int freq) } radio->freq = freq; + val = __mmradio_get_wave_num(radio); - if (radio->pipeline) { - int val = 0; - val = __mmradio_get_wave_num(radio); + if (radio->pipeline && radio->pipeline->audiosrc) g_object_set(radio->pipeline->audiosrc, "wave", val, NULL); - } MMRADIO_LOG_FLEAVE(); @@ -663,7 +671,6 @@ int _mmradio_realize_pipeline(mm_radio_t * radio) radio->pipeline->audiosrc = gst_element_factory_make("audiotestsrc", "fm audio src"); radio->pipeline->converter = gst_element_factory_make("audioconvert", "audioconvert"); - radio->pipeline->audiosink = gst_element_factory_make("pulsesink", "audio sink"); radio->pipeline->volume = gst_element_factory_make("volume", "audiovolume"); radio->pipeline->audiosink = gst_element_factory_make("pulsesink", "audio sink"); |