#include "w-input-stt-ise.h"
#include "w-input-stt-voice.h"
#include "w-input-stt-engine.h"
+#include "voice-recorder.h"
VoiceData *my_voicedata = NULL;
//stt_feedback_initialize();
if (!my_voicedata) {
- my_voicedata = (VoiceData*)malloc(sizeof(VoiceData));
+ my_voicedata = new VoiceData;
if (my_voicedata == NULL) {
PRINTFUNC(DLOG_ERROR, "%d::::Heap Overflow, Voice Input cannot be shown!", __LINE__);
- return;
+ return;
}
- memset(my_voicedata, 0, sizeof(VoiceData));
+ init_voicedata(my_voicedata);
}
- init = init_voice(parent, lang, my_voicedata);
- if (init) {
- if (my_voicedata->naviframe) {
- show_voice_window(my_voicedata->naviframe, my_voicedata);
+ if (my_voicedata) {
+ init = init_voice(parent, lang, my_voicedata);
+ if (init) {
+ if (my_voicedata->naviframe) {
+ show_voice_window(my_voicedata->naviframe, my_voicedata);
+ }
+ } else {
+ destroy_voice();
+ PRINTFUNC(DLOG_ERROR, "%d::::Fail to create Voice window!", __LINE__);
+ return;
}
- } else {
- destroy_voice();
- PRINTFUNC(DLOG_ERROR, "%d::::Fail to create Voice window!", __LINE__);
- return;
}
vconf_notify_key_changed(VCONFKEY_ISE_STT_LANGUAGE, _stt_lang_changed_cb, my_voicedata);
on_destroy(my_voicedata);
my_voicedata = NULL;
}
+
+ destroy_voice_recorder();
}
int is_lang_supported_by_voice_input(const char *lang)