LCOV - code coverage report
Current view: top level - media/webrtc/trunk/webrtc/modules/audio_coding/neteq - buffer_level_filter.h (source / functions) Hit Total Coverage
Test: output.info Lines: 0 1 0.0 %
Date: 2017-07-14 16:53:18 Functions: 0 2 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_BUFFER_LEVEL_FILTER_H_
      12             : #define WEBRTC_MODULES_AUDIO_CODING_NETEQ_BUFFER_LEVEL_FILTER_H_
      13             : 
      14             : #include <stddef.h>
      15             : 
      16             : #include "webrtc/base/constructormagic.h"
      17             : 
      18             : namespace webrtc {
      19             : 
      20             : class BufferLevelFilter {
      21             :  public:
      22             :   BufferLevelFilter();
      23           0 :   virtual ~BufferLevelFilter() {}
      24             :   virtual void Reset();
      25             : 
      26             :   // Updates the filter. Current buffer size is |buffer_size_packets| (Q0).
      27             :   // If |time_stretched_samples| is non-zero, the value is converted to the
      28             :   // corresponding number of packets, and is subtracted from the filtered
      29             :   // value (thus bypassing the filter operation). |packet_len_samples| is the
      30             :   // number of audio samples carried in each incoming packet.
      31             :   virtual void Update(size_t buffer_size_packets, int time_stretched_samples,
      32             :                       size_t packet_len_samples);
      33             : 
      34             :   // Set the current target buffer level (obtained from
      35             :   // DelayManager::base_target_level()). Used to select the appropriate
      36             :   // filter coefficient.
      37             :   virtual void SetTargetBufferLevel(int target_buffer_level);
      38             : 
      39             :   virtual int filtered_current_level() const;
      40             : 
      41             :  private:
      42             :   int level_factor_;  // Filter factor for the buffer level filter in Q8.
      43             :   int filtered_current_level_;  // Filtered current buffer level in Q8.
      44             : 
      45             :   RTC_DISALLOW_COPY_AND_ASSIGN(BufferLevelFilter);
      46             : };
      47             : 
      48             : }  // namespace webrtc
      49             : #endif  // WEBRTC_MODULES_AUDIO_CODING_NETEQ_BUFFER_LEVEL_FILTER_H_

Generated by: LCOV version 1.13