Coverage Report

Created: 2018-09-25 14:53

/src/mozilla-central/media/webrtc/signaling/gtest/MockCall.h
Line
Count
Source (jump to first uncovered line)
1
/* This Source Code Form is subject to the terms of the Mozilla Public
2
 * License, v. 2.0. If a copy of the MPL was not distributed with this file,
3
 * You can obtain one at http://mozilla.org/MPL/2.0/. */
4
5
#ifndef MOCK_CALL_H_
6
#define MOCK_CALL_H_
7
8
#include <webrtc/api/call/audio_sink.h>
9
#include <webrtc/call/call.h>
10
11
using namespace webrtc;
12
13
namespace test {
14
15
class MockAudioSendStream : public webrtc::AudioSendStream {
16
public:
17
0
  void Start() override {}
18
19
0
  void Stop() override {}
20
21
  bool SendTelephoneEvent(int payload_type, int payload_frequency,
22
                          int event, int duration_ms) override
23
0
  {
24
0
    return true;
25
0
  }
26
27
0
  void SetMuted(bool muted) override {}
28
29
  Stats GetStats() const override
30
0
  {
31
0
    return mStats;
32
0
  }
33
34
0
  virtual ~MockAudioSendStream() {}
35
36
  AudioSendStream::Stats mStats;
37
};
38
39
class MockAudioReceiveStream : public webrtc::AudioReceiveStream {
40
public:
41
0
  void Start() override {}
42
43
0
  void Stop() override {}
44
45
  Stats GetStats() const override
46
0
  {
47
0
    return mStats;
48
0
  }
49
50
0
  void SetSink(std::unique_ptr<AudioSinkInterface> sink) override {}
51
52
0
  void SetGain(float gain) override {}
53
54
0
  virtual ~MockAudioReceiveStream() {}
55
56
  AudioReceiveStream::Stats mStats;
57
};
58
59
class MockVideoSendStream : public webrtc::VideoSendStream {
60
public:
61
  explicit MockVideoSendStream(VideoEncoderConfig&& config)
62
    : mEncoderConfig(std::move(config))
63
0
  {}
64
65
0
  void Start() override {}
66
67
0
  void Stop() override {}
68
69
  void SetSource(rtc::VideoSourceInterface<webrtc::VideoFrame>* source,
70
0
                 const DegradationPreference& degradation_preference) override {}
71
72
  CPULoadStateObserver* LoadStateObserver() override
73
0
  {
74
0
    return nullptr;
75
0
  }
76
77
  void ReconfigureVideoEncoder(VideoEncoderConfig config) override
78
0
  {
79
0
    mEncoderConfig = config.Copy();
80
0
  }
81
82
  Stats GetStats() override
83
0
  {
84
0
    return mStats;
85
0
  }
86
87
  void EnableEncodedFrameRecording(const std::vector<rtc::PlatformFile>& files,
88
0
                                   size_t byte_limit) override {}
89
90
0
  virtual ~MockVideoSendStream() {}
91
92
  VideoEncoderConfig mEncoderConfig;
93
  VideoSendStream::Stats mStats;
94
};
95
96
class MockVideoReceiveStream : public webrtc::VideoReceiveStream {
97
public:
98
0
  void Start() override {}
99
100
0
  void Stop() override {}
101
102
  Stats GetStats() const override
103
0
  {
104
0
    return mStats;
105
0
  }
106
107
  bool
108
  GetRemoteRTCPSenderInfo(RTCPSenderInfo* sender_info) const override
109
0
  {
110
0
    return false;
111
0
  }
112
113
0
  void SetSyncChannel(VoiceEngine* voice_engine, int audio_channel_id) override {}
114
115
  void EnableEncodedFrameRecording(rtc::PlatformFile file,
116
0
                                   size_t byte_limit) override {}
117
118
0
  virtual ~MockVideoReceiveStream() {}
119
120
  VideoReceiveStream::Stats mStats;
121
};
122
123
class MockCall : public webrtc::Call {
124
public:
125
  MockCall()
126
    : mAudioSendConfig(nullptr)
127
    , mVideoReceiveConfig(nullptr)
128
    , mVideoSendConfig(nullptr)
129
0
    , mCurrentVideoSendStream(nullptr) {}
130
131
  AudioSendStream* CreateAudioSendStream(const AudioSendStream::Config& config) override
132
0
  {
133
0
    mAudioSendConfig = config;
134
0
    return new MockAudioSendStream;
135
0
  }
136
137
  void DestroyAudioSendStream(AudioSendStream* send_stream) override
138
0
  {
139
0
    delete static_cast<MockAudioSendStream*>(send_stream);
140
0
  }
141
142
  AudioReceiveStream* CreateAudioReceiveStream(const AudioReceiveStream::Config& config) override
143
0
  {
144
0
    mAudioReceiveConfig = config;
145
0
    return new MockAudioReceiveStream;
146
0
  }
147
  void DestroyAudioReceiveStream(AudioReceiveStream* receive_stream) override
148
0
  {
149
0
    delete static_cast<MockAudioReceiveStream*>(receive_stream);
150
0
  }
151
152
  VideoSendStream* CreateVideoSendStream(VideoSendStream::Config config,
153
0
                                         VideoEncoderConfig encoder_config) override {
154
0
    MOZ_RELEASE_ASSERT(!mCurrentVideoSendStream);
155
0
    mVideoSendConfig = config.Copy();
156
0
    mCurrentVideoSendStream = new MockVideoSendStream(encoder_config.Copy());
157
0
    return mCurrentVideoSendStream;
158
0
  }
159
160
  void DestroyVideoSendStream(VideoSendStream* send_stream) override
161
0
  {
162
0
    MOZ_RELEASE_ASSERT(mCurrentVideoSendStream == send_stream);
163
0
    mCurrentVideoSendStream = nullptr;
164
0
    delete static_cast<MockVideoSendStream*>(send_stream);
165
0
  }
166
167
  VideoReceiveStream* CreateVideoReceiveStream(VideoReceiveStream::Config configuration) override
168
0
  {
169
0
    mVideoReceiveConfig = configuration.Copy();
170
0
    return new MockVideoReceiveStream;
171
0
  }
172
173
  void DestroyVideoReceiveStream(VideoReceiveStream* receive_stream) override
174
0
  {
175
0
    delete static_cast<MockVideoReceiveStream*>(receive_stream);
176
0
  }
177
178
  FlexfecReceiveStream* CreateFlexfecReceiveStream(const FlexfecReceiveStream::Config& config) override
179
0
  {
180
0
    return nullptr;
181
0
  }
182
183
  void DestroyFlexfecReceiveStream(FlexfecReceiveStream* receive_stream) override
184
0
  {
185
0
  }
186
187
  PacketReceiver* Receiver() override
188
0
  {
189
0
    return nullptr;
190
0
  }
191
192
  Stats GetStats() const override
193
0
  {
194
0
    return mStats;
195
0
  }
196
197
0
  void SetBitrateConfig(const Config::BitrateConfig& bitrate_config) override {}
198
199
  void SignalChannelNetworkState(MediaType media,
200
0
                                 NetworkState state) override {}
201
202
  void OnTransportOverheadChanged(MediaType media,
203
0
                                  int transport_overhead_per_packet) override {}
204
205
  void OnNetworkRouteChanged(const std::string& transport_name,
206
0
                             const rtc::NetworkRoute& network_route) override {}
207
208
0
  void OnSentPacket(const rtc::SentPacket& sent_packet) override {}
209
210
  VoiceEngine* voice_engine() override
211
0
  {
212
0
    return nullptr;
213
0
  }
214
215
  std::vector<webrtc::VideoStream> CreateEncoderStreams(int width, int height)
216
0
  {
217
0
    const VideoEncoderConfig& config = mCurrentVideoSendStream->mEncoderConfig;
218
0
    return config.video_stream_factory->CreateEncoderStreams(width, height, config);
219
0
  }
220
221
0
  virtual ~MockCall() {};
222
223
  AudioReceiveStream::Config mAudioReceiveConfig;
224
  AudioSendStream::Config mAudioSendConfig;
225
  VideoReceiveStream::Config mVideoReceiveConfig;
226
  VideoSendStream::Config mVideoSendConfig;
227
  Call::Stats mStats;
228
  MockVideoSendStream* mCurrentVideoSendStream;
229
};
230
231
}
232
#endif