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

Side by Side Diff: content/renderer/media/mock_peer_connection_impl.cc

Issue 2759953003: Interface RTCRtpReceiver and RTCPeerConnection.getReceivers() added. (Closed)
Patch Set: DISALLOW_COPY_AND_ASSIGN Created 3 years, 8 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 (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
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
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
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
OLDNEW
« no previous file with comments | « content/renderer/media/mock_peer_connection_impl.h ('k') | content/renderer/media/rtc_peer_connection_handler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698