diff --git a/api/peerconnectioninterface.h b/api/peerconnectioninterface.h index 6ea0cb033c..9e26df5594 100644 --- a/api/peerconnectioninterface.h +++ b/api/peerconnectioninterface.h @@ -67,6 +67,10 @@ #ifndef API_PEERCONNECTIONINTERFACE_H_ #define API_PEERCONNECTIONINTERFACE_H_ +// TODO(sakal): Remove this define after migration to virtual PeerConnection +// observer is complete. +#define VIRTUAL_PEERCONNECTION_OBSERVER_DESTRUCTOR + #include #include #include @@ -977,6 +981,8 @@ class PeerConnectionObserver { kIceState, }; + virtual ~PeerConnectionObserver() = default; + // Triggered when the SignalingState changed. virtual void OnSignalingChange( PeerConnectionInterface::SignalingState new_state) = 0; @@ -1049,10 +1055,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; }