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

          Line data    Source code
       1             : /*
       2             :  *  Copyright (c) 2012 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_NORMAL_H_
      12             : #define WEBRTC_MODULES_AUDIO_CODING_NETEQ_NORMAL_H_
      13             : 
      14             : #include <string.h>  // Access to size_t.
      15             : 
      16             : #include <vector>
      17             : 
      18             : #include "webrtc/base/constructormagic.h"
      19             : #include "webrtc/modules/audio_coding/neteq/audio_multi_vector.h"
      20             : #include "webrtc/modules/audio_coding/neteq/defines.h"
      21             : #include "webrtc/typedefs.h"
      22             : 
      23             : namespace webrtc {
      24             : 
      25             : // Forward declarations.
      26             : class BackgroundNoise;
      27             : class DecoderDatabase;
      28             : class Expand;
      29             : 
      30             : // This class provides the "Normal" DSP operation, that is performed when
      31             : // there is no data loss, no need to stretch the timing of the signal, and
      32             : // no other "special circumstances" are at hand.
      33             : class Normal {
      34             :  public:
      35           0 :   Normal(int fs_hz, DecoderDatabase* decoder_database,
      36             :          const BackgroundNoise& background_noise,
      37             :          Expand* expand)
      38           0 :       : fs_hz_(fs_hz),
      39             :         decoder_database_(decoder_database),
      40             :         background_noise_(background_noise),
      41           0 :         expand_(expand) {
      42           0 :   }
      43             : 
      44           0 :   virtual ~Normal() {}
      45             : 
      46             :   // Performs the "Normal" operation. The decoder data is supplied in |input|,
      47             :   // having |length| samples in total for all channels (interleaved). The
      48             :   // result is written to |output|. The number of channels allocated in
      49             :   // |output| defines the number of channels that will be used when
      50             :   // de-interleaving |input|. |last_mode| contains the mode used in the previous
      51             :   // GetAudio call (i.e., not the current one), and |external_mute_factor| is
      52             :   // a pointer to the mute factor in the NetEqImpl class.
      53             :   int Process(const int16_t* input, size_t length,
      54             :               Modes last_mode,
      55             :               int16_t* external_mute_factor_array,
      56             :               AudioMultiVector* output);
      57             : 
      58             :  private:
      59             :   int fs_hz_;
      60             :   DecoderDatabase* decoder_database_;
      61             :   const BackgroundNoise& background_noise_;
      62             :   Expand* expand_;
      63             : 
      64             :   RTC_DISALLOW_COPY_AND_ASSIGN(Normal);
      65             : };
      66             : 
      67             : }  // namespace webrtc
      68             : #endif  // WEBRTC_MODULES_AUDIO_CODING_NETEQ_NORMAL_H_

Generated by: LCOV version 1.13