You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -102,6 +111,14 @@ argument, ensure that the codec is disabled and produces no output.
102
111
103
112
### Stream creation ### {#stream-creation}
104
113
114
+
At construction of each {{RTCRtpTransceiver}}, run the following steps:
115
+
1. If [=this=] is associated with a media description, initialize [=this=].`[[useSFrame]]` from the media description. If [=this=].`[[useSFrame]]` is true, enable SFrame RTP packetization for [=this=].
116
+
1. Otherwise, [=queue a task=] to run the following steps:
117
+
1. If [=this=].`[[useSFrame]]` is undefined, set [=this=].`[[useSFrame]]` to false.
118
+
119
+
The [=check the negotiation-needed flag=] algorithm is updated by adding the below step after step 5.4:
120
+
1. If |transceiver|.`[[useSFrame]]` is true and the media description does not describe the use of SFrame RTP packetization as defined in [[RTP-SFRAME-PAYLOAD]], return true.
121
+
105
122
At construction of each {{RTCRtpSender}} or {{RTCRtpReceiver}}, run the following steps:
106
123
1. Initialize [=this=].`[[transform]]` to null.
107
124
1. Initialize [=this=].`[[readable]]` to a new {{ReadableStream}}.
@@ -185,6 +202,15 @@ The <dfn attribute for="RTCRtpSender,RTCRtpReceiver">transform</dfn> getter step
185
202
186
203
The `transform` setter steps are:
187
204
1. Let |transform| be the argument to the setter.
205
+
1. Let |transceiver| be the {{RTCRtpTransceiver}} associated to [=this=].
206
+
1. If |transform|.`[[useSFrame]]` is true, run the following steps:
207
+
1. If |transceiver|.`[[useSFrame]]` is false, throw a {{InvalidModificationError}} and abort these steps.
208
+
1. Otherwise, if |transceiver|.`[[useSFrame]]` is undefined, run the following steps:
209
+
1. Set |transceiver|.`[[useSFrame]]` to true.
210
+
1. Enable SFrame RTP packetization for |transceiver| and [=update the negotiation-needed flag=] for [=this=]'s connection.
211
+
1. Otherwise, run the following steps:
212
+
1. If |transceiver|.`[[useSFrame]]` is true, throw a {{InvalidModificationError}} and abort these steps.
213
+
1. Set |transceiver|.`[[useSFrame]]` to false.
188
214
1. Let |checkedTransform| set to |transform| if it is not null or to an [=identity transform stream=] otherwise.
189
215
1. If |checkedTransform|.`[[owner]]` is not null, throw a {{InvalidStateError}} and abort these steps.
190
216
1. Let |reader| be the result of [=ReadableStream/getting a reader=] for |checkedTransform|.`[[readable]]`.
0 commit comments