diff options
author | Matthias P. Braendli <matthias.braendli@mpb.li> | 2018-01-07 08:49:29 +0100 |
---|---|---|
committer | Matthias P. Braendli <matthias.braendli@mpb.li> | 2018-01-07 08:49:29 +0100 |
commit | 1d833b718845b97a5b1d90f33b547b1772bc0708 (patch) | |
tree | bd34f1a8d25e150858e3bba5cbc7c0915d23f948 /src/BlockPartitioner.h | |
parent | 1dadf3b7856940911724d02613085d57535da474 (diff) | |
download | dabmod-1d833b718845b97a5b1d90f33b547b1772bc0708.tar.gz dabmod-1d833b718845b97a5b1d90f33b547b1772bc0708.tar.bz2 dabmod-1d833b718845b97a5b1d90f33b547b1772bc0708.zip |
Add new flowgraph path for metadata
Diffstat (limited to 'src/BlockPartitioner.h')
-rw-r--r-- | src/BlockPartitioner.h | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/src/BlockPartitioner.h b/src/BlockPartitioner.h index 90cffa3..a4656a1 100644 --- a/src/BlockPartitioner.h +++ b/src/BlockPartitioner.h @@ -1,6 +1,11 @@ /* Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Her Majesty the Queen in Right of Canada (Communications Research Center Canada) + + Copyright (C) 2018 + Matthias P. Braendli, matthias.braendli@mpb.li + + http://opendigitalradio.org */ /* This file is part of ODR-DabMod. @@ -25,32 +30,32 @@ # include <config.h> #endif - #include "ModPlugin.h" #include <vector> +#include <cstddef> -#include <sys/types.h> - - -class BlockPartitioner : public ModMux +class BlockPartitioner : public ModMux, public ModMetadata { public: BlockPartitioner(unsigned mode, unsigned phase); - virtual ~BlockPartitioner(); - BlockPartitioner(const BlockPartitioner&); - BlockPartitioner& operator=(const BlockPartitioner&); int process(std::vector<Buffer*> dataIn, Buffer* dataOut); const char* name() { return "BlockPartitioner"; } + // The implementation assumes process_metadata is always called after process + virtual meta_vec_t process_metadata(const meta_vec_t& metadataIn); + protected: int d_mode; size_t d_ficSize; size_t d_cifCount; size_t d_cifNb; size_t d_cifPhase; + size_t d_metaPhase; size_t d_cifSize; size_t d_outputFramesize; size_t d_outputFramecount; + + meta_vec_t d_meta; }; |