From 046f78cae64fec756391e81206c5aa007274b791 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sami=20Kalliom=C3=A4ki?= Date: Thu, 21 Dec 2017 09:23:06 +0100 Subject: [PATCH] Make freeNativePeerConnectionObserver generic. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Previously, it was only possible to free PeerConnectionObserverJni objects using this method. Now it is generic and can free any PeerConnectionObserver. Bug: webrtc:8662 Change-Id: I619ca5ed88a0c2553fa6d19ce41e510947d5bd44 Reviewed-on: https://webrtc-review.googlesource.com/35222 Reviewed-by: Karl Wiberg Reviewed-by: Magnus Jedvert Commit-Queue: Sami Kalliomäki Cr-Commit-Position: refs/heads/master@{#21411} --- api/peerconnectioninterface.h | 6 ++---- sdk/android/src/jni/pc/peerconnection.cc | 3 +-- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/api/peerconnectioninterface.h b/api/peerconnectioninterface.h index eb6685a561..6293361afd 100644 --- a/api/peerconnectioninterface.h +++ b/api/peerconnectioninterface.h @@ -973,6 +973,8 @@ class PeerConnectionObserver { kIceState, }; + virtual ~PeerConnectionObserver() = default; + // Triggered when the SignalingState changed. virtual void OnSignalingChange( PeerConnectionInterface::SignalingState new_state) = 0; @@ -1045,10 +1047,6 @@ class PeerConnectionObserver { // TODO(hbos,deadbeef): Make pure virtual when all subclasses implement it. virtual void OnRemoveTrack( rtc::scoped_refptr receiver) {} - - protected: - // Dtor protected as objects shouldn't be deleted via this interface. - ~PeerConnectionObserver() {} }; // PeerConnectionFactoryInterface is the factory interface used for creating diff --git a/sdk/android/src/jni/pc/peerconnection.cc b/sdk/android/src/jni/pc/peerconnection.cc index ed1598034a..d904f07d3c 100644 --- a/sdk/android/src/jni/pc/peerconnection.cc +++ b/sdk/android/src/jni/pc/peerconnection.cc @@ -329,8 +329,7 @@ static void JNI_PeerConnection_FreePeerConnectionObserver( JNIEnv*, const JavaParamRef&, jlong j_p) { - PeerConnectionObserverJni* p = - reinterpret_cast(j_p); + PeerConnectionObserver* p = reinterpret_cast(j_p); delete p; }