Index: third_party/WebKit/Source/modules/peerconnection/RTCRtpSender.cpp |
diff --git a/third_party/WebKit/Source/modules/peerconnection/RTCRtpSender.cpp b/third_party/WebKit/Source/modules/peerconnection/RTCRtpSender.cpp |
index c31fd2c73f47fcccd1e9033f7bc6c87d6ddca3ab..b6e8385353b17c8c2ad70f22981031aba01d6a0c 100644 |
--- a/third_party/WebKit/Source/modules/peerconnection/RTCRtpSender.cpp |
+++ b/third_party/WebKit/Source/modules/peerconnection/RTCRtpSender.cpp |
@@ -8,6 +8,17 @@ |
namespace blink { |
+namespace { |
+ |
+bool TrackEquals(const MediaStreamTrack* track, |
+ const WebMediaStreamTrack* web_track) { |
+ if (track) |
+ return web_track && web_track->Id() == WebString(track->id()); |
+ return !web_track; |
+} |
+ |
+} // namespace |
+ |
RTCRtpSender::RTCRtpSender(std::unique_ptr<WebRTCRtpSender> sender, |
MediaStreamTrack* track) |
: sender_(std::move(sender)), track_(track) { |
@@ -16,12 +27,19 @@ RTCRtpSender::RTCRtpSender(std::unique_ptr<WebRTCRtpSender> sender, |
} |
MediaStreamTrack* RTCRtpSender::track() { |
- DCHECK((track_ && sender_->Track() && |
- sender_->Track()->Id() == static_cast<WebString>(track_->id())) || |
- (!track_ && !sender_->Track())); |
+ DCHECK(TrackEquals(track_, sender_->Track())); |
return track_; |
} |
+WebRTCRtpSender* RTCRtpSender::web_rtp_sender() { |
+ return sender_.get(); |
+} |
+ |
+void RTCRtpSender::SetTrack(MediaStreamTrack* track) { |
+ DCHECK(TrackEquals(track, sender_->Track())); |
+ track_ = track; |
+} |
+ |
DEFINE_TRACE(RTCRtpSender) { |
visitor->Trace(track_); |
} |