From 6c1f7421f15d696d4324a45f7b155cb9bf9efc3f Mon Sep 17 00:00:00 2001 From: Andrej Babic Date: Fri, 15 May 2020 15:31:47 +0200 Subject: [PATCH] Add is_valid_frame logic --- core-buffer/include/jungfrau.hpp | 1 + core-buffer/src/ReplayH5Reader.cpp | 1 + sf-buffer/src/sf_replay.cpp | 7 +------ 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/core-buffer/include/jungfrau.hpp b/core-buffer/include/jungfrau.hpp index 8b95b86..f5d971e 100644 --- a/core-buffer/include/jungfrau.hpp +++ b/core-buffer/include/jungfrau.hpp @@ -53,6 +53,7 @@ struct ModuleFrame { struct CompressedModuleFrame { ModuleFrame module_frame; uint64_t compressed_size; + bool is_valid_frame; }; #pragma pack(pop) diff --git a/core-buffer/src/ReplayH5Reader.cpp b/core-buffer/src/ReplayH5Reader.cpp index f1e70c7..a4d5b0b 100644 --- a/core-buffer/src/ReplayH5Reader.cpp +++ b/core-buffer/src/ReplayH5Reader.cpp @@ -88,6 +88,7 @@ bool ReplayH5Reader::get_frame( if (metadata->pulse_id == 0) { // Signal that there is no frame at this pulse_id. + metadata->pulse_id = pulse_id; return false; }else if (metadata->pulse_id != pulse_id) { diff --git a/sf-buffer/src/sf_replay.cpp b/sf-buffer/src/sf_replay.cpp index 2528153..b0534f2 100644 --- a/sf-buffer/src/sf_replay.cpp +++ b/sf-buffer/src/sf_replay.cpp @@ -50,16 +50,11 @@ void sf_replay ( auto start_time = chrono::steady_clock::now(); - auto is_frame_present = file_reader.get_frame( + metadata_buffer.is_valid_frame = file_reader.get_frame( curr_pulse_id, &(metadata_buffer.module_frame), (char*)(frame_buffer.get())); - if (!is_frame_present) { - // TODO: Improve signaling to sf_writer about missing frame. - metadata_buffer.module_frame.pulse_id = curr_pulse_id; - } - auto end_time = chrono::steady_clock::now(); auto read_us_duration = chrono::duration_cast( end_time-start_time).count();