1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
/*
* OpenAI API
*
* The OpenAI REST API. Please see https://platform.openai.com/docs/api-reference for more details.
*
* The version of the OpenAPI document: 2.3.0
*
* Generated by: https://openapi-generator.tech
*/
use crate::models;
use serde::{Deserialize, Serialize};
/// RealtimeServerEventOutputAudioBufferStopped : **WebRTC/SIP Only:** Emitted when the output audio buffer has been completely drained on the server, and no more audio is forthcoming. This event is emitted after the full response data has been sent to the client (`response.done`). [Learn more](/docs/guides/realtime-conversations#client-and-server-events-for-audio-in-webrtc).
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize, bon::Builder)]
pub struct RealtimeServerEventOutputAudioBufferStopped {
/// The unique ID of the server event.
#[serde(rename = "event_id")]
pub event_id: String,
/// The event type, must be `output_audio_buffer.stopped`.
#[serde(rename = "type")]
pub r#type: Type,
/// The unique ID of the response that produced the audio.
#[serde(rename = "response_id")]
pub response_id: String,
}
impl RealtimeServerEventOutputAudioBufferStopped {
/// **WebRTC/SIP Only:** Emitted when the output audio buffer has been completely drained on the server, and no more audio is forthcoming. This event is emitted after the full response data has been sent to the client (`response.done`). [Learn more](/docs/guides/realtime-conversations#client-and-server-events-for-audio-in-webrtc).
pub fn new(
event_id: String,
r#type: Type,
response_id: String,
) -> RealtimeServerEventOutputAudioBufferStopped {
RealtimeServerEventOutputAudioBufferStopped {
event_id,
r#type,
response_id,
}
}
}
/// The event type, must be `output_audio_buffer.stopped`.
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Type {
#[serde(rename = "output_audio_buffer.stopped")]
OutputAudioBufferStopped,
}
impl Default for Type {
fn default() -> Type {
Self::OutputAudioBufferStopped
}
}
impl std::fmt::Display for RealtimeServerEventOutputAudioBufferStopped {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match serde_json::to_string(self) {
Ok(s) => write!(f, "{}", s),
Err(_) => Err(std::fmt::Error),
}
}
}