Control of Voice Activity Detection (VAD) #129

Closed
aboba opened this Issue Jul 14, 2014 · 2 comments

Projects

None yet

2 participants

@aboba
Contributor
aboba commented Jul 14, 2014

In WebRTC 1.0 Section 4.2.4 we have:

dictionary RTCOfferOptions {
long offerToReceiveVideo;
long offerToReceiveAudio;
boolean voiceActivityDetection = true;
boolean iceRestart = false;
};

What is the equivalent means by which ORTC API controls voice activity detection?

@aboba
Contributor
aboba commented Jul 15, 2014

In WebRTC 1.0 the voiceActivityDetection attribute determines what is put into the Offer (such as inclusion of CN as defined in RFC 3389). In ORTC API, we can control the codecs that are offered (such as CN) and/or the settings of those codecs (e.g. support for comfort noise in G.729). Therefore there is not a need for an explicit voiceActivityDetection attribute within RTCRtpParameters.

@aboba
Contributor
aboba commented Jul 15, 2014

While no specification change is required, it would be useful to add a Section 16 on WebRTC compatibility issues, so as to answer this and other potential WebRTC compatibility questions. Here is the proposed text for a Section 16.1 within that section:

16.1 Voice Activity Detection

[WEBRTC10] Section 4.2.4 defines the RTCOfferOptions dictionary, which includes the voiceActivityDetection attribute, which determines whether Voice Activity Detection (VAD) is enabled within the Offer produced by createOffer(). The effect of setting voiceActivityDetection to TRUE is to include the Comfort Noice (CN) codec defined in [RFC3389] within the Offer.

Within ORTC API, equivalent behavior can be obtained by configuring the Comfort Noise codec for use within the RTCRtpParameters object, or configuring a codec with built-in support for Comfort Noise (such as G.729) to enable comfort noise.

@robin-raymond robin-raymond pushed a commit to robin-raymond/ortc that referenced this issue Jul 16, 2014
Robin Raymond Added section on WebRTC 1.0 compatibility issues, responding to Issue #…
…66

Added Identity support, as described in Issue #78
Reworked getStats method, as described in Issue #85
Removed ICE restart method described in Issue #93
Addressed CNAME and synchronization context issues described in Issue #94
Fixed WebIDL issues noted in Issue #97
Addressed NITs described in Issue #99
DTLS transport issues fixed as described in Issue #100
ICE transport issues fixed as described in Issue #101
ICE transport controller fixes made as described in Issue #102
Sender and Receiver object fixes made as described in Issue #103
Fixed RTCRtpEncodingParameter default issues described in Issue #104
Fixed 'Big Picture' issues descibed in Issue #105
Fixed RTCRtpParameter default issues described in Issue #106
Added a multi-stream capability, as noted in Issue #108
Removed quality scalability capabilities and parameters, as described in Issue #109
Added scalability examples as requested in Issue #110
Addressed WebRTC 1.0 Data Channel compatibility issue described in Issue #111
Removed header extensions from RTCRtpCodecParameters as described in Issue #113
Addressed RTP/RTCP non-mux issues with IdP as described in Issue #114
Added getParameter methods to RTCRtpSender and RTCRtpReceiver objects, as described in Issue #116
Added layering diagrams as requested in Issue #117
Added a typedef for payload type, as described in Issue #118
Moved onerror from the RTCIceTransport object to the RTCIceListener object as described in Issue #121
Added explanation of Voice Activity Detection (VAD), responding to Issue #129
Clarified the meaning of maxTemporalLayers and maxSpatialLayers, as noted in Issue #130
Added RFC 6051 to the list of header extensions and removed RFC 5450, as noted in Issue #131
Addressed ICE terminology issues, as described in Issue #132
Separated references into Normative and Informative, as noted in Issue #133
6f8216a
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment