From 43dd85b9969fc19b61960fd979230c7ad61f983e Mon Sep 17 00:00:00 2001
From: Nicolas Pope <nwpope@utu.fi>
Date: Thu, 20 Aug 2020 16:52:25 +0300
Subject: [PATCH] Also dispatch feed frameset

---
 components/streams/src/feed.cpp   |  5 ++++-
 components/streams/src/sender.cpp | 22 +++++-----------------
 2 files changed, 9 insertions(+), 18 deletions(-)

diff --git a/components/streams/src/feed.cpp b/components/streams/src/feed.cpp
index 4253b8026..fae6b5162 100644
--- a/components/streams/src/feed.cpp
+++ b/components/streams/src/feed.cpp
@@ -192,7 +192,10 @@ Feed::Feed(nlohmann::json &config, ftl::net::Universe*net) :
 				});
 
 				if (!did_pipe) {
-					LOG(WARNING) << "GUI Pipeline dropped";
+					LOG(WARNING) << "Feed Pipeline dropped";
+					ftl::pool.push([this,fs](int id) {
+						_dispatch(fs);
+					});
 				}
 			} else {
 				_dispatch(fs);
diff --git a/components/streams/src/sender.cpp b/components/streams/src/sender.cpp
index 44aadc932..b4d9d4093 100644
--- a/components/streams/src/sender.cpp
+++ b/components/streams/src/sender.cpp
@@ -490,19 +490,12 @@ void Sender::_encodeVideoChannel(ftl::data::FrameSet &fs, Channel c, bool reset)
 	int encoder_number = 0;
 	while (offset < fs.frames.size()) {
 		Channel cc = c;
-		//if ((cc == Channel::Colour) && fs.firstFrame().hasChannel(Channel::ColourHighRes)) {
-		//	cc = Channel::ColourHighRes;
-		//}
-		
-		//if ((cc == Channel::Right) && fs.firstFrame().hasChannel(Channel::RightHighRes)) {
-		//	cc = Channel::RightHighRes;
-		//	fs.frames[offset].upload(cc);
-		//}
 
-		if (!fs.frames[offset].hasChannel(cc)) {
-			offset++;
-			continue;
-		}
+		// FIXME: Don't change tile layout when channel temporarily drops.
+		//if (!fs.frames[offset].hasChannel(cc)) {
+		//	offset++;
+		//	continue;
+		//}
 
 		StreamPacket spkt;
 		spkt.version = 5;
@@ -545,9 +538,6 @@ void Sender::_encodeVideoChannel(ftl::data::FrameSet &fs, Channel c, bool reset)
 			break;
 		}
 
-		//cudaSafeCall(cudaStreamSynchronize(enc->stream()));
-		//enc->stream().waitForCompletion();
-
 		if (enc) {
 			if (reset) enc->reset();
 
@@ -644,8 +634,6 @@ void Sender::_encodeAudioChannel(ftl::data::FrameSet &fs, Channel c, bool reset)
 }
 
 void Sender::_encodeDataChannel(ftl::data::FrameSet &fs, Channel c, bool reset) {
-	int i=0;
-
 	// TODO: Pack all frames into a single packet
 	for (auto &f : fs.frames) {
 		StreamPacket spkt;
-- 
GitLab