Index: webrtc/api/peerconnection.cc |
diff --git a/webrtc/api/peerconnection.cc b/webrtc/api/peerconnection.cc |
index 830c301a6d9cf0090870e3a06bca4ce23835ec0c..320224b2ee262ebe4963fee612bd256a0f843779 100644 |
--- a/webrtc/api/peerconnection.cc |
+++ b/webrtc/api/peerconnection.cc |
@@ -886,6 +886,13 @@ bool PeerConnection::GetStats(StatsObserver* observer, |
} |
stats_->UpdateStats(level); |
+ // The StatsCollector is used to tell if a track is valid because it may |
+ // remember tracks that the PeerConnection previously removed. |
+ if (track && !stats_->IsValidTrack(track)) { |
+ LOG(LS_WARNING) << "GetStats is called with an invalid track: " |
+ << track->id(); |
+ return false; |
+ } |
signaling_thread()->Post(RTC_FROM_HERE, this, MSG_GETSTATS, |
new GetStatsMsg(observer, track)); |
return true; |