public PeerConnectionObserver() { Native = new PeerConnectionObserverSafeHandle(); var userData = GCHandleHelper.ToIntPtr(this, out _handle); SetRenegotiationNeededCallback(Native, _renegotiationNeededCallback, userData); SetIceGatheringStateChangedCallback(Native, _iceGatheringStateChangedCallback, userData); SetIceConnectionChangeCallback(Native, _iceConnectionChangeCallback, userData); SetIceCandidateCallback(Native, _iceCandidateCallback, userData); SetIceCandidatesRemovedCallback(Native, _iceCandidatesRemovedCallback, userData); SetRemoteTrackAddedCallback(Native, _remoteTrackAddedCallback, userData); SetRemoteTrackRemovedCallback(Native, _remoteTrackRemovedCallback, userData); }
public extern static void SetRemoteTrackRemovedCallback(PeerConnectionObserverSafeHandle safeHandle, RemoteTrackRemovedCallback callback, IntPtr userData);
public extern static void SetIceCandidatesRemovedCallback(PeerConnectionObserverSafeHandle safeHandle, IceCandidatesRemovedCallback callback, IntPtr userData);
public extern static void SetIceConnectionChangeCallback(PeerConnectionObserverSafeHandle safeHandle, IceConnectionChangeCallback callback, IntPtr userData);
public extern static void SetIceGatheringStateChangedCallback(PeerConnectionObserverSafeHandle safeHandle, IceGatheringStateChangedCallback callback, IntPtr userData);
public extern static void SetRenegotiationNeededCallback(PeerConnectionObserverSafeHandle safeHandle, RenegotiationNeededCallback callback, IntPtr userData);
public static extern IntPtr CreatePeerConnection( PeerConnectionFactorySafeHandle peerConnectionFactorySafeHandle, [MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 1)] IceServerConfig[] iceServerConfigs, int iceServerConfigLength, PeerConnectionObserverSafeHandle peerConnectionObserver );