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

Unified Diff: content/renderer/media/webrtc/rtc_rtp_receiver.cc

Issue 2946663003: content::RTCRtpSenders/Receivers using track adapter references. (Closed)
Patch Set: scoped_refptr and std::move Created 3 years, 6 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 side-by-side diff with in-line comments
Download patch
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

Powered by Google App Engine
This is Rietveld 408576698