From 9ea9ea7b32f682ae1f597c8bb305fbc5cff5a7aa Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bodn=C3=A1r=20Zsombor?= <bodzsoaa@sch.bme.hu>
Date: Sat, 6 Feb 2021 13:33:37 +0100
Subject: [PATCH] Replace max pixel per datagram with frame fragment size

---
 src/configuration.cc   | 6 +++---
 src/configuration.h    | 4 ++--
 src/muebreceiver.cc    | 2 +-
 src/muebtransmitter.cc | 4 ++--
 4 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/src/configuration.cc b/src/configuration.cc
index 710b175..d7444b6 100644
--- a/src/configuration.cc
+++ b/src/configuration.cc
@@ -65,8 +65,8 @@ std::uint32_t Configuration::packet_payload_size() const {
   return packet_payload_size_;
 }
 
-std::uint32_t Configuration::max_pixel_per_datagram() const {
-  return max_pixel_per_datagram_;
+std::uint32_t Configuration::frame_fragment_size() const {
+  return frame_fragment_size_;
 }
 
 std::uint32_t Configuration::remainder_packet_size() const {
@@ -139,7 +139,7 @@ void Configuration::LoadSettings() {
   packet_size_ =
       packet_header_size_ + max_windows_per_datagram_ * window_byte_size_;
   packet_payload_size_ = max_windows_per_datagram_ * window_byte_size_;
-  max_pixel_per_datagram_ = max_windows_per_datagram_ * pixels_per_window_;
+  frame_fragment_size_ = max_windows_per_datagram_ * pixels_per_window_ * 3;
   max_packet_number_ = static_cast<std::uint32_t>(
       std::ceil(static_cast<float>(windows_) / max_windows_per_datagram_));
 
diff --git a/src/configuration.h b/src/configuration.h
index 5156f2c..6cd92fa 100644
--- a/src/configuration.h
+++ b/src/configuration.h
@@ -53,7 +53,7 @@ class Configuration : public QObject {
 
   std::uint32_t packet_payload_size() const;
 
-  std::uint32_t max_pixel_per_datagram() const;
+  std::uint32_t frame_fragment_size() const;
 
   std::uint32_t remainder_packet_size() const;
 
@@ -92,7 +92,7 @@ class Configuration : public QObject {
   std::uint32_t packet_header_size_;
   std::uint32_t packet_size_;
   std::uint32_t packet_payload_size_;
-  std::uint32_t max_pixel_per_datagram_;
+  std::uint32_t frame_fragment_size_;
   std::uint32_t remainder_packet_size_;
   std::uint16_t unicast_animation_port_;
   std::uint16_t broadcast_animation_port_;
diff --git a/src/muebreceiver.cc b/src/muebreceiver.cc
index dade9e8..dd3b6ab 100644
--- a/src/muebreceiver.cc
+++ b/src/muebreceiver.cc
@@ -70,7 +70,7 @@ void MuebReceiver::readPendingDatagrams() {
       data.remove(0, d_ptr_->configuration.packet_header_size());
       auto frame_begin =
           d_ptr_->frame.bits() +
-          packet_number * d_ptr_->configuration.max_pixel_per_datagram();
+          packet_number * d_ptr_->configuration.frame_fragment_size();
 
       // Uncompress 1 byte into 2 color components
       if (d_ptr_->configuration.color_depth() < 5) {
diff --git a/src/muebtransmitter.cc b/src/muebtransmitter.cc
index af5682e..cc3f025 100644
--- a/src/muebtransmitter.cc
+++ b/src/muebtransmitter.cc
@@ -76,8 +76,8 @@ class MuebTransmitterPrivate {
         data.append(configuration_.protocol_type())
             .append(packet_number++)
             .append(reduced_compressed_frame.sliced(
-                i * configuration_.packet_payload_size(),
-                configuration_.packet_payload_size()));
+                i * configuration_.frame_fragment_size(),
+                configuration_.frame_fragment_size()));
 
         datagram_.setData(data);
       }
-- 
GitLab