int ret = sound_manager_remove_device_connection_changed_cb(g_device_id);
if (0 != ret)
SLOG(LOG_ERROR, TAG_VCD, "[Recorder ERROR] Fail to remove device connection changed callback, ret(%d)", ret);
+ g_device_id = -1;
ret = sound_manager_destroy_stream_information(g_stream_info_h);
if (0 != ret)
SLOG(LOG_ERROR, TAG_VCD, "[Recorder ERROR] Fail to destroy stream info, ret(%d)", ret);
+ g_stream_info_h = NULL;
ret = audio_in_destroy(g_audio_h);
if (0 != ret)
SLOG(LOG_ERROR, TAG_VCD, "[Recorder ERROR] Fail to audio in destroy, ret(%d)", ret);
+ g_audio_h = NULL;
#ifdef TV_FFV_MODE
if (NULL != g_farfieldvoice_h) {
if (g_audio_type != type || g_audio_rate != rate || g_audio_channel != channel) {
SLOG(LOG_INFO, TAG_VCD, "[Recorder] New audio type(%d) rate(%d) channel(%d)", type, rate, channel);
audio_in_destroy(g_audio_h);
+ g_audio_h = NULL;
audio_channel_e audio_ch = AUDIO_CHANNEL_MONO;
audio_sample_type_e audio_sample_type;
if (g_audio_type != type || g_audio_rate != rate || g_audio_channel != channel) {
SLOG(LOG_INFO, TAG_VCD, "[Recorder] New audio type(%d) rate(%d) channel(%d)", type, rate, channel);
audio_in_destroy(g_audio_h);
+ g_audio_h = NULL;
audio_channel_e audio_ch;
audio_sample_type_e audio_type;