From 2dac8f5fa6d63a71a726ec373af9bf45f22de8b7 Mon Sep 17 00:00:00 2001 From: "Matthias P. Braendli" Date: Fri, 6 Jan 2017 16:22:40 +0100 Subject: EDI: handle pseq resync and SIGINT --- lib/edi/PFT.hpp | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) (limited to 'lib/edi/PFT.hpp') diff --git a/lib/edi/PFT.hpp b/lib/edi/PFT.hpp index 9ab14ae..9fb96a7 100644 --- a/lib/edi/PFT.hpp +++ b/lib/edi/PFT.hpp @@ -1,6 +1,6 @@ /* ------------------------------------------------------------------ * Copyright (C) 2017 AVT GmbH - Fabien Vercasson - * Copyright (C) 2016 Matthias P. Braendli + * Copyright (C) 2017 Matthias P. Braendli * matthias.braendli@mpb.li * * http://opendigitalradio.org @@ -22,7 +22,6 @@ #pragma once #include -#include #include #include #include @@ -84,7 +83,7 @@ class AFBuilder no, // Not enough fragments present to permit RS }; - AFBuilder(pseq_t Pseq, findex_t Fcount, int lifetime); + AFBuilder(pseq_t Pseq, findex_t Fcount, size_t lifetime); void pushPFTFrag(const Fragment &frag); @@ -105,7 +104,7 @@ class AFBuilder /* The user of this instance can keep track of the lifetime of this * builder */ - int lifeTime; + size_t lifeTime; private: @@ -125,7 +124,7 @@ class PFT void pushPFTFrag(const Fragment &fragment); /* Try to build the AF packet for the next pseq. This might - * skip one pseq according to the maximum delay setting. + * skip one or more pseq according to the maximum delay setting. * * \return an empty vector if building the AF is not possible */ @@ -134,15 +133,13 @@ class PFT /* Set the maximum delay in number of AF Packets before we * abandon decoding a given pseq. */ - void setMaxDelay(int num_af_packets); + void setMaxDelay(size_t num_af_packets); private: - bool isPacketBuildable(pseq_t pseq) const; - void incrementNextPseq(void); pseq_t m_next_pseq; - int m_max_delay = 10; + size_t m_max_delay = 10; // Keep one AFBuilder for each Pseq std::map m_afbuilders; -- cgit v1.2.3