private void UnregisterInteropCallbacks() { if (_selfHandle != IntPtr.Zero) { RemoteAudioTrackInterop.RemoteAudioTrack_RegisterFrameCallback(_nativeHandle, null, IntPtr.Zero); Utils.ReleaseWrapperRef(_selfHandle); _selfHandle = IntPtr.Zero; _interopCallbackArgs = null; } }
private void RegisterInteropCallbacks() { _interopCallbackArgs = new RemoteAudioTrackInterop.InteropCallbackArgs() { Track = this, FrameCallback = RemoteAudioTrackInterop.FrameCallback, }; _selfHandle = Utils.MakeWrapperRef(this); RemoteAudioTrackInterop.RemoteAudioTrack_RegisterFrameCallback( _nativeHandle, _interopCallbackArgs.FrameCallback, _selfHandle); }