Fixed bugs for no config'ed transcoder

unstable
Tom Early 4 years ago
parent 750dea0ad5
commit f1470526b3

@ -408,7 +408,7 @@ while [[ "$key" != q* ]]
do do
clear clear
echo echo
echo " Reflector Configuration, Version #211229" echo " Reflector Configuration, Version #220119"
echo echo
echo " ******* REFLECTOR ********" echo " ******* REFLECTOR ********"
echo -n "cs : Reflector Callsign = "; EvaluateVar callsign{,_d} echo -n "cs : Reflector Callsign = "; EvaluateVar callsign{,_d}
@ -418,6 +418,7 @@ do
echo -n "i4 : IPv4 Listen Address = "; EvaluateVar ip4addr{,_d} echo -n "i4 : IPv4 Listen Address = "; EvaluateVar ip4addr{,_d}
echo -n "i6 : IPv6 Listen Address = "; EvaluateVar ip6addr{,_d} echo -n "i6 : IPv6 Listen Address = "; EvaluateVar ip6addr{,_d}
echo " ******* TRANSCODER ********" echo " ******* TRANSCODER ********"
echo " The only TC address supported is 'local' or the default 'none'"
echo -n "tc : Transcoder Address = "; EvaluateVar tcaddress{,_d} echo -n "tc : Transcoder Address = "; EvaluateVar tcaddress{,_d}
if [ ! -z ${tcaddress+x} ]; then if [ ! -z ${tcaddress+x} ]; then
echo -n "tm : Transcoder Modules = "; EvaluateVar tcmodules{,_d} echo -n "tm : Transcoder Modules = "; EvaluateVar tcmodules{,_d}
@ -453,7 +454,7 @@ do
elif [[ "$key" == am* ]]; then CheckModules "${value^^}" elif [[ "$key" == am* ]]; then CheckModules "${value^^}"
elif [[ "$key" == i4* ]]; then ip4addr="$value" elif [[ "$key" == i4* ]]; then ip4addr="$value"
elif [[ "$key" == i6* ]]; then ip6addr="$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" == tm* ]]; then CheckTranscodedModules "${value^^}"
elif [[ "$key" == ye* ]]; then SetBooleanValue ysfautolink "$value" elif [[ "$key" == ye* ]]; then SetBooleanValue ysfautolink "$value"
elif [[ "$key" == ym* ]]; then elif [[ "$key" == ym* ]]; then

@ -22,7 +22,11 @@
//////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////
// constructor // constructor
#ifdef TRANSCODED_MODULES
CPacketStream::CPacketStream(std::shared_ptr<CUnixDgramReader> reader) CPacketStream::CPacketStream(std::shared_ptr<CUnixDgramReader> reader)
#else
CPacketStream::CPacketStream()
#endif
{ {
m_bOpen = false; m_bOpen = false;
m_uiStreamId = 0; m_uiStreamId = 0;

@ -21,7 +21,9 @@
#include "PacketQueue.h" #include "PacketQueue.h"
#include "Timer.h" #include "Timer.h"
#include "DVHeaderPacket.h" #include "DVHeaderPacket.h"
#ifdef TRANSCODED_MODULES
#include "UnixDgramSocket.h" #include "UnixDgramSocket.h"
#endif
#include "CodecStream.h" #include "CodecStream.h"
//////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////
@ -36,7 +38,11 @@ class CPacketStream : public CPacketQueue
{ {
public: public:
// constructor // constructor
#ifdef TRANSCODED_MODULES
CPacketStream(std::shared_ptr<CUnixDgramReader>); CPacketStream(std::shared_ptr<CUnixDgramReader>);
#else
CPacketStream();
#endif
// open / close // open / close
bool OpenPacketStream(const CDvHeaderPacket &, std::shared_ptr<CClient>); bool OpenPacketStream(const CDvHeaderPacket &, std::shared_ptr<CClient>);

@ -56,7 +56,11 @@ CReflector::~CReflector()
} }
m_RouterFuture.clear(); m_RouterFuture.clear();
m_Stream.clear(); m_Stream.clear();
#ifdef TRANSCODED_MODULES
m_TCReader.clear(); m_TCReader.clear();
#endif
} }
@ -87,6 +91,7 @@ bool CReflector::Start(void)
// start one thread per reflector module // start one thread per reflector module
for (auto it=m_Modules.cbegin(); it!=m_Modules.cend(); it++) for (auto it=m_Modules.cbegin(); it!=m_Modules.cend(); it++)
{ {
#ifdef TRANSCODED_MODULES
m_TCReader[*it] = std::make_shared<CUnixDgramReader>(); m_TCReader[*it] = std::make_shared<CUnixDgramReader>();
std::string readername(TC2REF); std::string readername(TC2REF);
readername.append(1, *it); readername.append(1, *it);
@ -97,6 +102,9 @@ bool CReflector::Start(void)
return false; return false;
} }
m_Stream[*it] = std::make_shared<CPacketStream>(m_TCReader[*it]); m_Stream[*it] = std::make_shared<CPacketStream>(m_TCReader[*it]);
#else
m_Stream[*it] = std::make_shared<CPacketStream>();
#endif
m_RouterFuture[*it] = std::async(std::launch::async, &CReflector::RouterThread, this, *it); m_RouterFuture[*it] = std::async(std::launch::async, &CReflector::RouterThread, this, *it);
} }

@ -127,7 +127,11 @@ protected:
// queues // queues
std::unordered_map<char, std::shared_ptr<CPacketStream>> m_Stream; std::unordered_map<char, std::shared_ptr<CPacketStream>> m_Stream;
#ifndef TRANSCODER_IP
#ifdef TRANSCODED_MODULES
std::unordered_map<char, std::shared_ptr<CUnixDgramReader>> m_TCReader; std::unordered_map<char, std::shared_ptr<CUnixDgramReader>> m_TCReader;
#endif
#endif
// threads // threads
std::atomic<bool> keep_running; std::atomic<bool> keep_running;

Loading…
Cancel
Save

Powered by TurnKey Linux.