public RtpTransceiver AddTransceiver(MediaKind kind, RtpTransceiverDirection direction) { SafetyCheck(); if (kind == MediaKind.Data) { throw new NotSupportedException(); } var transceiverPtr = PeerConnectionInterop.AddTransceiver(_handle, kind == MediaKind.Audio, direction); if (transceiverPtr == IntPtr.Zero) { throw new AddTransceiverFailedException(); } var tmp = new RtpTransceiver(transceiverPtr, _signallingThread); _knownTransceivers.Add(transceiverPtr, tmp); return(tmp); }
public static extern bool TryGetCurrentDirection(RtpTransceiverSafeHandle rtpTransceiver, ref RtpTransceiverDirection outDirection);
public static extern void SetDirection(RtpTransceiverSafeHandle rtpTransceiver, RtpTransceiverDirection direction);
public static RTCRtpTransceiverDirection ToPlatformNative(this RtpTransceiverDirection nativePort) => (RTCRtpTransceiverDirection)nativePort;
public static extern IntPtr AddTransceiver(PeerConnectionSafeHandle handle, [MarshalAs(UnmanagedType.I1)] bool isAudioTransceiver, RtpTransceiverDirection direction);