tor-browser

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

mock_voe_channel_proxy.h (8323B)


      1 /*
      2 *  Copyright (c) 2015 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 AUDIO_MOCK_VOE_CHANNEL_PROXY_H_
     12 #define AUDIO_MOCK_VOE_CHANNEL_PROXY_H_
     13 
     14 #include <cstddef>
     15 #include <cstdint>
     16 #include <map>
     17 #include <memory>
     18 #include <optional>
     19 #include <utility>
     20 #include <vector>
     21 
     22 #include "absl/strings/string_view.h"
     23 #include "api/array_view.h"
     24 #include "api/audio/audio_frame.h"
     25 #include "api/audio/audio_mixer.h"
     26 #include "api/audio_codecs/audio_encoder.h"
     27 #include "api/audio_codecs/audio_format.h"
     28 #include "api/call/audio_sink.h"
     29 #include "api/call/bitrate_allocation.h"
     30 #include "api/crypto/frame_decryptor_interface.h"
     31 #include "api/crypto/frame_encryptor_interface.h"
     32 #include "api/frame_transformer_interface.h"
     33 #include "api/function_view.h"
     34 #include "api/rtp_headers.h"
     35 #include "api/scoped_refptr.h"
     36 #include "api/transport/rtp/rtp_source.h"
     37 #include "api/units/data_rate.h"
     38 #include "api/units/time_delta.h"
     39 #include "api/units/timestamp.h"
     40 #include "audio/channel_receive.h"
     41 #include "audio/channel_send.h"
     42 #include "call/syncable.h"
     43 #include "modules/audio_coding/include/audio_coding_module_typedefs.h"
     44 #include "modules/rtp_rtcp/include/report_block_data.h"
     45 #include "modules/rtp_rtcp/source/rtp_packet_received.h"
     46 #include "modules/rtp_rtcp/source/rtp_rtcp_interface.h"
     47 #include "system_wrappers/include/ntp_time.h"
     48 #include "test/gmock.h"
     49 
     50 namespace webrtc {
     51 namespace test {
     52 
     53 class MockChannelReceive : public voe::ChannelReceiveInterface {
     54 public:
     55  MOCK_METHOD(void, SetNACKStatus, (bool enable, int max_packets), (override));
     56  MOCK_METHOD(void, SetRtcpMode, (RtcpMode mode), (override));
     57  MOCK_METHOD(void, SetNonSenderRttMeasurement, (bool enabled), (override));
     58  MOCK_METHOD(void,
     59              RegisterReceiverCongestionControlObjects,
     60              (PacketRouter*),
     61              (override));
     62  MOCK_METHOD(void, ResetReceiverCongestionControlObjects, (), (override));
     63  MOCK_METHOD(ChannelReceiveStatistics,
     64              GetRTCPStatistics,
     65              (),
     66              (const, override));
     67  MOCK_METHOD(NetworkStatistics,
     68              GetNetworkStatistics,
     69              (bool),
     70              (const, override));
     71  MOCK_METHOD(AudioDecodingCallStats,
     72              GetDecodingCallStatistics,
     73              (),
     74              (const, override));
     75  MOCK_METHOD(int, GetSpeechOutputLevelFullRange, (), (const, override));
     76  MOCK_METHOD(double, GetTotalOutputEnergy, (), (const, override));
     77  MOCK_METHOD(double, GetTotalOutputDuration, (), (const, override));
     78  MOCK_METHOD(uint32_t, GetDelayEstimate, (), (const, override));
     79  MOCK_METHOD(void, SetSink, (AudioSinkInterface*), (override));
     80  MOCK_METHOD(void, OnRtpPacket, (const RtpPacketReceived& packet), (override));
     81  MOCK_METHOD(void,
     82              ReceivedRTCPPacket,
     83              (const uint8_t*, size_t length),
     84              (override));
     85  MOCK_METHOD(void, SetChannelOutputVolumeScaling, (float scaling), (override));
     86  MOCK_METHOD(AudioMixer::Source::AudioFrameInfo,
     87              GetAudioFrameWithInfo,
     88              (int sample_rate_hz, AudioFrame*),
     89              (override));
     90  MOCK_METHOD(int, PreferredSampleRate, (), (const, override));
     91  MOCK_METHOD(std::vector<RtpSource>, GetSources, (), (const, override));
     92  MOCK_METHOD(std::optional<Syncable::PlayoutInfo>,
     93              GetPlayoutRtpTimestamp,
     94              (),
     95              (const, override));
     96  MOCK_METHOD(void,
     97              SetEstimatedPlayoutNtpTimestamp,
     98              (NtpTime ntp_time, Timestamp time),
     99              (override));
    100  MOCK_METHOD(std::optional<int64_t>,
    101              GetCurrentEstimatedPlayoutNtpTimestampMs,
    102              (int64_t now_ms),
    103              (const, override));
    104  MOCK_METHOD(std::optional<Syncable::Info>,
    105              GetSyncInfo,
    106              (),
    107              (const, override));
    108  MOCK_METHOD(bool, SetMinimumPlayoutDelay, (TimeDelta delay), (override));
    109  MOCK_METHOD(bool, SetBaseMinimumPlayoutDelayMs, (int delay_ms), (override));
    110  MOCK_METHOD(int, GetBaseMinimumPlayoutDelayMs, (), (const, override));
    111  MOCK_METHOD((std::optional<std::pair<int, SdpAudioFormat>>),
    112              GetReceiveCodec,
    113              (),
    114              (const, override));
    115  MOCK_METHOD(void,
    116              SetReceiveCodecs,
    117              ((const std::map<int, SdpAudioFormat>& codecs)),
    118              (override));
    119  MOCK_METHOD(void, StartPlayout, (), (override));
    120  MOCK_METHOD(void, StopPlayout, (), (override));
    121  MOCK_METHOD(void,
    122              SetDepacketizerToDecoderFrameTransformer,
    123              (webrtc::scoped_refptr<webrtc::FrameTransformerInterface>
    124                   frame_transformer),
    125              (override));
    126  MOCK_METHOD(
    127      void,
    128      SetFrameDecryptor,
    129      (webrtc::scoped_refptr<webrtc::FrameDecryptorInterface> frame_decryptor),
    130      (override));
    131  MOCK_METHOD(void, OnLocalSsrcChange, (uint32_t local_ssrc), (override));
    132 };
    133 
    134 class MockChannelSend : public voe::ChannelSendInterface {
    135 public:
    136  MOCK_METHOD(void,
    137              SetEncoder,
    138              (int payload_type,
    139               const SdpAudioFormat& encoder_format,
    140               std::unique_ptr<AudioEncoder> encoder),
    141              (override));
    142  MOCK_METHOD(
    143      void,
    144      ModifyEncoder,
    145      (webrtc::FunctionView<void(std::unique_ptr<AudioEncoder>*)> modifier),
    146      (override));
    147  MOCK_METHOD(void,
    148              CallEncoder,
    149              (webrtc::FunctionView<void(AudioEncoder*)> modifier),
    150              (override));
    151  MOCK_METHOD(void, SetRTCP_CNAME, (absl::string_view c_name), (override));
    152  MOCK_METHOD(void,
    153              SetSendAudioLevelIndicationStatus,
    154              (bool enable, int id),
    155              (override));
    156  MOCK_METHOD(void,
    157              RegisterSenderCongestionControlObjects,
    158              (RtpTransportControllerSendInterface*),
    159              (override));
    160  MOCK_METHOD(void, ResetSenderCongestionControlObjects, (), (override));
    161  MOCK_METHOD(ChannelSendStatistics, GetRTCPStatistics, (), (const, override));
    162  MOCK_METHOD(std::vector<ReportBlockData>,
    163              GetRemoteRTCPReportBlocks,
    164              (),
    165              (const, override));
    166  MOCK_METHOD(ANAStats, GetANAStatistics, (), (const, override));
    167  MOCK_METHOD(void,
    168              RegisterCngPayloadType,
    169              (int payload_type, int payload_frequency),
    170              (override));
    171  MOCK_METHOD(void,
    172              SetSendTelephoneEventPayloadType,
    173              (int payload_type, int payload_frequency),
    174              (override));
    175  MOCK_METHOD(bool,
    176              SendTelephoneEventOutband,
    177              (int event, int duration_ms),
    178              (override));
    179  MOCK_METHOD(void,
    180              OnBitrateAllocation,
    181              (BitrateAllocationUpdate update),
    182              (override));
    183  MOCK_METHOD(void, SetInputMute, (bool muted), (override));
    184  MOCK_METHOD(void,
    185              ReceivedRTCPPacket,
    186              (const uint8_t*, size_t length),
    187              (override));
    188  MOCK_METHOD(void,
    189              ProcessAndEncodeAudio,
    190              (std::unique_ptr<AudioFrame>),
    191              (override));
    192  MOCK_METHOD(RtpRtcpInterface*, GetRtpRtcp, (), (const, override));
    193  MOCK_METHOD(int, GetTargetBitrate, (), (const, override));
    194  MOCK_METHOD(void, StartSend, (), (override));
    195  MOCK_METHOD(void, StopSend, (), (override));
    196  MOCK_METHOD(void,
    197              SetFrameEncryptor,
    198              (webrtc::scoped_refptr<FrameEncryptorInterface> frame_encryptor),
    199              (override));
    200  MOCK_METHOD(void,
    201              SetEncoderToPacketizerFrameTransformer,
    202              (webrtc::scoped_refptr<webrtc::FrameTransformerInterface>
    203                   frame_transformer),
    204              (override));
    205  MOCK_METHOD(std::optional<DataRate>, GetUsedRate, (), (const, override));
    206  MOCK_METHOD(void,
    207              RegisterPacketOverhead,
    208              (int packet_byte_overhead),
    209              (override));
    210  MOCK_METHOD(void, SetCsrcs, (ArrayView<const uint32_t> csrcs), (override));
    211 };
    212 }  // namespace test
    213 }  // namespace webrtc
    214 
    215 #endif  // AUDIO_MOCK_VOE_CHANNEL_PROXY_H_