setting the module in CPacket and STCPacket

unstable
Tom Early 4 years ago
parent eebe41ec5b
commit 52fd303f92

@ -152,6 +152,7 @@ void CDvFramePacket::SetTCParams()
m_TCPack.streamid = m_uiStreamId; m_TCPack.streamid = m_uiStreamId;
m_TCPack.is_second = m_bIsSecond; m_TCPack.is_second = m_bIsSecond;
m_TCPack.is_last = m_bLastPacket; m_TCPack.is_last = m_bLastPacket;
m_TCPack.module = m_cModule;
} }
//////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////

@ -65,9 +65,9 @@ void CPacketStream::ClosePacketStream(void)
// update status // update status
m_bOpen = false; m_bOpen = false;
m_uiStreamId = 0; m_uiStreamId = 0;
m_OwnerClient = nullptr; m_OwnerClient.reset();
#ifdef TRANSCODED_MODULES #ifdef TRANSCODED_MODULES
m_CodecStream = nullptr; m_CodecStream.reset();
#endif #endif
} }

@ -54,6 +54,7 @@ public:
bool IsOpen(void) const { return m_bOpen; } bool IsOpen(void) const { return m_bOpen; }
uint16_t GetStreamId(void) const { return m_uiStreamId; } uint16_t GetStreamId(void) const { return m_uiStreamId; }
const CCallsign &GetUserCallsign(void) const { return m_DvHeader.GetMyCallsign(); } const CCallsign &GetUserCallsign(void) const { return m_DvHeader.GetMyCallsign(); }
const char GetRpt2Module(void) const { return m_DvHeader.GetRpt2Module(); }
protected: protected:
// data // data

@ -133,7 +133,8 @@ void CProtocol::OnDvFramePacketIn(std::unique_ptr<CDvFramePacket> &Frame, const
auto stream = GetStream(Frame->GetStreamId(), Ip); auto stream = GetStream(Frame->GetStreamId(), Ip);
if ( stream ) if ( stream )
{ {
//std::cout << "DV frame" << "from " << *Ip << std::endl; // set the packet module, the transcoder needs this
Frame->SetPacketModule(stream->GetRpt2Module());
// and push // and push
stream->Lock(); stream->Lock();
stream->Push(std::move(Frame)); stream->Push(std::move(Frame));

@ -183,6 +183,7 @@ std::shared_ptr<CPacketStream> CReflector::OpenStream(std::unique_ptr<CDvHeaderP
// get the module's queue // get the module's queue
char module = DvHeader->GetRpt2Module(); char module = DvHeader->GetRpt2Module();
DvHeader->SetPacketModule(module);
auto stream = GetStream(module); auto stream = GetStream(module);
if ( stream == nullptr ) if ( stream == nullptr )
{ {

Loading…
Cancel
Save

Powered by TurnKey Linux.