NDIlib.destroy();
p_ndi_name = "My .NET Sender", // visible on network p_groups = null, // optional group filtering clock_video = true, // auto timestamp clock_audio = true ; IntPtr sender = NDIlib.send_create(ref sendSettings); // Prepare frame (e.g., 1920x1080, RGBA) var videoFrame = new NDIlib.video_frame_v2_t ndilibdotnet2
handle.Free(); Console.WriteLine("Frame sent. Press Enter to exit."); Console.ReadLine(); NDIlib
var metadata = new NDIlib.metadata_frame_t p_data = "\"command\":\"tally\"" ; NDIlib.send_send_metadata(sender, ref metadata); Receive: p_ndi_name = "My .NET Sender"
sample_rate = 48000, no_channels = 2, no_samples = 960, // 20ms @ 48kHz timecode = 0, p_data = audioDataPtr ; NDIlib.send_send_audio_v2(sender, ref audioFrame); Send:
if (videoFrame.p_data != IntPtr.Zero)
var recvSettings = new NDIlib.recv_create_v3_t