Index: content/renderer/media/webrtc/rtc_rtp_receiver.h |
diff --git a/content/renderer/media/webrtc/rtc_rtp_receiver.h b/content/renderer/media/webrtc/rtc_rtp_receiver.h |
index 5990976f490336f7b9766b0330374790c08b4b61..9427029147f41c17978e9cc4a96b857d74986beb 100644 |
--- a/content/renderer/media/webrtc/rtc_rtp_receiver.h |
+++ b/content/renderer/media/webrtc/rtc_rtp_receiver.h |
@@ -8,6 +8,7 @@ |
#include "base/macros.h" |
#include "base/memory/ref_counted.h" |
#include "content/common/content_export.h" |
+#include "content/renderer/media/webrtc/webrtc_media_stream_track_adapter_map.h" |
#include "third_party/WebKit/public/platform/WebMediaStreamTrack.h" |
#include "third_party/WebKit/public/platform/WebRTCRtpReceiver.h" |
#include "third_party/webrtc/api/rtpreceiverinterface.h" |
@@ -23,7 +24,8 @@ class CONTENT_EXPORT RTCRtpReceiver : public blink::WebRTCRtpReceiver { |
const webrtc::RtpReceiverInterface* webrtc_rtp_receiver); |
RTCRtpReceiver(webrtc::RtpReceiverInterface* webrtc_rtp_receiver, |
Guido Urdaneta
2017/06/19 16:10:51
Update raw pointer to scoped_refptr by value.
Acc
hbos_chromium
2017/06/19 16:45:39
I've never seen std::move be used in combination w
Guido Urdaneta
2017/06/20 11:26:15
Pass by value, not const-ref
|
- const blink::WebMediaStreamTrack& web_track); |
+ std::unique_ptr<WebRtcMediaStreamTrackAdapterMap::AdapterRef> |
+ track_adapter); |
~RTCRtpReceiver() override; |
uintptr_t Id() const override; |
@@ -35,7 +37,10 @@ class CONTENT_EXPORT RTCRtpReceiver : public blink::WebRTCRtpReceiver { |
private: |
const scoped_refptr<webrtc::RtpReceiverInterface> webrtc_rtp_receiver_; |
- const blink::WebMediaStreamTrack web_track_; |
+ // The track adapter is the glue between blink and webrtc layer tracks. |
+ // Keeping a reference to the adapter ensures it is not disposed, as is |
+ // required as long as the webrtc layer track is in use by the receiver. |
+ std::unique_ptr<WebRtcMediaStreamTrackAdapterMap::AdapterRef> track_adapter_; |
DISALLOW_COPY_AND_ASSIGN(RTCRtpReceiver); |
}; |