@@ -189,20 +189,29 @@ This a format for client reconnects.
189
189
190
190
object(MediaInfo)::
191
191
{
192
- audio: object(AudioInfo) | undefined,
193
- video: object(VideoInfo) | undefined
192
+ tracks: [object(TrackInfo)]
194
193
}
195
194
196
- object(AudioInfo )::
195
+ object(TrackInfo )::
197
196
{
198
- status: "active" | "inactive" | undefined,
199
- source: "mic" | "screen-cast" | "raw-file" | "encoded-file" | undefined,
200
- format: object(AudioFormat),
201
- optional:
197
+ id: string(TrackId),
198
+ type: "audio" | "video",
199
+ format: object(AudioFormat) | object(VideoFormat),
200
+ parameters: undefined | object(VideoParameters),
201
+ status: "active" | "inactive" | undefined,
202
+ source: "mic" | "camera" | "screen-cast" | "raw-file" | "encoded-file" | undefined,
203
+ mid: string(mid) | undefined,
204
+ rid: string(rid) | undefined,
205
+ optional:
202
206
{
203
- format: [object(AudioFormat)] | undefined
204
- }
205
- | undefined
207
+ format: [object(AudioFormat)] | [object(VideoFormat)] | undefined,
208
+ parameters: {
209
+ resolution: [object(Resolution)] | undefined,
210
+ framerate: [number(FramerateFPS)] | undefined,
211
+ bitrate: [number(BitrateKbps)] | [string(BitrateMultiple)] | undefined,
212
+ keyFrameInterval: [number(KeyFrameIntervalSecond)] | undefined
213
+ } | undefined,
214
+ } | undefined,
206
215
}
207
216
208
217
object(AudioFormat)::
@@ -212,30 +221,6 @@ This a format for client reconnects.
212
221
channelNum: number(ChannelNumber) | undefined
213
222
}
214
223
215
- object(VideoInfo)::
216
- {
217
- status: "active" | "inactive" | undefined,
218
- source: "camera" | "screen-cast" | "raw-file" | "encoded-file" | undefined,
219
- original: [{
220
- format: object(VideoFormat),
221
- parameters: object(VideoParameters) | undefined,
222
- simulcastRid: string(SimulcastRid) | undefined
223
- }],
224
- optional:
225
- {
226
- format: [object(VideoFormat)] | undefined,
227
- parameters:
228
- {
229
- resolution: [object(Resolution)] | undefined,
230
- framerate: [number(FramerateFPS)] | undefined,
231
- bitrate: [number(BitrateKbps)] | [string(BitrateMultiple)] | undefined,
232
- keyFrameInterval: [number(KeyFrameIntervalSecond)] | undefined
233
- }
234
- | undefined
235
- }
236
- | undefined
237
- }
238
-
239
224
object(VideoFormat)::
240
225
{
241
226
codec: "h264" | "h265" | "vp8" | "vp9",
@@ -388,20 +373,15 @@ A publication can send either media or data, but a QUIC *transport* channel can
388
373
389
374
```
390
375
object(WebRTCMediaOptions)::
391
- {
392
- audio: {
393
- source: "mic" | "screen-cast" | "raw-file" | "encoded-file"
394
- }
395
- | false,
396
- video: {
397
- source: "camera"| "screen-cast" | "raw-file" | "encoded-file",
398
- parameters:
399
- {
400
- resolution: object(Resolution),
401
- framerate: number(FramerateFPS)
402
- }
403
- }
404
- | false
376
+ {
377
+ tracks: [
378
+ {
379
+ type: "audio" | "video",
380
+ mid: string(MID),
381
+ source: "mic" | "screen-cast" | ... | "encoded-file",
382
+ }
383
+ ]
384
+ }
405
385
}
406
386
```
407
387
@@ -466,30 +446,23 @@ A publication can send either media or data, but a QUIC *transport* channel can
466
446
467
447
object(MediaSubOptions)::
468
448
{
469
- audio: object(AudioSubOptions) | false,
470
- video: object(VideoSubOptions) | false
471
- }
472
-
473
- object(AudioSubOptions)::
474
- {
475
- from: string(StreamId)
476
- }
477
-
478
- object(VideoSubOptions)::
479
- {
480
- from: string(StreamId),
481
- parameters: object(VideoParametersSpecification)/*If specific video parameters are wanted*/
482
- | undefined/*If default video parameters are wanted*/,
483
- simulcastRid: string(rid) /* if simulcastRid is used, parameters will be ignored */
484
- }
485
-
486
- object(VideoParametersSpecification)::
449
+ tracks: [
487
450
{
488
- resolution: object(Resolution) | undefined ,
489
- framerate: number(WantedFrameRateFPS) | undefined ,
490
- bitrate: number(WantedBitrateKbps ) | string(WantedBitrateMultiple) | undefined ,
491
- keyFrameInterval: number(WantedKeyFrameIntervalSecond ) | undefined
451
+ type: "audio" | "video" ,
452
+ mid: string(MID) ,
453
+ from: string(TrackID ) | string(StreamID) ,
454
+ parameters: object(VideoParametersSpecification ) | undefined,
492
455
}
456
+ ]
457
+ }
458
+
459
+ object(VideoParametersSpecification)::
460
+ {
461
+ resolution: object(Resolution) | undefined,
462
+ framerate: number(WantedFrameRateFPS) | undefined,
463
+ bitrate: number(WantedBitrateKbps) | string(WantedBitrateMultiple) | undefined,
464
+ keyFrameInterval: number(WantedKeyFrameIntervalSecond) | undefined
465
+ }
493
466
** ResponseData** : The SubscriptionResult object with following definition if ** ResponseStatus** is “ok”:
494
467
495
468
object(SubscriptionResult)::
0 commit comments