private void Connect(string sourceName) { if (string.IsNullOrEmpty(sourceName) || _ndiSources == null || !_ndiSources.ContainsKey(sourceName)) { return; } NDIlib_source_t source = _ndiSources[sourceName]; NDIlib_recv_create_t recvDescription = new NDIlib_recv_create_t() { source_to_connect_to = source, color_format = NDIlib_recv_color_format_e.NDIlib_recv_color_format_e_BGRX_BGRA, bandwidth = NDIlib_recv_bandwidth_e.NDIlib_recv_bandwidth_lowest }; _ndiReceiveInstance = Ndi.NDIlib_recv_create(ref recvDescription); if (_ndiReceiveInstance != IntPtr.Zero) { // start up a thread to receive on _ndiReceiveThread = new Thread(ReceiveThreadProc) { IsBackground = true, Name = "Newtek Ndi video preview plugin receive thread" }; _ndiReceiveThread.Start(); } }