/** Write audio frame to recognize */ ASR_CLIENT_DECLARE(apt_bool_t) asr_session_stream_write( asr_session_t *asr_session, char *data, int size) { mpf_frame_t frame; frame.type = MEDIA_FRAME_TYPE_AUDIO; frame.marker = MPF_MARKER_NONE; frame.codec_frame.buffer = data; frame.codec_frame.size = size; if(mpf_frame_buffer_write(asr_session->media_buffer,&frame) != TRUE) { apt_log(APT_LOG_MARK,APT_PRIO_WARNING,"Failed to Write Audio [%d]",size); return FALSE; } return TRUE; }
/** \brief Write audio to the speech engine */ static int uni_recog_write(struct ast_speech *speech, void *data, int len) { uni_speech_t *uni_speech = speech->data; mpf_frame_t frame; #if 0 ast_log(LOG_DEBUG, "Write audio '%s' len:%d\n",uni_speech_id_get(uni_speech),len); #endif frame.type = MEDIA_FRAME_TYPE_AUDIO; frame.marker = MPF_MARKER_NONE; frame.codec_frame.buffer = data; frame.codec_frame.size = len; if(mpf_frame_buffer_write(uni_speech->media_buffer,&frame) != TRUE) { ast_log(LOG_DEBUG, "Failed to write audio len:%d\n",len); } return 0; }