From f144b1300a315e7ec0b9f665ed3f23b98bd966f9 Mon Sep 17 00:00:00 2001
From: Nicolas Pope <nwpope@utu.fi>
Date: Tue, 28 Jul 2020 10:02:51 +0300
Subject: [PATCH] Attempt to improve latency values

---
 applications/reconstruct2/src/main.cpp | 1 +
 components/streams/src/netstream.cpp   | 6 +++---
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/applications/reconstruct2/src/main.cpp b/applications/reconstruct2/src/main.cpp
index a7e94f501..1a0bb7c59 100644
--- a/applications/reconstruct2/src/main.cpp
+++ b/applications/reconstruct2/src/main.cpp
@@ -128,6 +128,7 @@ static void run(ftl::Configurable *root) {
 	net->shutdown();
 	LOG(INFO) << "Stopping...";
 	ftl::timer::stop(true);
+	LOG(INFO) << "Timer stopped...";
 	ftl::pool.stop(true);
 	LOG(INFO) << "All threads stopped.";
 
diff --git a/components/streams/src/netstream.cpp b/components/streams/src/netstream.cpp
index 00910ec93..0d6fba657 100644
--- a/components/streams/src/netstream.cpp
+++ b/components/streams/src/netstream.cpp
@@ -104,7 +104,7 @@ bool Net::post(const ftl::codecs::StreamPacket &spkt, const ftl::codecs::Packet
 
 				try {
 					// FIXME: This doesn't work for file sources with file relative timestamps...
-					short pre_transmit_latency = short(ftl::timer::get_time() - spkt.timestamp);
+					short pre_transmit_latency = short(ftl::timer::get_time() - spkt.localTimestamp);
 
 					if (!net_->send(client.peerid,
 							base_uri_,
@@ -125,7 +125,7 @@ bool Net::post(const ftl::codecs::StreamPacket &spkt, const ftl::codecs::Packet
 			}
 		} else {
 			try {
-				short pre_transmit_latency = short(ftl::timer::get_time() - spkt.timestamp);
+				short pre_transmit_latency = short(ftl::timer::get_time() - spkt.localTimestamp);
 				if (!net_->send(peer_,
 						base_uri_,
 						pre_transmit_latency,  // Time since timestamp for tx
@@ -170,7 +170,7 @@ bool Net::begin() {
 		StreamPacket spkt = spkt_raw;
 		// FIXME: see #335
 		//spkt.timestamp -= clock_adjust_;
-		spkt.localTimestamp = now - ttimeoff;
+		spkt.localTimestamp = now - int64_t(ttimeoff);
 		spkt.hint_capability = 0;
 		spkt.hint_source_total = 0;
 		//LOG(INFO) << "LATENCY: " << ftl::timer::get_time() - spkt.localTimestamp() << " : " << spkt.timestamp << " - " << clock_adjust_;
-- 
GitLab