int s3_decode_begin_utt(s3_decode_t * _decode, char *_uttid) { if (_decode == NULL) return S3_DECODE_ERROR_NULL_POINTER; if (_decode->state != S3_DECODE_STATE_IDLE) { E_WARN("Cannot begin new utterance in current decoder state.\n"); return S3_DECODE_ERROR_INVALID_STATE; } s3_decode_free_hyps(_decode); utt_begin(&_decode->kb); _decode->num_frames_decoded = 0; _decode->num_frames_entered = 0; _decode->state = S3_DECODE_STATE_DECODING; stat_clear_utt(_decode->kb.stat); return s3_decode_set_uttid(_decode, _uttid); }
int ld_begin_utt(live_decoder_t * _decoder, char *_uttid) { assert(_decoder != NULL); if (_decoder->ld_state != LD_STATE_IDLE) { E_WARN ("Failed to begin a new utterance because decoder is not idle.\n"); return LD_ERROR_INVALID_STATE; } ld_free_hyps(_decoder); utt_begin(&_decoder->kb); _decoder->num_frames_decoded = 0; _decoder->num_frames_entered = 0; _decoder->ld_state = LD_STATE_DECODING; stat_clear_utt(_decoder->kb.stat); return ld_set_uttid(_decoder, _uttid); }