aboutsummaryrefslogtreecommitdiffstats
path: root/src/TimestampDecoder.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/TimestampDecoder.cpp')
-rw-r--r--src/TimestampDecoder.cpp70
1 files changed, 2 insertions, 68 deletions
diff --git a/src/TimestampDecoder.cpp b/src/TimestampDecoder.cpp
index 6cf2875..523551c 100644
--- a/src/TimestampDecoder.cpp
+++ b/src/TimestampDecoder.cpp
@@ -37,10 +37,9 @@
//#define MDEBUG(fmt, args...) fprintf (LOG, "*****" fmt , ## args)
#define MDEBUG(fmt, args...) PDEBUG(fmt, ## args)
-TimestampDecoder::TimestampDecoder(double& offset_s, unsigned tist_delay_stages) :
+TimestampDecoder::TimestampDecoder(double& offset_s) :
RemoteControllable("tist"),
- timestamp_offset(offset_s),
- m_tist_delay_stages(tist_delay_stages)
+ timestamp_offset(offset_s)
{
// Properly initialise temp_time
memset(&temp_time, 0, sizeof(temp_time));
@@ -54,71 +53,6 @@ TimestampDecoder::TimestampDecoder(double& offset_s, unsigned tist_delay_stages)
timestamp_offset << " offset";
}
-void TimestampDecoder::calculateTimestamp(frame_timestamp& ts)
-{
- std::shared_ptr<frame_timestamp> ts_queued =
- std::make_shared<frame_timestamp>();
-
- /* Push new timestamp into queue */
- ts_queued->timestamp_valid = full_timestamp_received;
- ts_queued->timestamp_sec = time_secs;
- ts_queued->timestamp_pps = time_pps;
- ts_queued->fct = latestFCT;
- ts_queued->fp = latestFP;
-
- ts_queued->timestamp_refresh = offset_changed;
- offset_changed = false;
-
- MDEBUG("time_secs=%d, time_pps=%f\n", time_secs,
- (double)time_pps / 16384000.0);
- *ts_queued += timestamp_offset;
-
- queue_timestamps.push(ts_queued);
-
- /* Here, the queue size is one more than the pipeline delay, because
- * we've just added a new element in the queue.
- *
- * Therefore, use <= and not < for comparison
- */
- if (queue_timestamps.size() <= m_tist_delay_stages) {
- //fprintf(stderr, "* %zu %u ", queue_timestamps.size(), m_tist_delay_stages);
- /* Return invalid timestamp until the queue is full */
- ts.timestamp_valid = false;
- ts.timestamp_sec = 0;
- ts.timestamp_pps = 0;
- ts.timestamp_refresh = false;
- ts.fct = -1;
- }
- else {
- //fprintf(stderr, ". %zu ", queue_timestamps.size());
- /* Return timestamp from queue */
- ts_queued = queue_timestamps.front();
- queue_timestamps.pop();
- /*fprintf(stderr, "ts_queued v:%d, sec:%d, pps:%f, ref:%d\n",
- ts_queued->timestamp_valid,
- ts_queued->timestamp_sec,
- ts_queued->timestamp_pps_offset,
- ts_queued->timestamp_refresh);*/
- ts = *ts_queued;
- /*fprintf(stderr, "ts v:%d, sec:%d, pps:%f, ref:%d\n\n",
- ts.timestamp_valid,
- ts.timestamp_sec,
- ts.timestamp_pps_offset,
- ts.timestamp_refresh);*/
- }
-
- MDEBUG("Timestamp queue size %zu, delay_calc %u\n",
- queue_timestamps.size(),
- m_tist_delay_stages);
-
- if (queue_timestamps.size() > m_tist_delay_stages) {
- etiLog.level(error) << "Error: Timestamp queue is too large : size " <<
- queue_timestamps.size() << "! This should not happen !";
- }
-
- //ts.print("calc2 ");
-}
-
std::shared_ptr<frame_timestamp> TimestampDecoder::getTimestamp()
{
std::shared_ptr<frame_timestamp> ts =