| Index: webrtc/common_audio/vad/vad.cc
|
| diff --git a/webrtc/common_audio/vad/vad.cc b/webrtc/common_audio/vad/vad.cc
|
| index 764d024cbd36a0abd7bcc9a7cee6ca5ff61d6bae..dc4eb6db3246d488d85e23e155ff305ab0099170 100644
|
| --- a/webrtc/common_audio/vad/vad.cc
|
| +++ b/webrtc/common_audio/vad/vad.cc
|
| @@ -14,11 +14,8 @@
|
|
|
| namespace webrtc {
|
|
|
| -Vad::Vad(enum Aggressiveness mode) {
|
| - handle_ = WebRtcVad_Create();
|
| - CHECK(handle_);
|
| - CHECK_EQ(WebRtcVad_Init(handle_), 0);
|
| - CHECK_EQ(WebRtcVad_set_mode(handle_, mode), 0);
|
| +Vad::Vad(enum Aggressiveness mode) : handle_(nullptr), aggressiveness_(mode) {
|
| + Reset();
|
| }
|
|
|
| Vad::~Vad() {
|
| @@ -40,4 +37,13 @@ enum Vad::Activity Vad::VoiceActivity(const int16_t* audio,
|
| }
|
| }
|
|
|
| +void Vad::Reset() {
|
| + if (handle_)
|
| + WebRtcVad_Free(handle_);
|
| + handle_ = WebRtcVad_Create();
|
| + CHECK(handle_);
|
| + CHECK_EQ(WebRtcVad_Init(handle_), 0);
|
| + CHECK_EQ(WebRtcVad_set_mode(handle_, aggressiveness_), 0);
|
| +}
|
| +
|
| } // namespace webrtc
|
|
|