Reland "Make freeNativePeerConnectionObserver generic."
This is a reland of 046f78cae64fec756391e81206c5aa007274b791 Original change's description: > 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} Bug: webrtc:8662 Change-Id: Iba64d613f7b434260a0d7b762ca67d49b295a84f Reviewed-on: https://webrtc-review.googlesource.com/38901 Reviewed-by: Karl Wiberg <kwiberg@webrtc.org> Commit-Queue: Sami Kalliomäki <sakal@webrtc.org> Cr-Commit-Position: refs/heads/master@{#21587}
This commit is contained in:
committed by
Commit Bot
parent
c0092c372e
commit
02879f9990
@ -67,6 +67,10 @@
|
|||||||
#ifndef API_PEERCONNECTIONINTERFACE_H_
|
#ifndef API_PEERCONNECTIONINTERFACE_H_
|
||||||
#define 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 <memory>
|
#include <memory>
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <utility>
|
#include <utility>
|
||||||
@ -977,6 +981,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;
|
||||||
@ -1049,10 +1055,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
|
||||||
|
|||||||
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user