Make freeNativePeerConnectionObserver generic.

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 <kwiberg@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21411}
This commit is contained in:
Sami Kalliomäki
2017-12-21 09:23:06 +01:00
committed by Commit Bot
parent 38a31b0af6
commit 046f78cae6
2 changed files with 3 additions and 6 deletions

View File

@ -973,6 +973,8 @@ class PeerConnectionObserver {
kIceState, kIceState,
}; };
virtual ~PeerConnectionObserver() = default;
// Triggered when the SignalingState changed. // Triggered when the SignalingState changed.
virtual void OnSignalingChange( virtual void OnSignalingChange(
PeerConnectionInterface::SignalingState new_state) = 0; PeerConnectionInterface::SignalingState new_state) = 0;
@ -1045,10 +1047,6 @@ class PeerConnectionObserver {
// TODO(hbos,deadbeef): Make pure virtual when all subclasses implement it. // TODO(hbos,deadbeef): Make pure virtual when all subclasses implement it.
virtual void OnRemoveTrack( virtual void OnRemoveTrack(
rtc::scoped_refptr<RtpReceiverInterface> receiver) {} rtc::scoped_refptr<RtpReceiverInterface> receiver) {}
protected:
// Dtor protected as objects shouldn't be deleted via this interface.
~PeerConnectionObserver() {}
}; };
// PeerConnectionFactoryInterface is the factory interface used for creating // PeerConnectionFactoryInterface is the factory interface used for creating

View File

@ -329,8 +329,7 @@ static void JNI_PeerConnection_FreePeerConnectionObserver(
JNIEnv*, JNIEnv*,
const JavaParamRef<jclass>&, const JavaParamRef<jclass>&,
jlong j_p) { jlong j_p) {
PeerConnectionObserverJni* p = PeerConnectionObserver* p = reinterpret_cast<PeerConnectionObserver*>(j_p);
reinterpret_cast<PeerConnectionObserverJni*>(j_p);
delete p; delete p;
} }