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

Side by Side Diff: content/shell/test_runner/mock_webrtc_peer_connection_handler.cc

Issue 2813443003: Revert of RTCRtpReceiver.getContributingSources() added. (Closed)
Patch Set: 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 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 #include "content/shell/test_runner/mock_webrtc_peer_connection_handler.h" 5 #include "content/shell/test_runner/mock_webrtc_peer_connection_handler.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <string> 9 #include <string>
10 #include <utility> 10 #include <utility>
11 #include <vector> 11 #include <vector>
12 12
13 #include "base/bind.h" 13 #include "base/bind.h"
14 #include "base/bind_helpers.h" 14 #include "base/bind_helpers.h"
15 #include "base/memory/ptr_util.h"
16 #include "content/shell/test_runner/mock_webrtc_data_channel_handler.h" 15 #include "content/shell/test_runner/mock_webrtc_data_channel_handler.h"
17 #include "content/shell/test_runner/mock_webrtc_dtmf_sender_handler.h" 16 #include "content/shell/test_runner/mock_webrtc_dtmf_sender_handler.h"
18 #include "content/shell/test_runner/test_interfaces.h" 17 #include "content/shell/test_runner/test_interfaces.h"
19 #include "content/shell/test_runner/web_test_delegate.h" 18 #include "content/shell/test_runner/web_test_delegate.h"
20 #include "third_party/WebKit/public/platform/WebMediaStream.h" 19 #include "third_party/WebKit/public/platform/WebMediaStream.h"
21 #include "third_party/WebKit/public/platform/WebMediaStreamSource.h" 20 #include "third_party/WebKit/public/platform/WebMediaStreamSource.h"
22 #include "third_party/WebKit/public/platform/WebMediaStreamTrack.h" 21 #include "third_party/WebKit/public/platform/WebMediaStreamTrack.h"
23 #include "third_party/WebKit/public/platform/WebRTCAnswerOptions.h" 22 #include "third_party/WebKit/public/platform/WebRTCAnswerOptions.h"
24 #include "third_party/WebKit/public/platform/WebRTCDataChannelInit.h" 23 #include "third_party/WebKit/public/platform/WebRTCDataChannelInit.h"
25 #include "third_party/WebKit/public/platform/WebRTCOfferOptions.h" 24 #include "third_party/WebKit/public/platform/WebRTCOfferOptions.h"
26 #include "third_party/WebKit/public/platform/WebRTCPeerConnectionHandlerClient.h " 25 #include "third_party/WebKit/public/platform/WebRTCPeerConnectionHandlerClient.h "
27 #include "third_party/WebKit/public/platform/WebRTCRtpContributingSource.h"
28 #include "third_party/WebKit/public/platform/WebRTCRtpReceiver.h" 26 #include "third_party/WebKit/public/platform/WebRTCRtpReceiver.h"
29 #include "third_party/WebKit/public/platform/WebRTCStatsResponse.h" 27 #include "third_party/WebKit/public/platform/WebRTCStatsResponse.h"
30 #include "third_party/WebKit/public/platform/WebRTCVoidRequest.h" 28 #include "third_party/WebKit/public/platform/WebRTCVoidRequest.h"
31 #include "third_party/WebKit/public/platform/WebString.h" 29 #include "third_party/WebKit/public/platform/WebString.h"
32 #include "third_party/WebKit/public/platform/WebVector.h" 30 #include "third_party/WebKit/public/platform/WebVector.h"
33 31
34 using namespace blink; 32 using namespace blink;
35 33
36 namespace test_runner { 34 namespace test_runner {
37 35
(...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after
232 return nullptr; 230 return nullptr;
233 return std::unique_ptr<blink::WebRTCStats>( 231 return std::unique_ptr<blink::WebRTCStats>(
234 new MockWebRTCStats(stats_[i_++])); 232 new MockWebRTCStats(stats_[i_++]));
235 } 233 }
236 234
237 private: 235 private:
238 std::vector<MockWebRTCStats> stats_; 236 std::vector<MockWebRTCStats> stats_;
239 size_t i_; 237 size_t i_;
240 }; 238 };
241 239
242 class MockWebRTCRtpContributingSource
243 : public blink::WebRTCRtpContributingSource {
244 public:
245 MockWebRTCRtpContributingSource(
246 blink::WebRTCRtpContributingSourceType source_type,
247 double timestamp_ms,
248 uint32_t source)
249 : source_type_(source_type),
250 timestamp_ms_(timestamp_ms),
251 source_(source) {}
252 ~MockWebRTCRtpContributingSource() override {}
253
254 blink::WebRTCRtpContributingSourceType SourceType() const override {
255 return source_type_;
256 }
257 double TimestampMs() const override { return timestamp_ms_; }
258 uint32_t Source() const override { return source_; }
259
260 private:
261 blink::WebRTCRtpContributingSourceType source_type_;
262 double timestamp_ms_;
263 uint32_t source_;
264 };
265
266 class MockWebRTCRtpReceiver : public blink::WebRTCRtpReceiver { 240 class MockWebRTCRtpReceiver : public blink::WebRTCRtpReceiver {
267 public: 241 public:
268 MockWebRTCRtpReceiver(uintptr_t id, const blink::WebMediaStreamTrack& track) 242 MockWebRTCRtpReceiver(uintptr_t id, const blink::WebMediaStreamTrack& track)
269 : id_(id), track_(track), num_packets_(0) {} 243 : id_(id), track_(track) {}
270 ~MockWebRTCRtpReceiver() override {} 244 ~MockWebRTCRtpReceiver() override {}
271 245
272 uintptr_t Id() const override { return id_; } 246 uintptr_t Id() const override { return id_; }
273 const blink::WebMediaStreamTrack& Track() const override { return track_; } 247 const blink::WebMediaStreamTrack& Track() const override { return track_; }
274 248
275 // Every time called, mocks that a new packet has arrived updating the i-th
276 // CSRC such that the |kNumCSRCsActive| latest updated CSRCs are returned. "i"
277 // is the sequence number modulo number of CSRCs. Also returns an SSRC with
278 // the latest timestamp. For example, if 2 out of 3 CSRCs should be active,
279 // this will return the following "(type, source, timestamp)":
280 // - 1st call: { (CSRC, 0, 0), (SSRC, 0, 0) }
281 // - 2nd call: { (CSRC, 0, 0000), (CSRC, 1, 5000), (SSRC, 0, 5000) }
282 // - 3rd call: { (CSRC, 1, 5000), (CSRC, 2, 10000), (SSRC, 0, 10000) }
283 // - 4th call: { (CSRC, 2, 10000), (CSRC, 0, 15000), (SSRC, 0, 15000) }
284 // RTCPeerConnection-getReceivers.html depends on this behavior.
285 blink::WebVector<std::unique_ptr<blink::WebRTCRtpContributingSource>>
286 GetSources() override {
287 ++num_packets_;
288 size_t num_csrcs = std::min(kNumCSRCsActive, num_packets_);
289 blink::WebVector<std::unique_ptr<blink::WebRTCRtpContributingSource>>
290 contributing_sources(num_csrcs + 1);
291 for (size_t i = 0; i < num_csrcs; ++i) {
292 size_t sequence_number = num_packets_ - num_csrcs + i;
293 contributing_sources[i] =
294 base::MakeUnique<MockWebRTCRtpContributingSource>(
295 blink::WebRTCRtpContributingSourceType::CSRC,
296 // Return value should include timestamps for the last 10 seconds,
297 // we pretend |10000.0 / kNumCSRCsActive| milliseconds have passed
298 // per packet in the sequence, starting from 0. This is not
299 // relative to any real clock.
300 sequence_number * 10000.0 / kNumCSRCsActive,
301 sequence_number % kNumCSRCs);
302 }
303 contributing_sources[num_csrcs] =
304 base::MakeUnique<MockWebRTCRtpContributingSource>(
305 blink::WebRTCRtpContributingSourceType::SSRC,
306 contributing_sources[num_csrcs - 1]->TimestampMs(), 0);
307 return contributing_sources;
308 }
309
310 private: 249 private:
311 const size_t kNumCSRCs = 3;
312 const size_t kNumCSRCsActive = 2;
313
314 uintptr_t id_; 250 uintptr_t id_;
315 blink::WebMediaStreamTrack track_; 251 blink::WebMediaStreamTrack track_;
316 size_t num_packets_;
317 }; 252 };
318 253
319 } // namespace 254 } // namespace
320 255
321 MockWebRTCPeerConnectionHandler::MockWebRTCPeerConnectionHandler() 256 MockWebRTCPeerConnectionHandler::MockWebRTCPeerConnectionHandler()
322 : weak_factory_(this) {} 257 : weak_factory_(this) {}
323 258
324 MockWebRTCPeerConnectionHandler::~MockWebRTCPeerConnectionHandler() {} 259 MockWebRTCPeerConnectionHandler::~MockWebRTCPeerConnectionHandler() {}
325 260
326 MockWebRTCPeerConnectionHandler::MockWebRTCPeerConnectionHandler( 261 MockWebRTCPeerConnectionHandler::MockWebRTCPeerConnectionHandler(
(...skipping 347 matching lines...) Expand 10 before | Expand all | Expand 10 after
674 const WebMediaStreamTrack& track) { 609 const WebMediaStreamTrack& track) {
675 return new MockWebRTCDTMFSenderHandler(track, interfaces_->GetDelegate()); 610 return new MockWebRTCDTMFSenderHandler(track, interfaces_->GetDelegate());
676 } 611 }
677 612
678 void MockWebRTCPeerConnectionHandler::Stop() { 613 void MockWebRTCPeerConnectionHandler::Stop() {
679 stopped_ = true; 614 stopped_ = true;
680 weak_factory_.InvalidateWeakPtrs(); 615 weak_factory_.InvalidateWeakPtrs();
681 } 616 }
682 617
683 } // namespace test_runner 618 } // namespace test_runner
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698