[webrtc-pc] Is voiceActivityDetection still needed? (#2236)

henbos has just created a new issue for https://github.com/w3c/webrtc-pc:

== Is voiceActivityDetection still needed? ==
With restartIce() we no longer need {iceRestart:true}, and with parameterless setLocalDescription() we don't need createOffer() even!
...or do we? There is one "missing piece", possibly, and that is the voiceActivityDetection in RTCOfferAnswerOptions. Definition:

> Many codecs and systems are capable of detecting "silence" and changing their behavior in this case by doing things such as not transmitting any media. In many cases, such as when dealing with emergency calling or sounds other than spoken voice, it is desirable to be able to turn off this behavior. This option allows the application to provide information about whether it wishes this type of processing enabled or disabled.

I'm not sure how this is supposed to be implemented, but it looks like Chrome is implementing it as [removing all CN codecs from the SDP](https://cs.chromium.org/chromium/src/third_party/webrtc/pc/media_session.h?type=cs&sq=package:chromium&g=0&l=105). I don't think we should have another API for modifying the set of codecs. We already have setCodecPreferences().

In order to make completely createOffer() superflous, discouraged, and perhaps even [one day](https://www.youtube.com/watch?v=vAUOPHqx5Gs) deprecated, should we do one of the following?
1. Deprecate voiceActivityDetection
2. Specify VAD bit as part of codec capabilities or parameters
3. Allow controlling the voiceActivityDetection from setConfiguration() instead of RTCOfferAnswerOptions.

Please view or discuss this issue at https://github.com/w3c/webrtc-pc/issues/2236 using your GitHub account

Received on Tuesday, 23 July 2019 09:46:41 UTC