mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-04-13 15:50:59 +00:00
[core] support partial speech events
This commit is contained in:
parent
da31fac5a0
commit
00967290b9
@ -4673,9 +4673,9 @@ static void *SWITCH_THREAD_FUNC speech_thread(switch_thread_t *thread, void *obj
|
||||
|
||||
status = switch_core_asr_get_results(sth->ah, &xmlstr, &flags);
|
||||
|
||||
if (status != SWITCH_STATUS_SUCCESS && status != SWITCH_STATUS_BREAK) {
|
||||
if (status != SWITCH_STATUS_SUCCESS && status != SWITCH_STATUS_BREAK && status != SWITCH_STATUS_MORE_DATA) {
|
||||
goto done;
|
||||
} else if (status == SWITCH_STATUS_SUCCESS) {
|
||||
} else {
|
||||
/* Try to fetch extra information for this result, the return value doesn't really matter here - it's just optional data. */
|
||||
switch_core_asr_get_result_headers(sth->ah, &headers, &flags);
|
||||
}
|
||||
@ -4732,6 +4732,14 @@ static void *SWITCH_THREAD_FUNC speech_thread(switch_thread_t *thread, void *obj
|
||||
switch_event_merge(event, headers);
|
||||
}
|
||||
|
||||
switch_event_add_body(event, "%s", xmlstr);
|
||||
} else if (status == SWITCH_STATUS_MORE_DATA) {
|
||||
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Speech-Type", "detected-partial-speech");
|
||||
|
||||
if (headers) {
|
||||
switch_event_merge(event, headers);
|
||||
}
|
||||
|
||||
switch_event_add_body(event, "%s", xmlstr);
|
||||
} else {
|
||||
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Speech-Type", "begin-speaking");
|
||||
|
Loading…
x
Reference in New Issue
Block a user