Draft: draft-ietf-rtcweb-jsep

Commentary: ORTA / ORTV can now be set to a number smaller than the number of MSTs , leading to a = sendonly settings . Also allowed VAD to work in CreateAnswer . ( ) 
 LGTM 
 do you have any remaining concerns ? 
 lgtm 
 LGTM 
 Per e - mail , I feel like the text around how to not change extant m= sections is confusing . Ignoring recycling , if we have N mediastreams of which O are old and are sendrecv and someone asks for offerToReceive = M , then we end up with : if O = M : O sendrecv m= lines N - O sendonly m= lines if O < M : M sendrecv m= lines N - M sendonly m= lines I am fine with that , but I feel like the text may not make it entirely clear .
Paragraph (version A):
If the "OfferToReceiveAudio" option is specified, with an integer
value of N, the offer MUST include N non-rejected m= sections with
media type "audio", even if fewer than N audio MediaStreamTracks have
been added to the PeerConnection.  This allows the offerer to receive
audio, including multiple independent streams, even when not sending
it; accordingly, the directional attribute on the audio m= sections
without associated MediaStreamTracks MUST be set to recvonly.  If
this option is specified in the case where at least N audio
MediaStreamTracks have already been added to the PeerConnection, or N
non-rejected m= sections with media type "audio" would otherwise be
generated, it has no effect.  For backwards compatibility with pre-
standard versions of this specification, a value of "true" is
interpreted as equivalent to N=1.
Paragraph (version A):
If the "OfferToReceiveVideo" option is specified, with an integer
value of N, the offer MUST include N non-rejected m= sections with
media type "video", even if fewer than N video MediaStreamTracks have
been added to the PeerConnection.  This allows the offerer to receive
video, including multiple independent streams, even when not sending
it; accordingly, the directional attribute on the video m= sections
without associated MediaStreamTracks MUST be set to recvonly.  If
this option is specified in the case where at least N video
MediaStreamTracks have already been added to the PeerConnection, or N
non-rejected m= sections with media type "video" would otherwise be
generated, it has no effect.  For backwards compatibility with pre-
standard versions of this specification, a value of "true" is
interpreted as equivalent to N=1.
Paragraph (version B):
If the "OfferToReceiveAudio" option is specified, with an integer
value of N, and M audio MediaStreamTracks have been added to the
PeerConnection, the offer MUST include N non-rejected m= sections
with media type "audio", even if N is greater than M.  This allows
the offerer to receive audio, including multiple independent streams,
even when not sending it; accordingly, the directional attribute on
the N-M audio m= sections without associated MediaStreamTracks MUST
be set to recvonly.
Paragraph (version B):
If the "OfferToReceiveVideo" option is specified, with an integer
value of N, and M video MediaStreamTracks have been added to the
PeerConnection, the offer MUST include N non-rejected m= sections
with media type "video", even if N is greater than M.  This allows
the offerer to receive video, including multiple independent streams,
even when not sending it; accordingly, the directional attribute on
the N-M video m= sections without associated MediaStreamTracks MUST
be set to recvonly.
Paragraph (version B):
The createOffer method takes as a parameter an RTCAnswerOptions
object.  Special processing is performed when generating a SDP
description if the following constraints are present.
Paragraph (version B):
Handling of the "VoiceActivityDetection" option in answers is the
same as is indicated for offers in sec.voiceactivitydetection1.