From f1470526b3f5cd783a2e69cdfef01148cb31f5ed Mon Sep 17 00:00:00 2001 From: Tom Early Date: Tue, 18 Jan 2022 04:39:12 -0700 Subject: [PATCH] Fixed bugs for no config'ed transcoder --- rconfig | 5 +++-- reflector/PacketStream.cpp | 4 ++++ reflector/PacketStream.h | 6 ++++++ reflector/Reflector.cpp | 8 ++++++++ reflector/Reflector.h | 4 ++++ 5 files changed, 25 insertions(+), 2 deletions(-) diff --git a/rconfig b/rconfig index 8dbb7c8..1cfd98c 100755 --- a/rconfig +++ b/rconfig @@ -408,7 +408,7 @@ while [[ "$key" != q* ]] do clear echo - echo " Reflector Configuration, Version #211229" + echo " Reflector Configuration, Version #220119" echo echo " ******* REFLECTOR ********" echo -n "cs : Reflector Callsign = "; EvaluateVar callsign{,_d} @@ -418,6 +418,7 @@ do echo -n "i4 : IPv4 Listen Address = "; EvaluateVar ip4addr{,_d} echo -n "i6 : IPv6 Listen Address = "; EvaluateVar ip6addr{,_d} echo " ******* TRANSCODER ********" + echo " The only TC address supported is 'local' or the default 'none'" echo -n "tc : Transcoder Address = "; EvaluateVar tcaddress{,_d} if [ ! -z ${tcaddress+x} ]; then echo -n "tm : Transcoder Modules = "; EvaluateVar tcmodules{,_d} @@ -453,7 +454,7 @@ do elif [[ "$key" == am* ]]; then CheckModules "${value^^}" elif [[ "$key" == i4* ]]; then ip4addr="$value" elif [[ "$key" == i6* ]]; then ip6addr="$value" - elif [[ "$key" == tc* ]]; then tcaddress="$value" + elif [[ "$key" == tc* ]]; then tcaddress="local" elif [[ "$key" == tm* ]]; then CheckTranscodedModules "${value^^}" elif [[ "$key" == ye* ]]; then SetBooleanValue ysfautolink "$value" elif [[ "$key" == ym* ]]; then diff --git a/reflector/PacketStream.cpp b/reflector/PacketStream.cpp index 4571f34..b6f0815 100644 --- a/reflector/PacketStream.cpp +++ b/reflector/PacketStream.cpp @@ -22,7 +22,11 @@ //////////////////////////////////////////////////////////////////////////////////////// // constructor +#ifdef TRANSCODED_MODULES CPacketStream::CPacketStream(std::shared_ptr reader) +#else +CPacketStream::CPacketStream() +#endif { m_bOpen = false; m_uiStreamId = 0; diff --git a/reflector/PacketStream.h b/reflector/PacketStream.h index e53676e..4f24d85 100644 --- a/reflector/PacketStream.h +++ b/reflector/PacketStream.h @@ -21,7 +21,9 @@ #include "PacketQueue.h" #include "Timer.h" #include "DVHeaderPacket.h" +#ifdef TRANSCODED_MODULES #include "UnixDgramSocket.h" +#endif #include "CodecStream.h" //////////////////////////////////////////////////////////////////////////////////////// @@ -36,7 +38,11 @@ class CPacketStream : public CPacketQueue { public: // constructor +#ifdef TRANSCODED_MODULES CPacketStream(std::shared_ptr); +#else + CPacketStream(); +#endif // open / close bool OpenPacketStream(const CDvHeaderPacket &, std::shared_ptr); diff --git a/reflector/Reflector.cpp b/reflector/Reflector.cpp index 975e127..beedc91 100644 --- a/reflector/Reflector.cpp +++ b/reflector/Reflector.cpp @@ -56,7 +56,11 @@ CReflector::~CReflector() } m_RouterFuture.clear(); m_Stream.clear(); + +#ifdef TRANSCODED_MODULES m_TCReader.clear(); +#endif + } @@ -87,6 +91,7 @@ bool CReflector::Start(void) // start one thread per reflector module for (auto it=m_Modules.cbegin(); it!=m_Modules.cend(); it++) { +#ifdef TRANSCODED_MODULES m_TCReader[*it] = std::make_shared(); std::string readername(TC2REF); readername.append(1, *it); @@ -97,6 +102,9 @@ bool CReflector::Start(void) return false; } m_Stream[*it] = std::make_shared(m_TCReader[*it]); +#else + m_Stream[*it] = std::make_shared(); +#endif m_RouterFuture[*it] = std::async(std::launch::async, &CReflector::RouterThread, this, *it); } diff --git a/reflector/Reflector.h b/reflector/Reflector.h index f3fda53..a46b4f9 100644 --- a/reflector/Reflector.h +++ b/reflector/Reflector.h @@ -127,7 +127,11 @@ protected: // queues std::unordered_map> m_Stream; +#ifndef TRANSCODER_IP +#ifdef TRANSCODED_MODULES std::unordered_map> m_TCReader; +#endif +#endif // threads std::atomic keep_running;