/// <summary> /// Add a connection metadata string to the list of what is sent on each new connection. If someone is already connected then /// this string will be sent to them immediately. /// </summary> /// <param name="p_instance"></param> /// <param name="p_metadata"></param> public static void NDIlib_recv_add_connection_metadata(IntPtr p_instance, ref NDIlib_metadata_frame_t p_metadata) { if (Is64Bit) { NDIlib64_recv_add_connection_metadata(p_instance, ref p_metadata); } else { NDIlib64_recv_add_connection_metadata(p_instance, ref p_metadata); } }
/// <summary> /// Send a meta message to the source that we are connected too. This returns FALSE if we are /// not currently connected to anything. /// </summary> /// <param name="p_instance"></param> /// <param name="p_meta_data"></param> /// <returns></returns> public static bool NDIlib_recv_send_metadata(IntPtr p_instance, ref NDIlib_metadata_frame_t p_meta_data) { if (Is64Bit) { return(NDIlib64_recv_send_metadata(p_instance, ref p_meta_data)); } else { return(NDIlib32_recv_send_metadata(p_instance, ref p_meta_data)); } }
// Free the buffers returned by capture for meta-data public static void NDIlib_recv_free_metadata(IntPtr p_instance, ref NDIlib_metadata_frame_t p_meta_data) { if (Is64Bit) { NDIlib64_recv_free_metadata(p_instance, ref p_meta_data); } else { NDIlib32_recv_free_metadata(p_instance, ref p_meta_data); } }
/// <summary> /// Same as NDIlib_recv_capture, but only asks for metadata /// </summary> /// <param name="p_instance"></param> /// <param name="p_meta_data"></param> /// <param name="timeout_in_ms"></param> /// <returns></returns> public static NDIlib_frame_type_e NDIlib_recv_capture( IntPtr p_instance, // The library instance ref NDIlib_metadata_frame_t p_meta_data, // The meta data data received (can be null) uint timeout_in_ms) // The ammount of time in milliseconds to wait for data. { if (Is64Bit) { return(NDIlib64_recv_capture(p_instance, IntPtr.Zero, IntPtr.Zero, ref p_meta_data, timeout_in_ms)); } else { return(NDIlib32_recv_capture(p_instance, IntPtr.Zero, IntPtr.Zero, ref p_meta_data, timeout_in_ms)); } }
private static extern void NDIlib64_recv_add_connection_metadata(IntPtr p_instance, ref NDIlib_metadata_frame_t p_metadata);
private static extern bool NDIlib64_recv_send_metadata(IntPtr p_instance, ref NDIlib_metadata_frame_t p_meta_data);
private static extern void NDIlib64_recv_free_metadata(IntPtr p_instance, ref NDIlib_metadata_frame_t p_meta_data);
private static extern NDIlib_frame_type_e NDIlib64_recv_capture( IntPtr p_instance, // The library instance IntPtr p_video_data, // The video data received (can be null) IntPtr p_audio_data, // The audio data received (can be null) ref NDIlib_metadata_frame_t p_meta_data, // The meta data data received (can be null) uint timeout_in_ms);
private static extern NDIlib_frame_type_e NDIlib32_recv_capture( IntPtr p_instance, // The library instance IntPtr p_video_data, // The video data received (can be null) IntPtr p_audio_data, // The audio data received (can be null) ref NDIlib_metadata_frame_t p_meta_data, // The meta data data received (can be null) uint timeout_in_ms); // The ammount of time in milliseconds to wait for data.