tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

mock_audio_processing.h (7244B)


      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 MODULES_AUDIO_PROCESSING_INCLUDE_MOCK_AUDIO_PROCESSING_H_
     12 #define MODULES_AUDIO_PROCESSING_INCLUDE_MOCK_AUDIO_PROCESSING_H_
     13 
     14 #include <array>
     15 #include <cstddef>
     16 #include <cstdint>
     17 #include <cstdio>
     18 #include <memory>
     19 #include <string>
     20 
     21 #include "absl/base/nullability.h"
     22 #include "absl/strings/string_view.h"
     23 #include "api/array_view.h"
     24 #include "api/audio/audio_processing.h"
     25 #include "api/audio/audio_processing_statistics.h"
     26 #include "api/audio/echo_control.h"
     27 #include "api/environment/environment.h"
     28 #include "api/scoped_refptr.h"
     29 #include "api/task_queue/task_queue_base.h"
     30 #include "modules/audio_processing/include/aec_dump.h"
     31 #include "test/gmock.h"
     32 
     33 namespace webrtc {
     34 
     35 namespace test {
     36 class MockCustomProcessing : public CustomProcessing {
     37 public:
     38  virtual ~MockCustomProcessing() {}
     39  MOCK_METHOD(void,
     40              Initialize,
     41              (int sample_rate_hz, int num_channels),
     42              (override));
     43  MOCK_METHOD(void, Process, (AudioBuffer * audio), (override));
     44  MOCK_METHOD(void,
     45              SetRuntimeSetting,
     46              (AudioProcessing::RuntimeSetting setting),
     47              (override));
     48  MOCK_METHOD(std::string, ToString, (), (const, override));
     49 };
     50 
     51 class MockCustomAudioAnalyzer : public CustomAudioAnalyzer {
     52 public:
     53  virtual ~MockCustomAudioAnalyzer() {}
     54  MOCK_METHOD(void,
     55              Initialize,
     56              (int sample_rate_hz, int num_channels),
     57              (override));
     58  MOCK_METHOD(void, Analyze, (const AudioBuffer* audio), (override));
     59  MOCK_METHOD(std::string, ToString, (), (const, override));
     60 };
     61 
     62 class MockEchoControl : public EchoControl {
     63 public:
     64  virtual ~MockEchoControl() {}
     65  MOCK_METHOD(void, AnalyzeRender, (AudioBuffer * render), (override));
     66  MOCK_METHOD(void, AnalyzeCapture, (AudioBuffer * capture), (override));
     67  MOCK_METHOD(void,
     68              ProcessCapture,
     69              (AudioBuffer * capture, bool echo_path_change),
     70              (override));
     71  MOCK_METHOD(void,
     72              ProcessCapture,
     73              (AudioBuffer * capture,
     74               AudioBuffer* linear_output,
     75               bool echo_path_change),
     76              (override));
     77  MOCK_METHOD(Metrics, GetMetrics, (), (const, override));
     78  MOCK_METHOD(void, SetAudioBufferDelay, (int delay_ms), (override));
     79  MOCK_METHOD(bool, ActiveProcessing, (), (const, override));
     80 };
     81 
     82 class MockEchoDetector : public EchoDetector {
     83 public:
     84  virtual ~MockEchoDetector() {}
     85  MOCK_METHOD(void,
     86              Initialize,
     87              (int capture_sample_rate_hz,
     88               int num_capture_channels,
     89               int render_sample_rate_hz,
     90               int num_render_channels),
     91              (override));
     92  MOCK_METHOD(void,
     93              AnalyzeRenderAudio,
     94              (webrtc::ArrayView<const float> render_audio),
     95              (override));
     96  MOCK_METHOD(void,
     97              AnalyzeCaptureAudio,
     98              (webrtc::ArrayView<const float> capture_audio),
     99              (override));
    100  MOCK_METHOD(Metrics, GetMetrics, (), (const, override));
    101 };
    102 
    103 class MockAudioProcessing : public AudioProcessing {
    104 public:
    105  MockAudioProcessing() {}
    106 
    107  virtual ~MockAudioProcessing() {}
    108 
    109  MOCK_METHOD(int, Initialize, (), (override));
    110  MOCK_METHOD(int,
    111              Initialize,
    112              (const ProcessingConfig& processing_config),
    113              (override));
    114  MOCK_METHOD(void, ApplyConfig, (const Config& config), (override));
    115  MOCK_METHOD(int, proc_sample_rate_hz, (), (const, override));
    116  MOCK_METHOD(int, proc_split_sample_rate_hz, (), (const, override));
    117  MOCK_METHOD(size_t, num_input_channels, (), (const, override));
    118  MOCK_METHOD(size_t, num_proc_channels, (), (const, override));
    119  MOCK_METHOD(size_t, num_output_channels, (), (const, override));
    120  MOCK_METHOD(size_t, num_reverse_channels, (), (const, override));
    121  MOCK_METHOD(void, set_output_will_be_muted, (bool muted), (override));
    122  MOCK_METHOD(void, SetRuntimeSetting, (RuntimeSetting setting), (override));
    123  MOCK_METHOD(bool, PostRuntimeSetting, (RuntimeSetting setting), (override));
    124  MOCK_METHOD(int,
    125              ProcessStream,
    126              (const int16_t* const src,
    127               const StreamConfig& input_config,
    128               const StreamConfig& output_config,
    129               int16_t* const dest),
    130              (override));
    131  MOCK_METHOD(int,
    132              ProcessStream,
    133              (const float* const* src,
    134               const StreamConfig& input_config,
    135               const StreamConfig& output_config,
    136               float* const* dest),
    137              (override));
    138  MOCK_METHOD(int,
    139              ProcessReverseStream,
    140              (const int16_t* const src,
    141               const StreamConfig& input_config,
    142               const StreamConfig& output_config,
    143               int16_t* const dest),
    144              (override));
    145  MOCK_METHOD(int,
    146              AnalyzeReverseStream,
    147              (const float* const* data, const StreamConfig& reverse_config),
    148              (override));
    149  MOCK_METHOD(int,
    150              ProcessReverseStream,
    151              (const float* const* src,
    152               const StreamConfig& input_config,
    153               const StreamConfig& output_config,
    154               float* const* dest),
    155              (override));
    156  MOCK_METHOD(bool,
    157              GetLinearAecOutput,
    158              ((webrtc::ArrayView<std::array<float, 160>> linear_output)),
    159              (const, override));
    160  MOCK_METHOD(int, set_stream_delay_ms, (int delay), (override));
    161  MOCK_METHOD(int, stream_delay_ms, (), (const, override));
    162  MOCK_METHOD(void, set_stream_key_pressed, (bool key_pressed), (override));
    163  MOCK_METHOD(void, set_stream_analog_level, (int), (override));
    164  MOCK_METHOD(int, recommended_stream_analog_level, (), (const, override));
    165  MOCK_METHOD(bool,
    166              CreateAndAttachAecDump,
    167              (absl::string_view file_name,
    168               int64_t max_log_size_bytes,
    169               TaskQueueBase* absl_nonnull worker_queue),
    170              (override));
    171  MOCK_METHOD(bool,
    172              CreateAndAttachAecDump,
    173              (FILE * handle,
    174               int64_t max_log_size_bytes,
    175               TaskQueueBase* absl_nonnull worker_queue),
    176              (override));
    177  MOCK_METHOD(void, AttachAecDump, (std::unique_ptr<AecDump>), (override));
    178  MOCK_METHOD(void, DetachAecDump, (), (override));
    179 
    180  MOCK_METHOD(AudioProcessingStats, GetStatistics, (), (override));
    181  MOCK_METHOD(AudioProcessingStats, GetStatistics, (bool), (override));
    182 
    183  MOCK_METHOD(AudioProcessing::Config, GetConfig, (), (const, override));
    184 };
    185 
    186 class MockAudioProcessingBuilder : public AudioProcessingBuilderInterface {
    187 public:
    188  MOCK_METHOD(scoped_refptr<AudioProcessing>,
    189              Build,
    190              (const Environment&),
    191              (override));
    192 };
    193 
    194 }  // namespace test
    195 }  // namespace webrtc
    196 
    197 #endif  // MODULES_AUDIO_PROCESSING_INCLUDE_MOCK_AUDIO_PROCESSING_H_