LCOV - code coverage report
Current view: top level - media/webrtc/trunk/webrtc/modules/audio_coding/neteq - post_decode_vad.h (source / functions) Hit Total Coverage
Test: output.info Lines: 0 7 0.0 %
Date: 2017-07-14 16:53:18 Functions: 0 4 0.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /*
       2             :  *  Copyright (c) 2013 The WebRTC project authors. All Rights Reserved.
       3             :  *
       4             :  *  Use of this source code is governed by a BSD-style license
       5             :  *  that can be found in the LICENSE file in the root of the source
       6             :  *  tree. An additional intellectual property rights grant can be found
       7             :  *  in the file PATENTS.  All contributing project authors may
       8             :  *  be found in the AUTHORS file in the root of the source tree.
       9             :  */
      10             : 
      11             : #ifndef WEBRTC_MODULES_AUDIO_CODING_NETEQ_POST_DECODE_VAD_H_
      12             : #define WEBRTC_MODULES_AUDIO_CODING_NETEQ_POST_DECODE_VAD_H_
      13             : 
      14             : #include <string>  // size_t
      15             : 
      16             : #include "webrtc/base/constructormagic.h"
      17             : #include "webrtc/common_audio/vad/include/webrtc_vad.h"
      18             : #include "webrtc/common_types.h"  // NULL
      19             : #include "webrtc/modules/audio_coding/codecs/audio_decoder.h"
      20             : #include "webrtc/modules/audio_coding/neteq/defines.h"
      21             : #include "webrtc/modules/audio_coding/neteq/packet.h"
      22             : #include "webrtc/typedefs.h"
      23             : 
      24             : namespace webrtc {
      25             : 
      26             : class PostDecodeVad {
      27             :  public:
      28           0 :   PostDecodeVad()
      29           0 :       : enabled_(false),
      30             :         running_(false),
      31             :         active_speech_(true),
      32             :         sid_interval_counter_(0),
      33           0 :         vad_instance_(NULL) {
      34           0 :   }
      35             : 
      36             :   virtual ~PostDecodeVad();
      37             : 
      38             :   // Enables post-decode VAD.
      39             :   void Enable();
      40             : 
      41             :   // Disables post-decode VAD.
      42             :   void Disable();
      43             : 
      44             :   // Initializes post-decode VAD.
      45             :   void Init();
      46             : 
      47             :   // Updates post-decode VAD with the audio data in |signal| having |length|
      48             :   // samples. The data is of type |speech_type|, at the sample rate |fs_hz|.
      49             :   void Update(int16_t* signal, size_t length,
      50             :               AudioDecoder::SpeechType speech_type, bool sid_frame, int fs_hz);
      51             : 
      52             :   // Accessors.
      53           0 :   bool enabled() const { return enabled_; }
      54           0 :   bool running() const { return running_; }
      55           0 :   bool active_speech() const { return active_speech_; }
      56             : 
      57             :  private:
      58             :   static const int kVadMode = 0;  // Sets aggressiveness to "Normal".
      59             :   // Number of Update() calls without CNG/SID before re-enabling VAD.
      60             :   static const int kVadAutoEnable = 3000;
      61             : 
      62             :   bool enabled_;
      63             :   bool running_;
      64             :   bool active_speech_;
      65             :   int sid_interval_counter_;
      66             :   ::VadInst* vad_instance_;
      67             : 
      68             :   RTC_DISALLOW_COPY_AND_ASSIGN(PostDecodeVad);
      69             : };
      70             : 
      71             : }  // namespace webrtc
      72             : #endif  // WEBRTC_MODULES_AUDIO_CODING_NETEQ_POST_DECODE_VAD_H_

Generated by: LCOV version 1.13