aboutsummaryrefslogtreecommitdiffstats
path: root/src/FicSource.h
diff options
context:
space:
mode:
authorMatthias P. Braendli <matthias.braendli@mpb.li>2022-08-18 13:15:57 +0200
committerMatthias P. Braendli <matthias.braendli@mpb.li>2022-08-18 13:15:57 +0200
commit0280bd327598342b5562ce11645fae8fcf649e2a (patch)
tree1aba24a32b05f1a71e8f4c0fe059ee6132454504 /src/FicSource.h
parent6087160593e74aff9147153c69ea23849fc8b921 (diff)
downloaddabmod-0280bd327598342b5562ce11645fae8fcf649e2a.tar.gz
dabmod-0280bd327598342b5562ce11645fae8fcf649e2a.tar.bz2
dabmod-0280bd327598342b5562ce11645fae8fcf649e2a.zip
Improve DEXTER SFN support
Diffstat (limited to 'src/FicSource.h')
-rw-r--r--src/FicSource.h21
1 files changed, 11 insertions, 10 deletions
diff --git a/src/FicSource.h b/src/FicSource.h
index 93c1a7f..01dba2d 100644
--- a/src/FicSource.h
+++ b/src/FicSource.h
@@ -2,7 +2,7 @@
Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Her Majesty
the Queen in Right of Canada (Communications Research Center Canada)
- Copyright (C) 2016
+ Copyright (C) 2022
Matthias P. Braendli, matthias.braendli@mpb.li
http://opendigitalradio.org
@@ -33,6 +33,7 @@
#include "PuncturingRule.h"
#include "Eti.h"
#include "ModPlugin.h"
+#include "TimestampDecoder.h"
#include <vector>
#include <sys/types.h>
@@ -41,21 +42,21 @@ class FicSource : public ModInput, public ModMetadata
public:
FicSource(unsigned ficf, unsigned mid);
- size_t getFramesize();
- const std::vector<PuncturingRule>& get_rules();
+ size_t getFramesize() const;
+ const std::vector<PuncturingRule>& get_rules() const;
void loadFicData(const Buffer& fic);
int process(Buffer* outputData) override;
const char* name() override { return "FicSource"; }
- void loadTimestamp(const std::shared_ptr<struct frame_timestamp>& ts);
- virtual meta_vec_t process_metadata(
- const meta_vec_t& metadataIn) override;
+ void loadTimestamp(const frame_timestamp& ts);
+ virtual meta_vec_t process_metadata(const meta_vec_t& metadataIn) override;
private:
- size_t d_framesize;
- Buffer d_buffer;
- std::shared_ptr<struct frame_timestamp> d_ts;
- std::vector<PuncturingRule> d_puncturing_rules;
+ size_t m_framesize = 0;
+ Buffer m_buffer;
+ frame_timestamp m_ts;
+ bool m_ts_valid = false;
+ std::vector<PuncturingRule> m_puncturing_rules;
};