OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 #include "content/renderer/media/mock_media_stream_dependency_factory.h" | 5 #include "content/renderer/media/mock_media_stream_dependency_factory.h" |
6 | 6 |
7 #include "base/logging.h" | 7 #include "base/logging.h" |
8 #include "content/renderer/media/mock_peer_connection_impl.h" | 8 #include "content/renderer/media/mock_peer_connection_impl.h" |
9 #include "third_party/libjingle/source/talk/app/webrtc/mediastreaminterface.h" | 9 #include "third_party/libjingle/source/talk/app/webrtc/mediastreaminterface.h" |
10 #include "third_party/libjingle/source/talk/base/scoped_ref_ptr.h" | 10 #include "third_party/libjingle/source/talk/base/scoped_ref_ptr.h" |
(...skipping 21 matching lines...) Expand all Loading... |
32 if ((*it)->id() == track_id) { | 32 if ((*it)->id() == track_id) { |
33 break; | 33 break; |
34 } | 34 } |
35 } | 35 } |
36 return it; | 36 return it; |
37 }; | 37 }; |
38 | 38 |
39 class MockMediaStream : public webrtc::MediaStreamInterface { | 39 class MockMediaStream : public webrtc::MediaStreamInterface { |
40 public: | 40 public: |
41 explicit MockMediaStream(const std::string& label) | 41 explicit MockMediaStream(const std::string& label) |
42 : label_(label) { | 42 : label_(label), |
| 43 observer_(NULL) { |
43 } | 44 } |
44 virtual bool AddTrack(AudioTrackInterface* track) OVERRIDE { | 45 virtual bool AddTrack(AudioTrackInterface* track) OVERRIDE { |
45 audio_track_vector_.push_back(track); | 46 audio_track_vector_.push_back(track); |
| 47 if (observer_) |
| 48 observer_->OnChanged(); |
46 return true; | 49 return true; |
47 } | 50 } |
48 virtual bool AddTrack(VideoTrackInterface* track) OVERRIDE { | 51 virtual bool AddTrack(VideoTrackInterface* track) OVERRIDE { |
49 video_track_vector_.push_back(track); | 52 video_track_vector_.push_back(track); |
| 53 if (observer_) |
| 54 observer_->OnChanged(); |
50 return true; | 55 return true; |
51 } | 56 } |
52 virtual bool RemoveTrack(AudioTrackInterface* track) OVERRIDE { | 57 virtual bool RemoveTrack(AudioTrackInterface* track) OVERRIDE { |
53 AudioTrackVector::iterator it = FindTrack(&audio_track_vector_, | 58 AudioTrackVector::iterator it = FindTrack(&audio_track_vector_, |
54 track->id()); | 59 track->id()); |
55 if (it == audio_track_vector_.end()) | 60 if (it == audio_track_vector_.end()) |
56 return false; | 61 return false; |
57 audio_track_vector_.erase(it); | 62 audio_track_vector_.erase(it); |
| 63 if (observer_) |
| 64 observer_->OnChanged(); |
58 return true; | 65 return true; |
59 } | 66 } |
60 virtual bool RemoveTrack(VideoTrackInterface* track) OVERRIDE { | 67 virtual bool RemoveTrack(VideoTrackInterface* track) OVERRIDE { |
61 VideoTrackVector::iterator it = FindTrack(&video_track_vector_, | 68 VideoTrackVector::iterator it = FindTrack(&video_track_vector_, |
62 track->id()); | 69 track->id()); |
63 if (it == video_track_vector_.end()) | 70 if (it == video_track_vector_.end()) |
64 return false; | 71 return false; |
65 video_track_vector_.erase(it); | 72 video_track_vector_.erase(it); |
| 73 if (observer_) |
| 74 observer_->OnChanged(); |
66 return true; | 75 return true; |
67 } | 76 } |
68 virtual std::string label() const OVERRIDE { return label_; } | 77 virtual std::string label() const OVERRIDE { return label_; } |
69 virtual AudioTrackVector GetAudioTracks() OVERRIDE { | 78 virtual AudioTrackVector GetAudioTracks() OVERRIDE { |
70 return audio_track_vector_; | 79 return audio_track_vector_; |
71 } | 80 } |
72 virtual VideoTrackVector GetVideoTracks() OVERRIDE { | 81 virtual VideoTrackVector GetVideoTracks() OVERRIDE { |
73 return video_track_vector_; | 82 return video_track_vector_; |
74 } | 83 } |
75 virtual talk_base::scoped_refptr<AudioTrackInterface> | 84 virtual talk_base::scoped_refptr<AudioTrackInterface> |
76 FindAudioTrack(const std::string& track_id) OVERRIDE { | 85 FindAudioTrack(const std::string& track_id) OVERRIDE { |
77 AudioTrackVector::iterator it = FindTrack(&audio_track_vector_, track_id); | 86 AudioTrackVector::iterator it = FindTrack(&audio_track_vector_, track_id); |
78 return it == audio_track_vector_.end() ? NULL : *it; | 87 return it == audio_track_vector_.end() ? NULL : *it; |
79 } | 88 } |
80 virtual talk_base::scoped_refptr<VideoTrackInterface> | 89 virtual talk_base::scoped_refptr<VideoTrackInterface> |
81 FindVideoTrack(const std::string& track_id) OVERRIDE { | 90 FindVideoTrack(const std::string& track_id) OVERRIDE { |
82 VideoTrackVector::iterator it = FindTrack(&video_track_vector_, track_id); | 91 VideoTrackVector::iterator it = FindTrack(&video_track_vector_, track_id); |
83 return it == video_track_vector_.end() ? NULL : *it; | 92 return it == video_track_vector_.end() ? NULL : *it; |
84 } | 93 } |
85 virtual void RegisterObserver(ObserverInterface* observer) OVERRIDE { | 94 virtual void RegisterObserver(ObserverInterface* observer) OVERRIDE { |
86 NOTIMPLEMENTED(); | 95 DCHECK(!observer_); |
| 96 observer_ = observer; |
87 } | 97 } |
88 virtual void UnregisterObserver(ObserverInterface* observer) OVERRIDE { | 98 virtual void UnregisterObserver(ObserverInterface* observer) OVERRIDE { |
89 NOTIMPLEMENTED(); | 99 DCHECK(observer_ == observer); |
| 100 observer_ = NULL; |
90 } | 101 } |
91 | 102 |
92 protected: | 103 protected: |
93 virtual ~MockMediaStream() {} | 104 virtual ~MockMediaStream() {} |
94 | 105 |
95 private: | 106 private: |
96 std::string label_; | 107 std::string label_; |
97 AudioTrackVector audio_track_vector_; | 108 AudioTrackVector audio_track_vector_; |
98 VideoTrackVector video_track_vector_; | 109 VideoTrackVector video_track_vector_; |
| 110 webrtc::ObserverInterface* observer_; |
99 }; | 111 }; |
100 | 112 |
101 MockAudioSource::MockAudioSource( | 113 MockAudioSource::MockAudioSource( |
102 const webrtc::MediaConstraintsInterface* constraints) | 114 const webrtc::MediaConstraintsInterface* constraints) |
103 : observer_(NULL), | 115 : observer_(NULL), |
104 state_(MediaSourceInterface::kInitializing), | 116 state_(MediaSourceInterface::kInitializing), |
105 optional_constraints_(constraints->GetOptional()), | 117 optional_constraints_(constraints->GetOptional()), |
106 mandatory_constraints_(constraints->GetMandatory()) { | 118 mandatory_constraints_(constraints->GetMandatory()) { |
107 } | 119 } |
108 | 120 |
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
184 | 196 |
185 const cricket::VideoOptions* MockVideoSource::options() const { | 197 const cricket::VideoOptions* MockVideoSource::options() const { |
186 NOTIMPLEMENTED(); | 198 NOTIMPLEMENTED(); |
187 return NULL; | 199 return NULL; |
188 } | 200 } |
189 | 201 |
190 MockLocalVideoTrack::MockLocalVideoTrack(std::string id, | 202 MockLocalVideoTrack::MockLocalVideoTrack(std::string id, |
191 webrtc::VideoSourceInterface* source) | 203 webrtc::VideoSourceInterface* source) |
192 : enabled_(false), | 204 : enabled_(false), |
193 id_(id), | 205 id_(id), |
194 source_(source) { | 206 state_(MediaStreamTrackInterface::kLive), |
| 207 source_(source), |
| 208 observer_(NULL) { |
195 } | 209 } |
196 | 210 |
197 MockLocalVideoTrack::~MockLocalVideoTrack() {} | 211 MockLocalVideoTrack::~MockLocalVideoTrack() {} |
198 | 212 |
199 void MockLocalVideoTrack::AddRenderer(VideoRendererInterface* renderer) { | 213 void MockLocalVideoTrack::AddRenderer(VideoRendererInterface* renderer) { |
200 NOTIMPLEMENTED(); | 214 NOTIMPLEMENTED(); |
201 } | 215 } |
202 | 216 |
203 void MockLocalVideoTrack::RemoveRenderer(VideoRendererInterface* renderer) { | 217 void MockLocalVideoTrack::RemoveRenderer(VideoRendererInterface* renderer) { |
204 NOTIMPLEMENTED(); | 218 NOTIMPLEMENTED(); |
205 } | 219 } |
206 | 220 |
207 cricket::VideoRenderer* MockLocalVideoTrack::FrameInput() { | 221 cricket::VideoRenderer* MockLocalVideoTrack::FrameInput() { |
208 NOTIMPLEMENTED(); | 222 NOTIMPLEMENTED(); |
209 return NULL; | 223 return NULL; |
210 } | 224 } |
211 | 225 |
212 std::string MockLocalVideoTrack::kind() const { | 226 std::string MockLocalVideoTrack::kind() const { |
213 NOTIMPLEMENTED(); | 227 NOTIMPLEMENTED(); |
214 return std::string(); | 228 return std::string(); |
215 } | 229 } |
216 | 230 |
217 std::string MockLocalVideoTrack::id() const { return id_; } | 231 std::string MockLocalVideoTrack::id() const { return id_; } |
218 | 232 |
219 bool MockLocalVideoTrack::enabled() const { return enabled_; } | 233 bool MockLocalVideoTrack::enabled() const { return enabled_; } |
220 | 234 |
221 MockLocalVideoTrack::TrackState MockLocalVideoTrack::state() const { | 235 MockLocalVideoTrack::TrackState MockLocalVideoTrack::state() const { |
222 NOTIMPLEMENTED(); | 236 return state_; |
223 return kInitializing; | |
224 } | 237 } |
225 | 238 |
226 bool MockLocalVideoTrack::set_enabled(bool enable) { | 239 bool MockLocalVideoTrack::set_enabled(bool enable) { |
227 enabled_ = enable; | 240 enabled_ = enable; |
228 return true; | 241 return true; |
229 } | 242 } |
230 | 243 |
231 bool MockLocalVideoTrack::set_state(TrackState new_state) { | 244 bool MockLocalVideoTrack::set_state(TrackState new_state) { |
232 NOTIMPLEMENTED(); | 245 state_ = new_state; |
233 return false; | 246 if (observer_) |
| 247 observer_->OnChanged(); |
| 248 return true; |
234 } | 249 } |
235 | 250 |
236 void MockLocalVideoTrack::RegisterObserver(ObserverInterface* observer) { | 251 void MockLocalVideoTrack::RegisterObserver(ObserverInterface* observer) { |
237 NOTIMPLEMENTED(); | 252 observer_ = observer; |
238 } | 253 } |
239 | 254 |
240 void MockLocalVideoTrack::UnregisterObserver(ObserverInterface* observer) { | 255 void MockLocalVideoTrack::UnregisterObserver(ObserverInterface* observer) { |
241 NOTIMPLEMENTED(); | 256 DCHECK(observer_ == observer); |
| 257 observer_ = NULL; |
242 } | 258 } |
243 | 259 |
244 VideoSourceInterface* MockLocalVideoTrack::GetSource() const { | 260 VideoSourceInterface* MockLocalVideoTrack::GetSource() const { |
245 return source_; | 261 return source_; |
246 } | 262 } |
247 | 263 |
248 std::string MockLocalAudioTrack::kind() const { | 264 std::string MockLocalAudioTrack::kind() const { |
249 NOTIMPLEMENTED(); | 265 NOTIMPLEMENTED(); |
250 return std::string(); | 266 return std::string(); |
251 } | 267 } |
252 | 268 |
253 std::string MockLocalAudioTrack::id() const { return id_; } | 269 std::string MockLocalAudioTrack::id() const { return id_; } |
254 | 270 |
255 bool MockLocalAudioTrack::enabled() const { return enabled_; } | 271 bool MockLocalAudioTrack::enabled() const { return enabled_; } |
256 | 272 |
257 MockLocalVideoTrack::TrackState MockLocalAudioTrack::state() const { | 273 MockLocalAudioTrack::TrackState MockLocalAudioTrack::state() const { |
258 NOTIMPLEMENTED(); | 274 return state_; |
259 return kInitializing; | |
260 } | 275 } |
261 | 276 |
262 bool MockLocalAudioTrack::set_enabled(bool enable) { | 277 bool MockLocalAudioTrack::set_enabled(bool enable) { |
263 enabled_ = enable; | 278 enabled_ = enable; |
264 return true; | 279 return true; |
265 } | 280 } |
266 | 281 |
267 bool MockLocalAudioTrack::set_state(TrackState new_state) { | 282 bool MockLocalAudioTrack::set_state(TrackState new_state) { |
268 NOTIMPLEMENTED(); | 283 state_ = new_state; |
269 return false; | 284 if (observer_) |
| 285 observer_->OnChanged(); |
| 286 return true; |
270 } | 287 } |
271 | 288 |
272 void MockLocalAudioTrack::RegisterObserver(ObserverInterface* observer) { | 289 void MockLocalAudioTrack::RegisterObserver(ObserverInterface* observer) { |
273 NOTIMPLEMENTED(); | 290 observer_ = observer; |
274 } | 291 } |
275 | 292 |
276 void MockLocalAudioTrack::UnregisterObserver(ObserverInterface* observer) { | 293 void MockLocalAudioTrack::UnregisterObserver(ObserverInterface* observer) { |
277 NOTIMPLEMENTED(); | 294 DCHECK(observer_ == observer); |
| 295 observer_ = NULL; |
278 } | 296 } |
279 | 297 |
280 AudioSourceInterface* MockLocalAudioTrack::GetSource() const { | 298 AudioSourceInterface* MockLocalAudioTrack::GetSource() const { |
281 NOTIMPLEMENTED(); | 299 NOTIMPLEMENTED(); |
282 return NULL; | 300 return NULL; |
283 } | 301 } |
284 | 302 |
285 class MockSessionDescription : public SessionDescriptionInterface { | 303 class MockSessionDescription : public SessionDescriptionInterface { |
286 public: | 304 public: |
287 MockSessionDescription(const std::string& type, | 305 MockSessionDescription(const std::string& type, |
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
458 | 476 |
459 webrtc::IceCandidateInterface* | 477 webrtc::IceCandidateInterface* |
460 MockMediaStreamDependencyFactory::CreateIceCandidate( | 478 MockMediaStreamDependencyFactory::CreateIceCandidate( |
461 const std::string& sdp_mid, | 479 const std::string& sdp_mid, |
462 int sdp_mline_index, | 480 int sdp_mline_index, |
463 const std::string& sdp) { | 481 const std::string& sdp) { |
464 return new MockIceCandidate(sdp_mid, sdp_mline_index, sdp); | 482 return new MockIceCandidate(sdp_mid, sdp_mline_index, sdp); |
465 } | 483 } |
466 | 484 |
467 } // namespace content | 485 } // namespace content |
OLD | NEW |