Index: content/renderer/media/webrtc/rtc_rtp_receiver.cc |
diff --git a/content/renderer/media/webrtc/rtc_rtp_receiver.cc b/content/renderer/media/webrtc/rtc_rtp_receiver.cc |
index c23a1349d4810722aa72caea012080fb2c71ca89..71fc802abfdfaf728347ff35a60189a6fa054bd4 100644 |
--- a/content/renderer/media/webrtc/rtc_rtp_receiver.cc |
+++ b/content/renderer/media/webrtc/rtc_rtp_receiver.cc |
@@ -11,27 +11,19 @@ |
namespace content { |
-namespace { |
- |
-inline bool operator==(const blink::WebMediaStreamTrack& web_track, |
- const webrtc::MediaStreamTrackInterface& webrtc_track) { |
- return !web_track.IsNull() && web_track.Id() == webrtc_track.id().c_str(); |
-} |
- |
-} // namespace |
- |
uintptr_t RTCRtpReceiver::getId( |
const webrtc::RtpReceiverInterface* webrtc_rtp_receiver) { |
return reinterpret_cast<uintptr_t>(webrtc_rtp_receiver); |
} |
RTCRtpReceiver::RTCRtpReceiver( |
- webrtc::RtpReceiverInterface* webrtc_rtp_receiver, |
- const blink::WebMediaStreamTrack& web_track) |
- : webrtc_rtp_receiver_(webrtc_rtp_receiver), web_track_(web_track) { |
+ scoped_refptr<webrtc::RtpReceiverInterface> webrtc_rtp_receiver, |
+ std::unique_ptr<WebRtcMediaStreamTrackAdapterMap::AdapterRef> track_adapter) |
+ : webrtc_rtp_receiver_(std::move(webrtc_rtp_receiver)), |
+ track_adapter_(std::move(track_adapter)) { |
DCHECK(webrtc_rtp_receiver_); |
- DCHECK(!web_track_.IsNull()); |
- DCHECK(web_track_ == webrtc_track()); |
+ DCHECK(track_adapter_); |
+ DCHECK_EQ(track_adapter_->webrtc_track(), webrtc_rtp_receiver_->track()); |
} |
RTCRtpReceiver::~RTCRtpReceiver() {} |
@@ -41,8 +33,8 @@ uintptr_t RTCRtpReceiver::Id() const { |
} |
const blink::WebMediaStreamTrack& RTCRtpReceiver::Track() const { |
- DCHECK(web_track_ == webrtc_track()); |
- return web_track_; |
+ DCHECK(track_adapter_->webrtc_track() == webrtc_rtp_receiver_->track()); |
+ return track_adapter_->web_track(); |
} |
blink::WebVector<std::unique_ptr<blink::WebRTCRtpContributingSource>> |
@@ -57,11 +49,9 @@ RTCRtpReceiver::GetSources() { |
} |
const webrtc::MediaStreamTrackInterface& RTCRtpReceiver::webrtc_track() const { |
- const webrtc::MediaStreamTrackInterface* webrtc_track = |
- webrtc_rtp_receiver_->track(); |
- DCHECK(webrtc_track); |
- DCHECK(web_track_ == *webrtc_track); |
- return *webrtc_track; |
+ DCHECK(track_adapter_->webrtc_track() == webrtc_rtp_receiver_->track()); |
+ DCHECK(track_adapter_->webrtc_track()); |
+ return *track_adapter_->webrtc_track(); |
} |
} // namespace content |