From da1c63412fcba46047067be9e5abba34619730b4 Mon Sep 17 00:00:00 2001 From: Nicolas Pope <nwpope@utu.fi> Date: Wed, 5 Aug 2020 08:55:08 +0300 Subject: [PATCH] Attempt to fix packet count issues --- components/streams/src/builder.cpp | 3 ++- components/streams/src/receiver.cpp | 2 +- components/streams/src/sender.cpp | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/components/streams/src/builder.cpp b/components/streams/src/builder.cpp index 792603c71..a209a44e6 100644 --- a/components/streams/src/builder.cpp +++ b/components/streams/src/builder.cpp @@ -5,6 +5,7 @@ #include <loguru.hpp> #include <chrono> +#include <bitset> using ftl::streams::BaseBuilder; using ftl::streams::ForeignBuilder; @@ -386,7 +387,7 @@ std::shared_ptr<ftl::data::FrameSet> ForeignBuilder::_getFrameset() { f->set(ftl::data::FSFlag::STALE); slk.unlock(); - if (!f->isComplete()) LOG(WARNING) << "Dispatching incomplete frameset: " << f->timestamp(); + if (!f->isComplete()) LOG(WARNING) << "Dispatching incomplete frameset: " << f->timestamp() << " (" << std::bitset<16>( f->mask ).to_string() << ")"; // Remove all previous framesets while (framesets_.size() > 0) { diff --git a/components/streams/src/receiver.cpp b/components/streams/src/receiver.cpp index 66dc49247..efc4ffba2 100644 --- a/components/streams/src/receiver.cpp +++ b/components/streams/src/receiver.cpp @@ -388,8 +388,8 @@ void Receiver::processPackets(const StreamPacket &spkt, const Packet &pkt) { for (auto &frame : fs->frames) { frame.markAvailable(spkt.channel); - _finishPacket(fs, frame.source()); } + _finishPacket(fs, spkt.frame_number); } return; } diff --git a/components/streams/src/sender.cpp b/components/streams/src/sender.cpp index 17fc686ae..337a86b88 100644 --- a/components/streams/src/sender.cpp +++ b/components/streams/src/sender.cpp @@ -378,7 +378,7 @@ void Sender::post(ftl::data::Frame &frame, ftl::codecs::Channel c) { spkt.timestamp = frame.timestamp(); spkt.localTimestamp = spkt.timestamp; spkt.streamID = frame.frameset(); - spkt.frame_number = 255; + spkt.frame_number = 0; spkt.channel = c; Packet pkt; -- GitLab