diff --git a/nodes/decklink-in/src/decklink_in_node.cpp b/nodes/decklink-in/src/decklink_in_node.cpp index 7dc9e4f..5bb0cba 100644 --- a/nodes/decklink-in/src/decklink_in_node.cpp +++ b/nodes/decklink-in/src/decklink_in_node.cpp @@ -175,16 +175,20 @@ void DeckLinkInNode::process() { { std::lock_guard lock(frame_mutex_); - if (!frame_ready_ || !frame_data_) { - return; + if (frame_data_) { + src_data = frame_data_; + src_row_bytes = frame_row_bytes_; + src_width = frame_width_; + src_height = frame_height_; } - src_data = frame_data_; - src_row_bytes = frame_row_bytes_; - src_width = frame_width_; - src_height = frame_height_; frame_ready_ = false; } + if (!src_data) { + write_index_++; + return; + } + mxlGrainInfo out_grain{}; uint8_t* out_payload = nullptr; auto status = mxlFlowWriterOpenGrain(*writer_, write_index_, &out_grain, &out_payload);