sora-sdk 2025.2.0.dev1__cp313-cp313-win_amd64.whl → 2025.2.0.dev2__cp313-cp313-win_amd64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,44 +5,107 @@ from typing import Annotated, overload
5
5
  from numpy.typing import ArrayLike
6
6
 
7
7
 
8
- class Sora:
9
- def __init__(self, openh264: str | None = None, video_codec_preference: SoraVideoCodecPreference | None = None) -> None: ...
8
+ class SoraSignalingErrorCode(enum.IntEnum):
9
+ CLOSE_SUCCEEDED = 0
10
10
 
11
- def create_connection(self, signaling_urls: list[str], role: str, channel_id: str, client_id: Optional[str] = None, bundle_id: Optional[str] = None, metadata: Optional[dict] = None, signaling_notify_metadata: Optional[dict] = None, audio_source: Optional[SoraTrackInterface] = None, video_source: Optional[SoraTrackInterface] = None, audio_frame_transformer: Optional[SoraAudioFrameTransformer] = None, video_frame_transformer: Optional[SoraVideoFrameTransformer] = None, audio: Optional[bool] = None, video: Optional[bool] = None, audio_codec_type: Optional[str] = None, video_codec_type: Optional[str] = None, video_bit_rate: Optional[int] = None, audio_bit_rate: Optional[int] = None, video_vp9_params: Optional[dict] = None, video_av1_params: Optional[dict] = None, video_h264_params: Optional[dict] = None, audio_opus_params: Optional[dict] = None, simulcast: Optional[bool] = None, spotlight: Optional[bool] = None, spotlight_number: Optional[int] = None, simulcast_rid: Optional[str] = None, spotlight_focus_rid: Optional[str] = None, spotlight_unfocus_rid: Optional[str] = None, forwarding_filter: Optional[dict] = None, forwarding_filters: Optional[list[dict]] = None, data_channels: Optional[list[dict]] = None, data_channel_signaling: Optional[bool] = None, ignore_disconnect_websocket: Optional[bool] = None, data_channel_signaling_timeout: Optional[int] = None, disconnect_wait_timeout: Optional[int] = None, websocket_close_timeout: Optional[int] = None, websocket_connection_timeout: Optional[int] = None, audio_streaming_language_code: Optional[str] = None, insecure: Optional[bool] = None, client_cert: Optional[bytes] = None, client_key: Optional[bytes] = None, ca_cert: Optional[bytes] = None, proxy_url: Optional[str] = None, proxy_username: Optional[str] = None, proxy_password: Optional[str] = None, proxy_agent: Optional[str] = None, degradation_preference: Optional[SoraDegradationPreference] = None) -> SoraConnection: ...
11
+ CLOSE_FAILED = 1
12
12
 
13
- def create_audio_source(self, channels: int, sample_rate: int) -> SoraAudioSource: ...
13
+ INTERNAL_ERROR = 2
14
14
 
15
- def create_video_source(self) -> SoraVideoSource: ...
15
+ INVALID_PARAMETER = 3
16
16
 
17
- class SoraAudioFrame:
18
- def __getstate__(self) -> tuple[list[int], int, int, int, int | None]: ...
17
+ WEBSOCKET_HANDSHAKE_FAILED = 4
19
18
 
20
- def __setstate__(self, arg: tuple[Sequence[int], int, int, int, int | None], /) -> None: ...
19
+ WEBSOCKET_ONCLOSE = 5
20
+
21
+ WEBSOCKET_ONERROR = 6
22
+
23
+ PEER_CONNECTION_STATE_FAILED = 7
24
+
25
+ ICE_FAILED = 8
26
+
27
+ class SoraSignalingType(enum.IntEnum):
28
+ WEBSOCKET = 0
29
+
30
+ DATACHANNEL = 1
31
+
32
+ class SoraDegradationPreference(enum.IntEnum):
33
+ DISABLED = 0
34
+
35
+ BALANCED = 3
36
+
37
+ MAINTAIN_FRAMERATE = 1
38
+
39
+ MAINTAIN_RESOLUTION = 2
40
+
41
+ class SoraSignalingDirection(enum.IntEnum):
42
+ SENT = 0
43
+
44
+ RECEIVED = 1
45
+
46
+ class SoraTrackState(enum.IntEnum):
47
+ LIVE = 0
48
+
49
+ ENDED = 1
50
+
51
+ class SoraLoggingSeverity(enum.IntEnum):
52
+ VERBOSE = 0
53
+
54
+ INFO = 1
55
+
56
+ WARNING = 2
57
+
58
+ ERROR = 3
59
+
60
+ NONE = 4
61
+
62
+ def enable_libwebrtc_log(arg: SoraLoggingSeverity, /) -> None: ...
63
+
64
+ def rtc_log(arg0: SoraLoggingSeverity, arg1: str, /) -> None: ...
21
65
 
66
+ class SoraTrackInterface:
22
67
  @property
23
- def samples_per_channel(self) -> int: ...
68
+ def kind(self) -> str: ...
24
69
 
25
70
  @property
26
- def num_channels(self) -> int: ...
71
+ def id(self) -> str: ...
27
72
 
28
73
  @property
29
- def sample_rate_hz(self) -> int: ...
74
+ def enabled(self) -> bool: ...
30
75
 
31
76
  @property
32
- def absolute_capture_timestamp_ms(self) -> int | None: ...
77
+ def state(self) -> SoraTrackState: ...
33
78
 
34
- def data(self) -> Annotated[ArrayLike, dict(dtype='int16', shape=(None, None))]: ...
79
+ def set_enabled(self, enable: bool) -> bool: ...
35
80
 
36
- class SoraAudioFrameTransformer(SoraFrameTransformer):
37
- def __init__(self) -> None: ...
81
+ class SoraMediaTrack(SoraTrackInterface):
82
+ @property
83
+ def stream_id(self) -> str: ...
38
84
 
39
- def __del__(self) -> None: ...
85
+ def set_frame_transformer(self, arg: SoraFrameTransformer, /) -> None: ...
40
86
 
41
- @property
42
- def on_transform(self) -> Callable[[SoraTransformableAudioFrame], None]: ...
87
+ class SoraAudioSource(SoraTrackInterface):
88
+ @overload
89
+ def on_data(self, data: int, samples_per_channel: int, timestamp: float) -> None: ...
43
90
 
44
- @on_transform.setter
45
- def on_transform(self, arg: Callable[[SoraTransformableAudioFrame], None], /) -> None: ...
91
+ @overload
92
+ def on_data(self, data: int, samples_per_channel: int) -> None: ...
93
+
94
+ @overload
95
+ def on_data(self, ndarray: Annotated[ArrayLike, dict(dtype='int16', shape=(None, None), order='C', device='cpu')], timestamp: float) -> None: ...
96
+
97
+ @overload
98
+ def on_data(self, ndarray: Annotated[ArrayLike, dict(dtype='int16', shape=(None, None), order='C', device='cpu')]) -> None: ...
99
+
100
+ class SoraVideoSource(SoraTrackInterface):
101
+ @overload
102
+ def on_captured(self, ndarray: Annotated[ArrayLike, dict(dtype='uint8', shape=(None, None, 3), order='C', device='cpu')]) -> None: ...
103
+
104
+ @overload
105
+ def on_captured(self, ndarray: Annotated[ArrayLike, dict(dtype='uint8', shape=(None, None, 3), order='C', device='cpu')], timestamp: float) -> None: ...
106
+
107
+ @overload
108
+ def on_captured(self, ndarray: Annotated[ArrayLike, dict(dtype='uint8', shape=(None, None, 3), order='C', device='cpu')], timestamp_us: int) -> None: ...
46
109
 
47
110
  class SoraAudioSinkImpl:
48
111
  def __init__(self, track: SoraTrackInterface, output_frequency: int = -1, output_channels: int = 0) -> None: ...
@@ -63,18 +126,24 @@ class SoraAudioSinkImpl:
63
126
  @on_format.setter
64
127
  def on_format(self, arg: Callable[[int, int], None], /) -> None: ...
65
128
 
66
- class SoraAudioSource(SoraTrackInterface):
67
- @overload
68
- def on_data(self, data: int, samples_per_channel: int, timestamp: float) -> None: ...
129
+ class SoraAudioFrame:
130
+ def __getstate__(self) -> tuple[list[int], int, int, int, int | None]: ...
69
131
 
70
- @overload
71
- def on_data(self, data: int, samples_per_channel: int) -> None: ...
132
+ def __setstate__(self, arg: tuple[Sequence[int], int, int, int, int | None], /) -> None: ...
72
133
 
73
- @overload
74
- def on_data(self, ndarray: Annotated[ArrayLike, dict(dtype='int16', shape=(None, None), order='C', device='cpu')], timestamp: float) -> None: ...
134
+ @property
135
+ def samples_per_channel(self) -> int: ...
75
136
 
76
- @overload
77
- def on_data(self, ndarray: Annotated[ArrayLike, dict(dtype='int16', shape=(None, None), order='C', device='cpu')]) -> None: ...
137
+ @property
138
+ def num_channels(self) -> int: ...
139
+
140
+ @property
141
+ def sample_rate_hz(self) -> int: ...
142
+
143
+ @property
144
+ def absolute_capture_timestamp_ms(self) -> int | None: ...
145
+
146
+ def data(self) -> Annotated[ArrayLike, dict(dtype='int16', shape=(None, None))]: ...
78
147
 
79
148
  class SoraAudioStreamSinkImpl:
80
149
  def __init__(self, track: SoraTrackInterface, output_frequency: int = -1, output_channels: int = 0) -> None: ...
@@ -87,6 +156,25 @@ class SoraAudioStreamSinkImpl:
87
156
  @on_frame.setter
88
157
  def on_frame(self, arg: Callable[[SoraAudioFrame], None], /) -> None: ...
89
158
 
159
+ class SoraVAD:
160
+ def __init__(self) -> None: ...
161
+
162
+ def analyze(self, frame: SoraAudioFrame) -> float: ...
163
+
164
+ class SoraVideoFrame:
165
+ def data(self) -> Annotated[ArrayLike, dict(dtype='uint8', shape=(None, None, 3))]: ...
166
+
167
+ class SoraVideoSinkImpl:
168
+ def __init__(self, arg: SoraTrackInterface, /) -> None: ...
169
+
170
+ def __del__(self) -> None: ...
171
+
172
+ @property
173
+ def on_frame(self) -> Callable[[SoraVideoFrame], None]: ...
174
+
175
+ @on_frame.setter
176
+ def on_frame(self, arg: Callable[[SoraVideoFrame], None], /) -> None: ...
177
+
90
178
  class SoraConnection:
91
179
  def connect(self) -> None: ...
92
180
 
@@ -156,85 +244,42 @@ class SoraConnection:
156
244
  @on_data_channel.setter
157
245
  def on_data_channel(self, arg: Callable[[str], None], /) -> None: ...
158
246
 
159
- class SoraDegradationPreference(enum.IntEnum):
160
- DISABLED = 0
161
-
162
- BALANCED = 3
163
-
164
- MAINTAIN_FRAMERATE = 1
165
-
166
- MAINTAIN_RESOLUTION = 2
167
-
168
- class SoraFrameTransformer:
169
- def enqueue(self, arg: SoraTransformableFrame, /) -> None: ...
170
-
171
- def start_short_circuiting(self) -> None: ...
172
-
173
- class SoraLoggingSeverity(enum.IntEnum):
174
- VERBOSE = 0
247
+ class SoraTransformableFrameDirection(enum.IntEnum):
248
+ UNKNOWN = 0
175
249
 
176
- INFO = 1
250
+ RECEIVER = 1
177
251
 
178
- WARNING = 2
252
+ SENDER = 2
179
253
 
180
- ERROR = 3
254
+ class SoraTransformableFrame:
255
+ def get_data(self) -> Annotated[ArrayLike, dict(dtype='uint8', shape=(None), writable=False)]: ...
181
256
 
182
- NONE = 4
257
+ def set_data(self, arg: Annotated[ArrayLike, dict(dtype='uint8', shape=(None), order='C', device='cpu', writable=False)], /) -> None: ...
183
258
 
184
- class SoraMediaTrack(SoraTrackInterface):
185
259
  @property
186
- def stream_id(self) -> str: ...
187
-
188
- def set_frame_transformer(self, arg: SoraFrameTransformer, /) -> None: ...
189
-
190
- class SoraSignalingDirection(enum.IntEnum):
191
- SENT = 0
192
-
193
- RECEIVED = 1
194
-
195
- class SoraSignalingErrorCode(enum.IntEnum):
196
- CLOSE_SUCCEEDED = 0
197
-
198
- CLOSE_FAILED = 1
199
-
200
- INTERNAL_ERROR = 2
201
-
202
- INVALID_PARAMETER = 3
203
-
204
- WEBSOCKET_HANDSHAKE_FAILED = 4
205
-
206
- WEBSOCKET_ONCLOSE = 5
207
-
208
- WEBSOCKET_ONERROR = 6
209
-
210
- PEER_CONNECTION_STATE_FAILED = 7
211
-
212
- ICE_FAILED = 8
213
-
214
- class SoraSignalingType(enum.IntEnum):
215
- WEBSOCKET = 0
216
-
217
- DATACHANNEL = 1
260
+ def payload_type(self) -> int: ...
218
261
 
219
- class SoraTrackInterface:
220
262
  @property
221
- def kind(self) -> str: ...
263
+ def ssrc(self) -> int: ...
222
264
 
223
265
  @property
224
- def id(self) -> str: ...
266
+ def rtp_timestamp(self) -> int: ...
267
+
268
+ @rtp_timestamp.setter
269
+ def rtp_timestamp(self, arg: int, /) -> None: ...
225
270
 
226
271
  @property
227
- def enabled(self) -> bool: ...
272
+ def direction(self) -> SoraTransformableFrameDirection: ...
228
273
 
229
274
  @property
230
- def state(self) -> SoraTrackState: ...
275
+ def mine_type(self) -> str: ...
231
276
 
232
- def set_enabled(self, enable: bool) -> bool: ...
277
+ class SoraTransformableAudioFrameType(enum.IntEnum):
278
+ EMPTY = 0
233
279
 
234
- class SoraTrackState(enum.IntEnum):
235
- LIVE = 0
280
+ SPEECH = 1
236
281
 
237
- ENDED = 1
282
+ CN = 2
238
283
 
239
284
  class SoraTransformableAudioFrame(SoraTransformableFrame):
240
285
  @property
@@ -255,72 +300,79 @@ class SoraTransformableAudioFrame(SoraTransformableFrame):
255
300
  @property
256
301
  def receive_time(self) -> int | None: ...
257
302
 
258
- class SoraTransformableAudioFrameType(enum.IntEnum):
259
- EMPTY = 0
303
+ class SoraTransformableVideoFrame(SoraTransformableFrame):
304
+ @property
305
+ def is_key_frame(self) -> bool: ...
260
306
 
261
- SPEECH = 1
307
+ @property
308
+ def frame_id(self) -> int | None: ...
262
309
 
263
- CN = 2
310
+ @property
311
+ def frame_dependencies(self) -> Annotated[ArrayLike, dict(dtype='int64', shape=(None), writable=False)]: ...
264
312
 
265
- class SoraTransformableFrame:
266
- def get_data(self) -> Annotated[ArrayLike, dict(dtype='uint8', shape=(None), writable=False)]: ...
313
+ @property
314
+ def width(self) -> int: ...
267
315
 
268
- def set_data(self, arg: Annotated[ArrayLike, dict(dtype='uint8', shape=(None), order='C', device='cpu', writable=False)], /) -> None: ...
316
+ @property
317
+ def height(self) -> int: ...
269
318
 
270
319
  @property
271
- def payload_type(self) -> int: ...
320
+ def spatial_index(self) -> int: ...
272
321
 
273
322
  @property
274
- def ssrc(self) -> int: ...
323
+ def temporal_index(self) -> int: ...
275
324
 
276
325
  @property
277
- def rtp_timestamp(self) -> int: ...
326
+ def contributing_sources(self) -> Annotated[ArrayLike, dict(dtype='uint32', shape=(None), writable=False)]: ...
278
327
 
279
- @rtp_timestamp.setter
280
- def rtp_timestamp(self, arg: int, /) -> None: ...
328
+ class SoraFrameTransformer:
329
+ def enqueue(self, arg: SoraTransformableFrame, /) -> None: ...
281
330
 
282
- @property
283
- def direction(self) -> SoraTransformableFrameDirection: ...
331
+ def start_short_circuiting(self) -> None: ...
332
+
333
+ class SoraAudioFrameTransformer(SoraFrameTransformer):
334
+ def __init__(self) -> None: ...
335
+
336
+ def __del__(self) -> None: ...
284
337
 
285
338
  @property
286
- def mine_type(self) -> str: ...
339
+ def on_transform(self) -> Callable[[SoraTransformableAudioFrame], None]: ...
287
340
 
288
- class SoraTransformableFrameDirection(enum.IntEnum):
289
- UNKNOWN = 0
341
+ @on_transform.setter
342
+ def on_transform(self, arg: Callable[[SoraTransformableAudioFrame], None], /) -> None: ...
290
343
 
291
- RECEIVER = 1
344
+ class SoraVideoFrameTransformer(SoraFrameTransformer):
345
+ def __init__(self) -> None: ...
292
346
 
293
- SENDER = 2
347
+ def __del__(self) -> None: ...
294
348
 
295
- class SoraTransformableVideoFrame(SoraTransformableFrame):
296
349
  @property
297
- def is_key_frame(self) -> bool: ...
350
+ def on_transform(self) -> Callable[[SoraTransformableVideoFrame], None]: ...
298
351
 
299
- @property
300
- def frame_id(self) -> int | None: ...
352
+ @on_transform.setter
353
+ def on_transform(self, arg: Callable[[SoraTransformableVideoFrame], None], /) -> None: ...
301
354
 
302
- @property
303
- def frame_dependencies(self) -> Annotated[ArrayLike, dict(dtype='int64', shape=(None), writable=False)]: ...
355
+ class SoraVideoCodecImplementation(enum.IntEnum):
356
+ INTERNAL = 0
304
357
 
305
- @property
306
- def width(self) -> int: ...
358
+ CISCO_OPENH264 = 1
307
359
 
308
- @property
309
- def height(self) -> int: ...
360
+ INTEL_VPL = 2
310
361
 
311
- @property
312
- def spatial_index(self) -> int: ...
362
+ NVIDIA_VIDEO_CODEC_SDK = 3
313
363
 
314
- @property
315
- def temporal_index(self) -> int: ...
364
+ AMD_AMF = 4
316
365
 
317
- @property
318
- def contributing_sources(self) -> Annotated[ArrayLike, dict(dtype='uint32', shape=(None), writable=False)]: ...
366
+ class SoraVideoCodecType(enum.IntEnum):
367
+ VP8 = 1
319
368
 
320
- class SoraVAD:
321
- def __init__(self) -> None: ...
369
+ VP9 = 2
322
370
 
323
- def analyze(self, frame: SoraAudioFrame) -> float: ...
371
+ H264 = 4
372
+
373
+ H265 = 5
374
+
375
+ AV1 = 3
324
376
 
325
377
  class SoraVideoCodecCapability:
326
378
  @property
@@ -373,16 +425,7 @@ class SoraVideoCodecCapability:
373
425
  @property
374
426
  def parameters(self) -> SoraVideoCodecCapability.Parameters: ...
375
427
 
376
- class SoraVideoCodecImplementation(enum.IntEnum):
377
- INTERNAL = 0
378
-
379
- CISCO_OPENH264 = 1
380
-
381
- INTEL_VPL = 2
382
-
383
- NVIDIA_VIDEO_CODEC_SDK = 3
384
-
385
- AMD_AMF = 4
428
+ def get_video_codec_capability(openh264: str | None = None) -> SoraVideoCodecCapability: ...
386
429
 
387
430
  class SoraVideoCodecPreference:
388
431
  def __init__(self, codecs: Sequence[SoraVideoCodecPreference.Codec] = []) -> None: ...
@@ -437,56 +480,13 @@ class SoraVideoCodecPreference:
437
480
  @parameters.setter
438
481
  def parameters(self, arg: SoraVideoCodecPreference.Parameters, /) -> None: ...
439
482
 
440
- class SoraVideoCodecType(enum.IntEnum):
441
- VP8 = 1
442
-
443
- VP9 = 2
444
-
445
- H264 = 4
446
-
447
- H265 = 5
448
-
449
- AV1 = 3
450
-
451
- class SoraVideoFrame:
452
- def data(self) -> Annotated[ArrayLike, dict(dtype='uint8', shape=(None, None, 3))]: ...
453
-
454
- class SoraVideoFrameTransformer(SoraFrameTransformer):
455
- def __init__(self) -> None: ...
456
-
457
- def __del__(self) -> None: ...
458
-
459
- @property
460
- def on_transform(self) -> Callable[[SoraTransformableVideoFrame], None]: ...
461
-
462
- @on_transform.setter
463
- def on_transform(self, arg: Callable[[SoraTransformableVideoFrame], None], /) -> None: ...
464
-
465
- class SoraVideoSinkImpl:
466
- def __init__(self, arg: SoraTrackInterface, /) -> None: ...
467
-
468
- def __del__(self) -> None: ...
469
-
470
- @property
471
- def on_frame(self) -> Callable[[SoraVideoFrame], None]: ...
472
-
473
- @on_frame.setter
474
- def on_frame(self, arg: Callable[[SoraVideoFrame], None], /) -> None: ...
475
-
476
- class SoraVideoSource(SoraTrackInterface):
477
- @overload
478
- def on_captured(self, ndarray: Annotated[ArrayLike, dict(dtype='uint8', shape=(None, None, 3), order='C', device='cpu')]) -> None: ...
479
-
480
- @overload
481
- def on_captured(self, ndarray: Annotated[ArrayLike, dict(dtype='uint8', shape=(None, None, 3), order='C', device='cpu')], timestamp: float) -> None: ...
482
-
483
- @overload
484
- def on_captured(self, ndarray: Annotated[ArrayLike, dict(dtype='uint8', shape=(None, None, 3), order='C', device='cpu')], timestamp_us: int) -> None: ...
485
-
486
483
  def create_video_codec_preference_from_implementation(arg0: SoraVideoCodecCapability, arg1: SoraVideoCodecImplementation, /) -> SoraVideoCodecPreference: ...
487
484
 
488
- def enable_libwebrtc_log(arg: SoraLoggingSeverity, /) -> None: ...
485
+ class Sora:
486
+ def __init__(self, openh264: str | None = None, video_codec_preference: SoraVideoCodecPreference | None = None) -> None: ...
489
487
 
490
- def get_video_codec_capability(openh264: str | None = None) -> SoraVideoCodecCapability: ...
488
+ def create_connection(self, signaling_urls: list[str], role: str, channel_id: str, client_id: Optional[str] = None, bundle_id: Optional[str] = None, metadata: Optional[dict] = None, signaling_notify_metadata: Optional[dict] = None, audio_source: Optional[SoraTrackInterface] = None, video_source: Optional[SoraTrackInterface] = None, audio_frame_transformer: Optional[SoraAudioFrameTransformer] = None, video_frame_transformer: Optional[SoraVideoFrameTransformer] = None, audio: Optional[bool] = None, video: Optional[bool] = None, audio_codec_type: Optional[str] = None, video_codec_type: Optional[str] = None, video_bit_rate: Optional[int] = None, audio_bit_rate: Optional[int] = None, video_vp9_params: Optional[dict] = None, video_av1_params: Optional[dict] = None, video_h264_params: Optional[dict] = None, audio_opus_params: Optional[dict] = None, simulcast: Optional[bool] = None, spotlight: Optional[bool] = None, spotlight_number: Optional[int] = None, simulcast_rid: Optional[str] = None, spotlight_focus_rid: Optional[str] = None, spotlight_unfocus_rid: Optional[str] = None, forwarding_filter: Optional[dict] = None, forwarding_filters: Optional[list[dict]] = None, data_channels: Optional[list[dict]] = None, data_channel_signaling: Optional[bool] = None, ignore_disconnect_websocket: Optional[bool] = None, data_channel_signaling_timeout: Optional[int] = None, disconnect_wait_timeout: Optional[int] = None, websocket_close_timeout: Optional[int] = None, websocket_connection_timeout: Optional[int] = None, audio_streaming_language_code: Optional[str] = None, insecure: Optional[bool] = None, client_cert: Optional[bytes] = None, client_key: Optional[bytes] = None, ca_cert: Optional[bytes] = None, proxy_url: Optional[str] = None, proxy_username: Optional[str] = None, proxy_password: Optional[str] = None, proxy_agent: Optional[str] = None, degradation_preference: Optional[SoraDegradationPreference] = None) -> SoraConnection: ...
491
489
 
492
- def rtc_log(arg0: SoraLoggingSeverity, arg1: str, /) -> None: ...
490
+ def create_audio_source(self, channels: int, sample_rate: int) -> SoraAudioSource: ...
491
+
492
+ def create_video_source(self) -> SoraVideoSource: ...