private void OnPeerShutdown() { AudioStreamStopped.Invoke(); var nativePeer = PeerConnection.Peer; nativePeer.RemoveLocalAudioTrack(); //nativePeer.I420LocalVideoFrameReady -= I420LocalVideoFrameReady; }
private void OnPeerShutdown() { AudioStreamStopped.Invoke(); var nativePeer = PeerConnection.Peer; //nativePeer.LocalAudioFrameReady -= LocalAudioFrameReady; nativePeer.RemoveLocalAudioTrack(); //FrameQueue.Clear(); }
/// <summary> /// Internal free-threaded helper callback on track added, which enqueues the /// <see cref="VideoSource.VideoStreamStopped"/> event to be fired from the main /// Unity thread. /// </summary> private void TrackRemoved(WebRTC.PeerConnection.TrackKind trackKind) { if (trackKind == WebRTC.PeerConnection.TrackKind.Audio) { // Enqueue invoking the unity event from the main Unity thread, so that listeners // can directly access Unity objects from their handler function. _mainThreadWorkQueue.Enqueue(() => AudioStreamStopped.Invoke()); } }
protected void OnDisable() { var nativePeer = PeerConnection.Peer; if ((nativePeer != null) && nativePeer.Initialized) { AudioStreamStopped.Invoke(); nativePeer.RemoveLocalAudioTrack(); } }
protected void OnDisable() { var nativePeer = PeerConnection.Peer; if ((nativePeer != null) && nativePeer.Initialized) { AudioStreamStopped.Invoke(); //nativePeer.LocalAudioFrameReady -= LocalAudioFrameReady; nativePeer.RemoveLocalAudioTrack(); //FrameQueue.Clear(); } }