summaryrefslogtreecommitdiffstats
path: root/src/ufo-roof-buffer.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/ufo-roof-buffer.h')
-rw-r--r--src/ufo-roof-buffer.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/ufo-roof-buffer.h b/src/ufo-roof-buffer.h
index c4c8474..7ebaec9 100644
--- a/src/ufo-roof-buffer.h
+++ b/src/ufo-roof-buffer.h
@@ -15,16 +15,19 @@ struct _UfoRoofBuffer {
guint max_datasets; // Only the specified number of datasets will be buffered, the rest will be silently dropped
+ guint n_dims; // Indicates if we just assemble one fragment after another or there is 2D/3D data structure (ROOF)
guint dataset_size; // Size (in bytes) of a full dataset
+ guint dataset_dims[2]; // x (in bytes), y (in rows)
guint fragment_size; // Size (in bytes) of a single fragment (we expect fixed-size fragments at the moment)
-
+ guint fragment_dims[2]; // x (in bytes), y (in rows)
+
guint fragments_per_dataset; // Number of packets in dataset (used to compute when dataset is ready)
guint fragments_per_stream; // Number of packets in each of data streams (used to compute when dataset is ready)
};
typedef struct _UfoRoofBuffer UfoRoofBuffer;
-UfoRoofBuffer *ufo_roof_buffer_new(UfoRoofConfig *cfg, guint max_datasets, GError **error);
+UfoRoofBuffer *ufo_roof_buffer_new(UfoRoofConfig *cfg, guint n_dims, guint max_datasets, GError **error);
void ufo_roof_buffer_free(UfoRoofBuffer *buf);
gboolean ufo_roof_buffer_set_fragment(UfoRoofBuffer *buffer, guint stream_id, guint fragment_id, gconstpointer fragment, GError **error);