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.is_second = m_bIsSecond;
m_TCPack.is_last = m_bLastPacket;
m_TCPack.module = m_cModule;
}
////////////////////////////////////////////////////////////////////////////////////////

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

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

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

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

Loading…
Cancel
Save

Powered by TurnKey Linux.