fixes + cmake fixes for macos

This commit is contained in:
JohannesItten
2026-07-07 19:33:55 +03:00
parent 31346c48a6
commit 370cbd89a2
4 changed files with 53 additions and 33 deletions
+4 -3
View File
@@ -124,15 +124,16 @@ public:
// Receives one NDI frame. On video: converts to V210 in frame_buffer/frame_stride.
// On audio: copies float32 planar samples into audio_out and fills audio_info.
// Returns FrameKind::None on timeout or non-A/V frames.
// Throws on source lost or video format change.
// Throws on source lost or unsupported video format.
// timeout_ms=0 is non-blocking (useful for draining queued frames after an initial wait).
FrameKind capture(uint8_t* frame_buffer, uint32_t frame_stride,
std::vector<float>& audio_out, AudioInfo& audio_info,
bool want_audio = false) {
bool want_audio = false, int timeout_ms = 5) {
NDIlib_video_frame_v2_t video_frame{};
NDIlib_audio_frame_v3_t audio_frame{};
auto type = NDIlib_recv_capture_v3(recv_, &video_frame,
want_audio ? &audio_frame : nullptr,
nullptr, 5);
nullptr, timeout_ms);
if (type == NDIlib_frame_type_error)
throw std::runtime_error("NDI source lost");