From 523cb1f37e7381e152e99d949d8100c92e942b37 Mon Sep 17 00:00:00 2001
From: Nicolas Pope <nwpope@utu.fi>
Date: Wed, 9 Oct 2019 12:03:41 +0300
Subject: [PATCH] Working group proxy

---
 applications/reconstruct/src/main.cpp    |  1 +
 components/rgbd-sources/src/group.cpp    |  1 +
 components/rgbd-sources/src/streamer.cpp | 14 +++++++++-----
 3 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/applications/reconstruct/src/main.cpp b/applications/reconstruct/src/main.cpp
index 52d9b603e..2ea940813 100644
--- a/applications/reconstruct/src/main.cpp
+++ b/applications/reconstruct/src/main.cpp
@@ -160,6 +160,7 @@ static void run(ftl::Configurable *root) {
 	}
 
 	stream->setLatency(5);  // FIXME: This depends on source!?
+	stream->add(&group);
 	stream->run();
 
 	bool busy = false;
diff --git a/components/rgbd-sources/src/group.cpp b/components/rgbd-sources/src/group.cpp
index 1804bfe46..8dec0292a 100644
--- a/components/rgbd-sources/src/group.cpp
+++ b/components/rgbd-sources/src/group.cpp
@@ -222,6 +222,7 @@ void Group::sync(std::function<bool(ftl::rgbd::FrameSet &)> cb) {
 		return true;
 	});
 
+	LOG(INFO) << "Start timer";
 	ftl::timer::start(true);
 }
 
diff --git a/components/rgbd-sources/src/streamer.cpp b/components/rgbd-sources/src/streamer.cpp
index 74912f2e7..b466d6b20 100644
--- a/components/rgbd-sources/src/streamer.cpp
+++ b/components/rgbd-sources/src/streamer.cpp
@@ -194,13 +194,16 @@ void Streamer::add(ftl::rgbd::Group *grp) {
 			//group_.addSource(src);
 
 			src->addRawCallback([this,s](Source *src, const ftl::codecs::StreamPacket &spkt, const ftl::codecs::Packet &pkt) {
+				LOG(INFO) << "RAW CALLBACK";
 				_transmitPacket(s, spkt, pkt, false);
 			});
 		}
 
-		LOG(INFO) << "Streaming: " << src->getID();
+		LOG(INFO) << "Proxy Streaming: " << src->getID();
 		net_->broadcast("add_stream", src->getID());
 	}
+
+	LOG(INFO) << "All proxy streams added";
 }
 
 void Streamer::_addClient(const string &source, int N, int rate, const ftl::UUID &peer, const string &dest) {
@@ -378,10 +381,11 @@ void Streamer::_process(ftl::rgbd::FrameSet &fs) {
 	// Prevent new clients during processing.
 	SHARED_LOCK(mutex_,slk);
 
-	if (fs.sources.size() != sources_.size()) {
-		LOG(ERROR) << "Incorrect number of sources in frameset: " << fs.sources.size() << " vs " << sources_.size();
-		return;
-	}
+	// This check is not valid, always assume fs.sources is correct
+	//if (fs.sources.size() != sources_.size()) {
+	//	LOG(ERROR) << "Incorrect number of sources in frameset: " << fs.sources.size() << " vs " << sources_.size();
+		//return;
+	//}
 
 	int totalclients = 0;
 
-- 
GitLab