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

Side by Side Diff: content/renderer/media/webrtc/rtc_rtp_receiver.cc

Issue 2759953003: Interface RTCRtpReceiver and RTCPeerConnection.getReceivers() added. (Closed)
Patch Set: Addressed/added comments Created 3 years, 9 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
(Empty)
1 // Copyright (c) 2017 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "content/renderer/media/webrtc/rtc_rtp_receiver.h"
6
7 #include "base/logging.h"
8 #include "third_party/webrtc/base/scoped_ref_ptr.h"
9
10 namespace content {
11
12 namespace {
13
14 inline bool operator==(const blink::WebMediaStreamTrack& web_track,
15 const webrtc::MediaStreamTrackInterface& webrtc_track) {
16 return !web_track.isNull() && web_track.id() == webrtc_track.id().c_str();
17 }
18
19 } // namespace
20
21 uintptr_t RTCRtpReceiver::getId(
22 const webrtc::RtpReceiverInterface* webrtc_rtp_receiver) {
23 return reinterpret_cast<uintptr_t>(webrtc_rtp_receiver);
24 }
25
26 RTCRtpReceiver::RTCRtpReceiver(
27 webrtc::RtpReceiverInterface* webrtc_rtp_receiver,
28 const blink::WebMediaStreamTrack& web_track)
29 : webrtc_rtp_receiver_(webrtc_rtp_receiver), web_track_(web_track) {
30 DCHECK(webrtc_rtp_receiver_);
31 DCHECK(!web_track_.isNull());
32 DCHECK(web_track_ == webrtc_track());
33 }
34
35 RTCRtpReceiver::~RTCRtpReceiver() {}
36
37 uintptr_t RTCRtpReceiver::id() const {
38 return getId(webrtc_rtp_receiver_.get());
39 }
40
41 const blink::WebMediaStreamTrack& RTCRtpReceiver::track() const {
42 DCHECK(web_track_ == webrtc_track());
Guido Urdaneta 2017/03/27 17:12:23 Does DCHECK_EQ work in this case?
hbos_chromium 2017/03/28 10:12:55 No. It only works if you define operator== in blin
43 return web_track_;
44 }
45
46 const webrtc::MediaStreamTrackInterface& RTCRtpReceiver::webrtc_track() const {
47 const webrtc::MediaStreamTrackInterface* webrtc_track =
48 webrtc_rtp_receiver_->track();
49 DCHECK(webrtc_track);
50 DCHECK(web_track_ == *webrtc_track);
51 return *webrtc_track;
52 }
53
54 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698