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_peer_connection_impl.h" | 5 #include "content/renderer/media/mock_peer_connection_impl.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
11 #include "base/logging.h" | 11 #include "base/logging.h" |
12 #include "content/renderer/media/mock_data_channel_impl.h" | 12 #include "content/renderer/media/mock_data_channel_impl.h" |
13 #include "content/renderer/media/webrtc/mock_peer_connection_dependency_factory.
h" | 13 #include "content/renderer/media/webrtc/mock_peer_connection_dependency_factory.
h" |
| 14 #include "third_party/webrtc/api/rtpreceiverinterface.h" |
| 15 #include "third_party/webrtc/base/refcountedobject.h" |
14 | 16 |
15 using testing::_; | 17 using testing::_; |
16 using webrtc::AudioTrackInterface; | 18 using webrtc::AudioTrackInterface; |
17 using webrtc::CreateSessionDescriptionObserver; | 19 using webrtc::CreateSessionDescriptionObserver; |
18 using webrtc::DtmfSenderInterface; | 20 using webrtc::DtmfSenderInterface; |
19 using webrtc::DtmfSenderObserverInterface; | 21 using webrtc::DtmfSenderObserverInterface; |
20 using webrtc::IceCandidateInterface; | 22 using webrtc::IceCandidateInterface; |
21 using webrtc::MediaStreamInterface; | 23 using webrtc::MediaStreamInterface; |
22 using webrtc::PeerConnectionInterface; | 24 using webrtc::PeerConnectionInterface; |
23 using webrtc::SessionDescriptionInterface; | 25 using webrtc::SessionDescriptionInterface; |
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
107 ~MockDtmfSender() override {} | 109 ~MockDtmfSender() override {} |
108 | 110 |
109 private: | 111 private: |
110 rtc::scoped_refptr<AudioTrackInterface> track_; | 112 rtc::scoped_refptr<AudioTrackInterface> track_; |
111 DtmfSenderObserverInterface* observer_; | 113 DtmfSenderObserverInterface* observer_; |
112 std::string tones_; | 114 std::string tones_; |
113 int duration_; | 115 int duration_; |
114 int inter_tone_gap_; | 116 int inter_tone_gap_; |
115 }; | 117 }; |
116 | 118 |
| 119 class FakeRtpReceiver |
| 120 : public rtc::RefCountedObject<webrtc::RtpReceiverInterface> { |
| 121 public: |
| 122 FakeRtpReceiver(rtc::scoped_refptr<webrtc::MediaStreamTrackInterface> track) |
| 123 : track_(track) {} |
| 124 |
| 125 rtc::scoped_refptr<webrtc::MediaStreamTrackInterface> track() const override { |
| 126 return track_; |
| 127 } |
| 128 |
| 129 cricket::MediaType media_type() const override { |
| 130 NOTIMPLEMENTED(); |
| 131 return cricket::MEDIA_TYPE_AUDIO; |
| 132 } |
| 133 |
| 134 std::string id() const override { |
| 135 NOTIMPLEMENTED(); |
| 136 return ""; |
| 137 } |
| 138 |
| 139 webrtc::RtpParameters GetParameters() const override { |
| 140 NOTIMPLEMENTED(); |
| 141 return webrtc::RtpParameters(); |
| 142 } |
| 143 |
| 144 bool SetParameters(const webrtc::RtpParameters& parameters) override { |
| 145 NOTIMPLEMENTED(); |
| 146 return false; |
| 147 } |
| 148 |
| 149 void SetObserver(webrtc::RtpReceiverObserverInterface* observer) override { |
| 150 NOTIMPLEMENTED(); |
| 151 } |
| 152 |
| 153 private: |
| 154 rtc::scoped_refptr<webrtc::MediaStreamTrackInterface> track_; |
| 155 }; |
| 156 |
117 const char MockPeerConnectionImpl::kDummyOffer[] = "dummy offer"; | 157 const char MockPeerConnectionImpl::kDummyOffer[] = "dummy offer"; |
118 const char MockPeerConnectionImpl::kDummyAnswer[] = "dummy answer"; | 158 const char MockPeerConnectionImpl::kDummyAnswer[] = "dummy answer"; |
119 | 159 |
120 MockPeerConnectionImpl::MockPeerConnectionImpl( | 160 MockPeerConnectionImpl::MockPeerConnectionImpl( |
121 MockPeerConnectionDependencyFactory* factory, | 161 MockPeerConnectionDependencyFactory* factory, |
122 webrtc::PeerConnectionObserver* observer) | 162 webrtc::PeerConnectionObserver* observer) |
123 : dependency_factory_(factory), | 163 : dependency_factory_(factory), |
124 local_streams_(new rtc::RefCountedObject<MockStreamCollection>), | 164 local_streams_(new rtc::RefCountedObject<MockStreamCollection>), |
125 remote_streams_(new rtc::RefCountedObject<MockStreamCollection>), | 165 remote_streams_(new rtc::RefCountedObject<MockStreamCollection>), |
126 hint_audio_(false), | 166 hint_audio_(false), |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
161 } | 201 } |
162 | 202 |
163 rtc::scoped_refptr<DtmfSenderInterface> | 203 rtc::scoped_refptr<DtmfSenderInterface> |
164 MockPeerConnectionImpl::CreateDtmfSender(AudioTrackInterface* track) { | 204 MockPeerConnectionImpl::CreateDtmfSender(AudioTrackInterface* track) { |
165 if (!track) { | 205 if (!track) { |
166 return NULL; | 206 return NULL; |
167 } | 207 } |
168 return new rtc::RefCountedObject<MockDtmfSender>(track); | 208 return new rtc::RefCountedObject<MockDtmfSender>(track); |
169 } | 209 } |
170 | 210 |
| 211 std::vector<rtc::scoped_refptr<webrtc::RtpReceiverInterface>> |
| 212 MockPeerConnectionImpl::GetReceivers() const { |
| 213 std::vector<rtc::scoped_refptr<webrtc::RtpReceiverInterface>> receivers; |
| 214 for (size_t i = 0; i < remote_streams_->count(); ++i) { |
| 215 for (const auto& audio_track : remote_streams_->at(i)->GetAudioTracks()) { |
| 216 receivers.push_back(new FakeRtpReceiver(audio_track)); |
| 217 } |
| 218 for (const auto& video_track : remote_streams_->at(i)->GetVideoTracks()) { |
| 219 receivers.push_back(new FakeRtpReceiver(video_track)); |
| 220 } |
| 221 } |
| 222 return receivers; |
| 223 } |
| 224 |
171 rtc::scoped_refptr<webrtc::DataChannelInterface> | 225 rtc::scoped_refptr<webrtc::DataChannelInterface> |
172 MockPeerConnectionImpl::CreateDataChannel(const std::string& label, | 226 MockPeerConnectionImpl::CreateDataChannel(const std::string& label, |
173 const webrtc::DataChannelInit* config) { | 227 const webrtc::DataChannelInit* config) { |
174 return new rtc::RefCountedObject<MockDataChannel>(label, config); | 228 return new rtc::RefCountedObject<MockDataChannel>(label, config); |
175 } | 229 } |
176 | 230 |
177 bool MockPeerConnectionImpl::GetStats( | 231 bool MockPeerConnectionImpl::GetStats( |
178 webrtc::StatsObserver* observer, | 232 webrtc::StatsObserver* observer, |
179 webrtc::MediaStreamTrackInterface* track, | 233 webrtc::MediaStreamTrackInterface* track, |
180 StatsOutputLevel level) { | 234 StatsOutputLevel level) { |
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
282 sdp_mline_index_ = candidate->sdp_mline_index(); | 336 sdp_mline_index_ = candidate->sdp_mline_index(); |
283 return candidate->ToString(&ice_sdp_); | 337 return candidate->ToString(&ice_sdp_); |
284 } | 338 } |
285 | 339 |
286 void MockPeerConnectionImpl::RegisterUMAObserver( | 340 void MockPeerConnectionImpl::RegisterUMAObserver( |
287 webrtc::UMAObserver* observer) { | 341 webrtc::UMAObserver* observer) { |
288 NOTIMPLEMENTED(); | 342 NOTIMPLEMENTED(); |
289 } | 343 } |
290 | 344 |
291 } // namespace content | 345 } // namespace content |
OLD | NEW |