summaryrefslogtreecommitdiffstats
path: root/src/TimestampDecoder.h
diff options
context:
space:
mode:
authorBram (morningbird) <bram@morningbird>2012-08-01 15:06:22 +0200
committerBram (morningbird) <bram@morningbird>2012-08-01 15:06:22 +0200
commit06268c30c784051dfa5d651cb9195298094113b1 (patch)
tree97460917e388bb4592605f29005af4666474ed53 /src/TimestampDecoder.h
parentb593e1cab3a31dff928eafd22f25f16e9daab61d (diff)
downloaddabmod-06268c30c784051dfa5d651cb9195298094113b1.tar.gz
dabmod-06268c30c784051dfa5d651cb9195298094113b1.tar.bz2
dabmod-06268c30c784051dfa5d651cb9195298094113b1.zip
dabmod: offset calculation includes pipeline delay due to FIRFilter
Diffstat (limited to 'src/TimestampDecoder.h')
-rw-r--r--src/TimestampDecoder.h19
1 files changed, 18 insertions, 1 deletions
diff --git a/src/TimestampDecoder.h b/src/TimestampDecoder.h
index 3a1fb1b..68fe546 100644
--- a/src/TimestampDecoder.h
+++ b/src/TimestampDecoder.h
@@ -25,18 +25,27 @@
#ifndef TIMESTAMP_DECODER_H
#define TIMESTAMP_DECODER_H
-#include "Eti.h"
+#include <queue>
#include <time.h>
#include <math.h>
#include <stdio.h>
+#include "Eti.h"
struct modulator_offset_config
{
bool use_offset_fixed;
double offset_fixed;
+ /* These two fields are used when the modulator is run with a fixed offset */
bool use_offset_file;
char* offset_filename;
+ /* These two fields are used when the modulator reads the offset from a file */
+
+ unsigned delay_calculation_pipeline_stages;
+ /* Specifies by how many stages the timestamp must be delayed.
+ * (e.g. The FIRFilter is pipelined, therefore we must increase
+ * delay_calculation_pipeline_stages by one if the filter is used
+ */
};
struct frame_timestamp
@@ -149,6 +158,14 @@ class TimestampDecoder
/* Disable timstamps until full time has been received in mnsc */
bool full_timestamp_received_mnsc;
+
+ /* when pipelining, we must shift the calculated timestamps
+ * through this queue. Otherwise, it would not be possible to
+ * synchronise two modulators if only one uses (for instance) the
+ * FIRFilter (1 stage pipeline)
+ */
+ std::queue<struct frame_timestamp*> queue_timestamps;
+
};
#endif