commit | a5c735f5d90d07cd3884c6d81547cafd91b0100e | [log] [tgz] |
---|---|---|
author | Yura Yaroshevich <yura.yaroshevich@gmail.com> | Thu Feb 22 13:44:27 2018 +0300 |
committer | Commit Bot <commit-bot@chromium.org> | Thu Feb 22 16:11:38 2018 +0000 |
tree | c77434a35115c5e02a06cc6fd39140fc94e21fd0 | |
parent | c66810830c8ae5e0b1eda753669c386aa39b7cb1 [diff] |
Fixed observer unsubscribtion in RTCRtpReceiver. Missing unsubscribtion caused accessing invalid pointer inside AudioRtpReceiver::OnFirstPacketReceived on short-lived RTCRtpReceiver objects. Bug: webrtc:6112 Change-Id: I5df141628e1cfd69aff59177d395c3246e1bf367 Reviewed-on: https://webrtc-review.googlesource.com/54306 Reviewed-by: Kári Helgason <kthelgason@webrtc.org> Commit-Queue: Kári Helgason <kthelgason@webrtc.org> Cr-Commit-Position: refs/heads/master@{#22157}
diff --git a/sdk/objc/Framework/Classes/PeerConnection/RTCRtpReceiver.mm b/sdk/objc/Framework/Classes/PeerConnection/RTCRtpReceiver.mm index 0677a9b..12f3ab6 100644 --- a/sdk/objc/Framework/Classes/PeerConnection/RTCRtpReceiver.mm +++ b/sdk/objc/Framework/Classes/PeerConnection/RTCRtpReceiver.mm
@@ -72,6 +72,12 @@ self.receiverId]; } +- (void)dealloc { + if (_nativeRtpReceiver) { + _nativeRtpReceiver->SetObserver(nullptr); + } +} + - (BOOL)isEqual:(id)object { if (self == object) { return YES;