muse_recorder_msg_get(codec, recv_msg);
- ((recorder_supported_audio_encoder_cb)cb_info->user_cb[event])((recorder_audio_codec_e)codec,
- cb_info->user_data[event]);
+ if (((recorder_supported_audio_encoder_cb)cb_info->user_cb[event])((recorder_audio_codec_e)codec, cb_info->user_data[event]) == false) {
+ cb_info->user_cb[event] = NULL;
+ cb_info->user_data[event] = NULL;
+ LOGD("stop foreach callback for SUPPORTED_AUDIO_ENCODER");
+ }
break;
}
case MUSE_RECORDER_EVENT_TYPE_FOREACH_SUPPORTED_FILE_FORMAT:
muse_recorder_msg_get(format, recv_msg);
- ((recorder_supported_file_format_cb)cb_info->user_cb[event])((recorder_file_format_e)format,
- cb_info->user_data[event]);
+ if (((recorder_supported_file_format_cb)cb_info->user_cb[event])((recorder_file_format_e)format, cb_info->user_data[event]) == false) {
+ cb_info->user_cb[event] = NULL;
+ cb_info->user_data[event] = NULL;
+ LOGD("stop foreach callback for SUPPORTED_FILE_FORMAT");
+ }
break;
}
case MUSE_RECORDER_EVENT_TYPE_FOREACH_SUPPORTED_VIDEO_ENCODER:
muse_recorder_msg_get(codec, recv_msg);
- ((recorder_supported_video_encoder_cb)cb_info->user_cb[event])((recorder_video_codec_e)codec,
- cb_info->user_data[event]);
+ if (((recorder_supported_video_encoder_cb)cb_info->user_cb[event])((recorder_video_codec_e)codec, cb_info->user_data[event]) == false) {
+ cb_info->user_cb[event] = NULL;
+ cb_info->user_data[event] = NULL;
+ LOGD("stop foreach callback for SUPPORTED_VIDEO_ENCODER");
+ }
break;
}
case MUSE_RECORDER_EVENT_TYPE_FOREACH_SUPPORTED_VIDEO_RESOLUTION:
muse_recorder_msg_get(width, recv_msg);
muse_recorder_msg_get(height, recv_msg);
- ((recorder_supported_video_resolution_cb)cb_info->user_cb[event])(width, height,
- cb_info->user_data[event]);
+ if (((recorder_supported_video_resolution_cb)cb_info->user_cb[event])(width, height, cb_info->user_data[event]) == false) {
+ cb_info->user_cb[event] = NULL;
+ cb_info->user_data[event] = NULL;
+ LOGD("stop foreach callback for SUPPORTED_VIDEO_RESOLUTION");
+ }
break;
}
LOGD("event thread removed");
+ if (cb_info->fd > -1) {
+ muse_core_connection_close(cb_info->fd);
+ cb_info->fd = -1;
+ }
+
if (cb_info->bufmgr) {
tbm_bufmgr_deinit(cb_info->bufmgr);
cb_info->bufmgr = NULL;