From fba8fb18b3316f998ad1f29ea7f1360a58b0729f Mon Sep 17 00:00:00 2001 From: Chen Li1 Date: Fri, 9 Jul 2021 13:49:22 +0800 Subject: [PATCH 1/3] Add document for SVC API --- doc/Client-Portal Protocol.md | 6 ++++++ doc/servermd/RESTAPI.md | 1 + 2 files changed, 7 insertions(+) diff --git a/doc/Client-Portal Protocol.md b/doc/Client-Portal Protocol.md index 02e7a4857..1e4b6fb5c 100644 --- a/doc/Client-Portal Protocol.md +++ b/doc/Client-Portal Protocol.md @@ -202,6 +202,7 @@ This a format for client reconnects. source: "mic" | "camera" | "screen-cast" | "raw-file" | "encoded-file" | undefined, mid: string(mid) | undefined, rid: string(rid) | undefined, + scalabilityMode: "L1T3" | ... | undefined, optional: { format: [object(AudioFormat)] | [object(VideoFormat)] | undefined, @@ -379,6 +380,7 @@ A publication can send either media or data, but a QUIC *transport* channel can type: "audio" | "video", mid: string(MID), source: "mic" | "screen-cast" | ... | "encoded-file", + scalabilityMode: "L1T3" | ... | undefined, } ] } @@ -452,6 +454,10 @@ A publication can send either media or data, but a QUIC *transport* channel can mid: string(MID), from: string(TrackID) | string(StreamID), parameters: object(VideoParametersSpecification) | undefined, + preferredLayers: { // Used to force layers for SVC stream + spatialId: number(SpatialLayerId) | undefined, + temporalId: number(TemporalLayerId) | undefined, + } | undefined, } ] } diff --git a/doc/servermd/RESTAPI.md b/doc/servermd/RESTAPI.md index 9164ef4a9..73a76271a 100755 --- a/doc/servermd/RESTAPI.md +++ b/doc/servermd/RESTAPI.md @@ -131,6 +131,7 @@ Data Model:
transcoding: object(Transcoding), // the transcoding control notifying: object(Notifying), // notification control selectActiveAudio: boolean, // select 3 most active audio streams for the room + senderBandwidthEstimation: boolean, // enable send side bandwidth estimation sip: object(Sip) // SIP configuration } From db55ecbb434c56decbf5d2f08b66219040afa487 Mon Sep 17 00:00:00 2001 From: Chen Li1 Date: Mon, 12 Jul 2021 13:05:14 +0800 Subject: [PATCH 2/3] Take layer specification as subscription parameters --- doc/Client-Portal Protocol.md | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/doc/Client-Portal Protocol.md b/doc/Client-Portal Protocol.md index 1e4b6fb5c..422719c71 100644 --- a/doc/Client-Portal Protocol.md +++ b/doc/Client-Portal Protocol.md @@ -453,11 +453,7 @@ A publication can send either media or data, but a QUIC *transport* channel can type: "audio" | "video", mid: string(MID), from: string(TrackID) | string(StreamID), - parameters: object(VideoParametersSpecification) | undefined, - preferredLayers: { // Used to force layers for SVC stream - spatialId: number(SpatialLayerId) | undefined, - temporalId: number(TemporalLayerId) | undefined, - } | undefined, + parameters: object(VideoParametersSpecification) | object(LayerSpecification) | undefined, } ] } @@ -469,6 +465,12 @@ A publication can send either media or data, but a QUIC *transport* channel can bitrate: number(WantedBitrateKbps) | string(WantedBitrateMultiple) | undefined, keyFrameInterval: number(WantedKeyFrameIntervalSecond) | undefined } + + object(LayerSpecification):: + { // Used to force layers for SVC stream + spatialLayer: number(SpatialLayerId) | undefined, + temporalLayer: number(TemporalLayerId) | undefined, + } **ResponseData**: The SubscriptionResult object with following definition if **ResponseStatus** is “ok”: object(SubscriptionResult):: From c198e37be630be848eaf7ca82a97d4f1ec19054b Mon Sep 17 00:00:00 2001 From: Chen Li1 Date: Wed, 4 Aug 2021 15:23:10 +0800 Subject: [PATCH 3/3] Change configuration name for bandwidth estimation --- doc/servermd/RESTAPI.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/servermd/RESTAPI.md b/doc/servermd/RESTAPI.md index 73a76271a..416df0b4d 100755 --- a/doc/servermd/RESTAPI.md +++ b/doc/servermd/RESTAPI.md @@ -131,7 +131,7 @@ Data Model:
transcoding: object(Transcoding), // the transcoding control notifying: object(Notifying), // notification control selectActiveAudio: boolean, // select 3 most active audio streams for the room - senderBandwidthEstimation: boolean, // enable send side bandwidth estimation + rtcSenderBandwidthEstimation: boolean, // enable send side bandwidth estimation for webrtc subscription sip: object(Sip) // SIP configuration }