diff options
author | Matthias P. Braendli <matthias.braendli@mpb.li> | 2017-05-12 09:47:01 +0200 |
---|---|---|
committer | Matthias P. Braendli <matthias.braendli@mpb.li> | 2017-05-12 09:47:01 +0200 |
commit | 9bf9469ccdc037d26ccd69ac9e81e64d74fc7008 (patch) | |
tree | cac96207e65fb84cd1ee158aa126d6c3ea5a79e3 /src/DabModulator.cpp | |
parent | 4fad4de6ec39b2741f8545ed78aa58ea0a6edc6c (diff) | |
download | dabmod-9bf9469ccdc037d26ccd69ac9e81e64d74fc7008.tar.gz dabmod-9bf9469ccdc037d26ccd69ac9e81e64d74fc7008.tar.bz2 dabmod-9bf9469ccdc037d26ccd69ac9e81e64d74fc7008.zip |
Handle absence of cifPoly in flowgraph setup
Diffstat (limited to 'src/DabModulator.cpp')
-rw-r--r-- | src/DabModulator.cpp | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/DabModulator.cpp b/src/DabModulator.cpp index d425f04..4e0bc33 100644 --- a/src/DabModulator.cpp +++ b/src/DabModulator.cpp @@ -367,27 +367,33 @@ int DabModulator::process(Buffer* dataOut) myFlowgraph->connect(cifOfdm, cifGain); myFlowgraph->connect(cifGain, cifGuard); + auto cifOut = cifPoly ? + static_pointer_cast<ModPlugin>(cifPoly) : + static_pointer_cast<ModPlugin>(myOutput); + if (cifFilter) { myFlowgraph->connect(cifGuard, cifFilter); if (cifRes) { myFlowgraph->connect(cifFilter, cifRes); - myFlowgraph->connect(cifRes, cifPoly); + myFlowgraph->connect(cifRes, cifOut); } else { - myFlowgraph->connect(cifFilter, cifPoly); + myFlowgraph->connect(cifFilter, cifOut); } } else { if (cifRes) { myFlowgraph->connect(cifGuard, cifRes); - myFlowgraph->connect(cifRes, cifPoly); + myFlowgraph->connect(cifRes, cifOut); } else { - myFlowgraph->connect(cifGuard, cifPoly); + myFlowgraph->connect(cifGuard, cifOut); } } - myFlowgraph->connect(cifPoly, myOutput); + if (cifPoly) { + myFlowgraph->connect(cifPoly, myOutput); + } } //////////////////////////////////////////////////////////////////// |