/// <summary> /// Creates a new instance of <see cref="WebRTCWriter"/>. /// </summary> /// <param name="FileName">Output file path.</param> /// <param name="Codec">The Avi Codec.</param> /// <param name="ImageProvider">The image source.</param> /// <param name="FrameRate">Video Frame Rate.</param> /// <param name="AudioProvider">The audio source. null = no audio.</param> public WebRTCWriter(string FileName, WebRTCCodec Codec, WebRTCSettings settings, IImageProvider ImageProvider, int FrameRate, IAudioProvider AudioProvider = null) { _codec = Codec; _width = ImageProvider.Width; _height = ImageProvider.Height; _videoBuffer = new byte[_width * _height * 4]; _connection = new WebRTC.WebRTCHost(settings); }
public WebRTCHost(WebRTCSettings settings) { if (settings.Mode == WebRTCEndpoint.WebSocket) { service = new WebSocketService(this, settings.WebSocketPath, settings.WebSocketPort); } else if (settings.Mode == WebRTCEndpoint.MediaServer) { service = new MediaServerService(this, settings.MediaServerUrl, settings.MediaServerStreamName); } else { throw new Exception($"Invalid mode {settings.Mode}"); } }