Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(281)

Side by Side Diff: content/renderer/media/webrtc/mock_peer_connection_dependency_factory.h

Issue 670683003: Standardize usage of virtual/override/final in content/renderer/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CONTENT_RENDERER_MEDIA_WEBRTC_MOCK_PEER_CONNECTION_DEPENDENCY_FACTORY_H_ 5 #ifndef CONTENT_RENDERER_MEDIA_WEBRTC_MOCK_PEER_CONNECTION_DEPENDENCY_FACTORY_H_
6 #define CONTENT_RENDERER_MEDIA_WEBRTC_MOCK_PEER_CONNECTION_DEPENDENCY_FACTORY_H_ 6 #define CONTENT_RENDERER_MEDIA_WEBRTC_MOCK_PEER_CONNECTION_DEPENDENCY_FACTORY_H_
7 7
8 #include <set> 8 #include <set>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
11 11
12 #include "base/compiler_specific.h" 12 #include "base/compiler_specific.h"
13 #include "content/renderer/media/webrtc/peer_connection_dependency_factory.h" 13 #include "content/renderer/media/webrtc/peer_connection_dependency_factory.h"
14 #include "third_party/libjingle/source/talk/app/webrtc/mediaconstraintsinterface .h" 14 #include "third_party/libjingle/source/talk/app/webrtc/mediaconstraintsinterface .h"
15 #include "third_party/libjingle/source/talk/media/base/videorenderer.h" 15 #include "third_party/libjingle/source/talk/media/base/videorenderer.h"
16 16
17 namespace content { 17 namespace content {
18 18
19 class WebAudioCapturerSource; 19 class WebAudioCapturerSource;
20 20
21 class MockVideoRenderer : public cricket::VideoRenderer { 21 class MockVideoRenderer : public cricket::VideoRenderer {
22 public: 22 public:
23 MockVideoRenderer(); 23 MockVideoRenderer();
24 virtual ~MockVideoRenderer(); 24 ~MockVideoRenderer() override;
25 virtual bool SetSize(int width, int height, int reserved) override; 25 bool SetSize(int width, int height, int reserved) override;
26 virtual bool RenderFrame(const cricket::VideoFrame* frame) override; 26 bool RenderFrame(const cricket::VideoFrame* frame) override;
27 27
28 int width() const { return width_; } 28 int width() const { return width_; }
29 int height() const { return height_; } 29 int height() const { return height_; }
30 int num() const { return num_; } 30 int num() const { return num_; }
31 31
32 private: 32 private:
33 int width_; 33 int width_;
34 int height_; 34 int height_;
35 int num_; 35 int num_;
36 }; 36 };
37 37
38 class MockVideoSource : public webrtc::VideoSourceInterface { 38 class MockVideoSource : public webrtc::VideoSourceInterface {
39 public: 39 public:
40 MockVideoSource(); 40 MockVideoSource();
41 41
42 virtual void RegisterObserver(webrtc::ObserverInterface* observer) override; 42 void RegisterObserver(webrtc::ObserverInterface* observer) override;
43 virtual void UnregisterObserver(webrtc::ObserverInterface* observer) override; 43 void UnregisterObserver(webrtc::ObserverInterface* observer) override;
44 virtual MediaSourceInterface::SourceState state() const override; 44 MediaSourceInterface::SourceState state() const override;
45 virtual cricket::VideoCapturer* GetVideoCapturer() override; 45 cricket::VideoCapturer* GetVideoCapturer() override;
46 virtual void AddSink(cricket::VideoRenderer* output) override; 46 void AddSink(cricket::VideoRenderer* output) override;
47 virtual void RemoveSink(cricket::VideoRenderer* output) override; 47 void RemoveSink(cricket::VideoRenderer* output) override;
48 virtual cricket::VideoRenderer* FrameInput() override; 48 cricket::VideoRenderer* FrameInput() override;
49 virtual const cricket::VideoOptions* options() const override; 49 const cricket::VideoOptions* options() const override;
50 50
51 // Changes the state of the source to live and notifies the observer. 51 // Changes the state of the source to live and notifies the observer.
52 void SetLive(); 52 void SetLive();
53 // Changes the state of the source to ended and notifies the observer. 53 // Changes the state of the source to ended and notifies the observer.
54 void SetEnded(); 54 void SetEnded();
55 // Set the video capturer. 55 // Set the video capturer.
56 void SetVideoCapturer(cricket::VideoCapturer* capturer); 56 void SetVideoCapturer(cricket::VideoCapturer* capturer);
57 57
58 // Test helpers. 58 // Test helpers.
59 int GetLastFrameWidth() const; 59 int GetLastFrameWidth() const;
60 int GetLastFrameHeight() const; 60 int GetLastFrameHeight() const;
61 int GetFrameNum() const; 61 int GetFrameNum() const;
62 62
63 protected: 63 protected:
64 virtual ~MockVideoSource(); 64 ~MockVideoSource() override;
65 65
66 private: 66 private:
67 void FireOnChanged(); 67 void FireOnChanged();
68 68
69 std::vector<webrtc::ObserverInterface*> observers_; 69 std::vector<webrtc::ObserverInterface*> observers_;
70 MediaSourceInterface::SourceState state_; 70 MediaSourceInterface::SourceState state_;
71 scoped_ptr<cricket::VideoCapturer> capturer_; 71 scoped_ptr<cricket::VideoCapturer> capturer_;
72 MockVideoRenderer renderer_; 72 MockVideoRenderer renderer_;
73 }; 73 };
74 74
75 class MockAudioSource : public webrtc::AudioSourceInterface { 75 class MockAudioSource : public webrtc::AudioSourceInterface {
76 public: 76 public:
77 explicit MockAudioSource( 77 explicit MockAudioSource(
78 const webrtc::MediaConstraintsInterface* constraints); 78 const webrtc::MediaConstraintsInterface* constraints);
79 79
80 virtual void RegisterObserver(webrtc::ObserverInterface* observer) override; 80 void RegisterObserver(webrtc::ObserverInterface* observer) override;
81 virtual void UnregisterObserver(webrtc::ObserverInterface* observer) override; 81 void UnregisterObserver(webrtc::ObserverInterface* observer) override;
82 virtual MediaSourceInterface::SourceState state() const override; 82 MediaSourceInterface::SourceState state() const override;
83 83
84 // Changes the state of the source to live and notifies the observer. 84 // Changes the state of the source to live and notifies the observer.
85 void SetLive(); 85 void SetLive();
86 // Changes the state of the source to ended and notifies the observer. 86 // Changes the state of the source to ended and notifies the observer.
87 void SetEnded(); 87 void SetEnded();
88 88
89 const webrtc::MediaConstraintsInterface::Constraints& optional_constraints() { 89 const webrtc::MediaConstraintsInterface::Constraints& optional_constraints() {
90 return optional_constraints_; 90 return optional_constraints_;
91 } 91 }
92 92
93 const webrtc::MediaConstraintsInterface::Constraints& 93 const webrtc::MediaConstraintsInterface::Constraints&
94 mandatory_constraints() { 94 mandatory_constraints() {
95 return mandatory_constraints_; 95 return mandatory_constraints_;
96 } 96 }
97 97
98 protected: 98 protected:
99 virtual ~MockAudioSource(); 99 ~MockAudioSource() override;
100 100
101 private: 101 private:
102 webrtc::ObserverInterface* observer_; 102 webrtc::ObserverInterface* observer_;
103 MediaSourceInterface::SourceState state_; 103 MediaSourceInterface::SourceState state_;
104 webrtc::MediaConstraintsInterface::Constraints optional_constraints_; 104 webrtc::MediaConstraintsInterface::Constraints optional_constraints_;
105 webrtc::MediaConstraintsInterface::Constraints mandatory_constraints_; 105 webrtc::MediaConstraintsInterface::Constraints mandatory_constraints_;
106 }; 106 };
107 107
108 class MockWebRtcVideoTrack : public webrtc::VideoTrackInterface { 108 class MockWebRtcVideoTrack : public webrtc::VideoTrackInterface {
109 public: 109 public:
110 MockWebRtcVideoTrack(const std::string& id, 110 MockWebRtcVideoTrack(const std::string& id,
111 webrtc::VideoSourceInterface* source); 111 webrtc::VideoSourceInterface* source);
112 virtual void AddRenderer(webrtc::VideoRendererInterface* renderer) override; 112 void AddRenderer(webrtc::VideoRendererInterface* renderer) override;
113 virtual void RemoveRenderer( 113 void RemoveRenderer(webrtc::VideoRendererInterface* renderer) override;
114 webrtc::VideoRendererInterface* renderer) override; 114 std::string kind() const override;
115 virtual std::string kind() const override; 115 std::string id() const override;
116 virtual std::string id() const override; 116 bool enabled() const override;
117 virtual bool enabled() const override; 117 TrackState state() const override;
118 virtual TrackState state() const override; 118 bool set_enabled(bool enable) override;
119 virtual bool set_enabled(bool enable) override; 119 bool set_state(TrackState new_state) override;
120 virtual bool set_state(TrackState new_state) override; 120 void RegisterObserver(webrtc::ObserverInterface* observer) override;
121 virtual void RegisterObserver(webrtc::ObserverInterface* observer) override; 121 void UnregisterObserver(webrtc::ObserverInterface* observer) override;
122 virtual void UnregisterObserver(webrtc::ObserverInterface* observer) override; 122 webrtc::VideoSourceInterface* GetSource() const override;
123 virtual webrtc::VideoSourceInterface* GetSource() const override;
124 123
125 protected: 124 protected:
126 virtual ~MockWebRtcVideoTrack(); 125 ~MockWebRtcVideoTrack() override;
127 126
128 private: 127 private:
129 bool enabled_; 128 bool enabled_;
130 std::string id_; 129 std::string id_;
131 TrackState state_; 130 TrackState state_;
132 scoped_refptr<webrtc::VideoSourceInterface> source_; 131 scoped_refptr<webrtc::VideoSourceInterface> source_;
133 webrtc::ObserverInterface* observer_; 132 webrtc::ObserverInterface* observer_;
134 webrtc::VideoRendererInterface* renderer_; 133 webrtc::VideoRendererInterface* renderer_;
135 }; 134 };
136 135
137 class MockMediaStream : public webrtc::MediaStreamInterface { 136 class MockMediaStream : public webrtc::MediaStreamInterface {
138 public: 137 public:
139 explicit MockMediaStream(const std::string& label); 138 explicit MockMediaStream(const std::string& label);
140 139
141 virtual bool AddTrack(webrtc::AudioTrackInterface* track) override; 140 bool AddTrack(webrtc::AudioTrackInterface* track) override;
142 virtual bool AddTrack(webrtc::VideoTrackInterface* track) override; 141 bool AddTrack(webrtc::VideoTrackInterface* track) override;
143 virtual bool RemoveTrack(webrtc::AudioTrackInterface* track) override; 142 bool RemoveTrack(webrtc::AudioTrackInterface* track) override;
144 virtual bool RemoveTrack(webrtc::VideoTrackInterface* track) override; 143 bool RemoveTrack(webrtc::VideoTrackInterface* track) override;
145 virtual std::string label() const override; 144 std::string label() const override;
146 virtual webrtc::AudioTrackVector GetAudioTracks() override; 145 webrtc::AudioTrackVector GetAudioTracks() override;
147 virtual webrtc::VideoTrackVector GetVideoTracks() override; 146 webrtc::VideoTrackVector GetVideoTracks() override;
148 virtual rtc::scoped_refptr<webrtc::AudioTrackInterface> 147 rtc::scoped_refptr<webrtc::AudioTrackInterface> FindAudioTrack(
149 FindAudioTrack(const std::string& track_id) override; 148 const std::string& track_id) override;
150 virtual rtc::scoped_refptr<webrtc::VideoTrackInterface> 149 rtc::scoped_refptr<webrtc::VideoTrackInterface> FindVideoTrack(
151 FindVideoTrack(const std::string& track_id) override; 150 const std::string& track_id) override;
152 virtual void RegisterObserver(webrtc::ObserverInterface* observer) override; 151 void RegisterObserver(webrtc::ObserverInterface* observer) override;
153 virtual void UnregisterObserver(webrtc::ObserverInterface* observer) override; 152 void UnregisterObserver(webrtc::ObserverInterface* observer) override;
154 153
155 protected: 154 protected:
156 virtual ~MockMediaStream(); 155 ~MockMediaStream() override;
157 156
158 private: 157 private:
159 void NotifyObservers(); 158 void NotifyObservers();
160 159
161 std::string label_; 160 std::string label_;
162 webrtc::AudioTrackVector audio_track_vector_; 161 webrtc::AudioTrackVector audio_track_vector_;
163 webrtc::VideoTrackVector video_track_vector_; 162 webrtc::VideoTrackVector video_track_vector_;
164 163
165 typedef std::set<webrtc::ObserverInterface*> ObserverSet; 164 typedef std::set<webrtc::ObserverInterface*> ObserverSet;
166 ObserverSet observers_; 165 ObserverSet observers_;
167 }; 166 };
168 167
169 // A mock factory for creating different objects for 168 // A mock factory for creating different objects for
170 // RTC PeerConnections. 169 // RTC PeerConnections.
171 class MockPeerConnectionDependencyFactory 170 class MockPeerConnectionDependencyFactory
172 : public PeerConnectionDependencyFactory { 171 : public PeerConnectionDependencyFactory {
173 public: 172 public:
174 MockPeerConnectionDependencyFactory(); 173 MockPeerConnectionDependencyFactory();
175 virtual ~MockPeerConnectionDependencyFactory(); 174 ~MockPeerConnectionDependencyFactory() override;
176 175
177 virtual scoped_refptr<webrtc::PeerConnectionInterface> CreatePeerConnection( 176 scoped_refptr<webrtc::PeerConnectionInterface> CreatePeerConnection(
178 const webrtc::PeerConnectionInterface::RTCConfiguration& config, 177 const webrtc::PeerConnectionInterface::RTCConfiguration& config,
179 const webrtc::MediaConstraintsInterface* constraints, 178 const webrtc::MediaConstraintsInterface* constraints,
180 blink::WebFrame* frame, 179 blink::WebFrame* frame,
181 webrtc::PeerConnectionObserver* observer) override; 180 webrtc::PeerConnectionObserver* observer) override;
182 virtual scoped_refptr<webrtc::AudioSourceInterface> 181 scoped_refptr<webrtc::AudioSourceInterface> CreateLocalAudioSource(
183 CreateLocalAudioSource( 182 const webrtc::MediaConstraintsInterface* constraints) override;
184 const webrtc::MediaConstraintsInterface* constraints) override; 183 WebRtcVideoCapturerAdapter* CreateVideoCapturer(
185 virtual WebRtcVideoCapturerAdapter* CreateVideoCapturer(
186 bool is_screen_capture) override; 184 bool is_screen_capture) override;
187 virtual scoped_refptr<webrtc::VideoSourceInterface> 185 scoped_refptr<webrtc::VideoSourceInterface> CreateVideoSource(
188 CreateVideoSource( 186 cricket::VideoCapturer* capturer,
189 cricket::VideoCapturer* capturer, 187 const blink::WebMediaConstraints& constraints) override;
190 const blink::WebMediaConstraints& constraints) override; 188 scoped_refptr<WebAudioCapturerSource> CreateWebAudioSource(
191 virtual scoped_refptr<WebAudioCapturerSource> CreateWebAudioSource(
192 blink::WebMediaStreamSource* source) override; 189 blink::WebMediaStreamSource* source) override;
193 virtual scoped_refptr<webrtc::MediaStreamInterface> 190 scoped_refptr<webrtc::MediaStreamInterface> CreateLocalMediaStream(
194 CreateLocalMediaStream(const std::string& label) override; 191 const std::string& label) override;
195 virtual scoped_refptr<webrtc::VideoTrackInterface> 192 scoped_refptr<webrtc::VideoTrackInterface> CreateLocalVideoTrack(
196 CreateLocalVideoTrack(const std::string& id, 193 const std::string& id,
197 webrtc::VideoSourceInterface* source) override; 194 webrtc::VideoSourceInterface* source) override;
198 virtual scoped_refptr<webrtc::VideoTrackInterface> 195 scoped_refptr<webrtc::VideoTrackInterface> CreateLocalVideoTrack(
199 CreateLocalVideoTrack(const std::string& id, 196 const std::string& id,
200 cricket::VideoCapturer* capturer) override; 197 cricket::VideoCapturer* capturer) override;
201 virtual webrtc::SessionDescriptionInterface* CreateSessionDescription( 198 webrtc::SessionDescriptionInterface* CreateSessionDescription(
202 const std::string& type, 199 const std::string& type,
203 const std::string& sdp, 200 const std::string& sdp,
204 webrtc::SdpParseError* error) override; 201 webrtc::SdpParseError* error) override;
205 virtual webrtc::IceCandidateInterface* CreateIceCandidate( 202 webrtc::IceCandidateInterface* CreateIceCandidate(
206 const std::string& sdp_mid, 203 const std::string& sdp_mid,
207 int sdp_mline_index, 204 int sdp_mline_index,
208 const std::string& sdp) override; 205 const std::string& sdp) override;
209 206
210 virtual scoped_refptr<WebRtcAudioCapturer> CreateAudioCapturer( 207 scoped_refptr<WebRtcAudioCapturer> CreateAudioCapturer(
211 int render_view_id, const StreamDeviceInfo& device_info, 208 int render_view_id,
209 const StreamDeviceInfo& device_info,
212 const blink::WebMediaConstraints& constraints, 210 const blink::WebMediaConstraints& constraints,
213 MediaStreamAudioSource* audio_source) override; 211 MediaStreamAudioSource* audio_source) override;
214 void FailToCreateNextAudioCapturer() { 212 void FailToCreateNextAudioCapturer() {
215 fail_to_create_next_audio_capturer_ = true; 213 fail_to_create_next_audio_capturer_ = true;
216 } 214 }
217 215
218 virtual void StartLocalAudioTrack( 216 void StartLocalAudioTrack(WebRtcLocalAudioTrack* audio_track) override;
219 WebRtcLocalAudioTrack* audio_track) override;
220 217
221 MockAudioSource* last_audio_source() { return last_audio_source_.get(); } 218 MockAudioSource* last_audio_source() { return last_audio_source_.get(); }
222 MockVideoSource* last_video_source() { return last_video_source_.get(); } 219 MockVideoSource* last_video_source() { return last_video_source_.get(); }
223 220
224 private: 221 private:
225 bool fail_to_create_next_audio_capturer_; 222 bool fail_to_create_next_audio_capturer_;
226 scoped_refptr <MockAudioSource> last_audio_source_; 223 scoped_refptr <MockAudioSource> last_audio_source_;
227 scoped_refptr <MockVideoSource> last_video_source_; 224 scoped_refptr <MockVideoSource> last_video_source_;
228 225
229 DISALLOW_COPY_AND_ASSIGN(MockPeerConnectionDependencyFactory); 226 DISALLOW_COPY_AND_ASSIGN(MockPeerConnectionDependencyFactory);
230 }; 227 };
231 228
232 } // namespace content 229 } // namespace content
233 230
234 #endif // CONTENT_RENDERER_MEDIA_WEBRTC_MOCK_PEER_CONNECTION_DEPENDENCY_FACTORY _H_ 231 #endif // CONTENT_RENDERER_MEDIA_WEBRTC_MOCK_PEER_CONNECTION_DEPENDENCY_FACTORY _H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698