forgot ot reinit pointers in CYSFConvolution::start()

pull/1/head
Tom Early 5 years ago
parent 310490d012
commit 04db23e069

@ -49,7 +49,7 @@ struct __attribute__ ((__packed__))dstar_dvframe
class CDvFramePacket : public CPacket
{
friend class CCodecStream;
//friend class CCodecStream;
public:
// constructor
CDvFramePacket();

@ -42,7 +42,7 @@ CPacketStream::CPacketStream()
////////////////////////////////////////////////////////////////////////////////////////
// open / close
bool CPacketStream::Open(const CDvHeaderPacket &DvHeader, std::shared_ptr<CClient>client)
bool CPacketStream::OpenPacketStream(const CDvHeaderPacket &DvHeader, std::shared_ptr<CClient>client)
{
bool ok = false;
@ -58,16 +58,16 @@ bool CPacketStream::Open(const CDvHeaderPacket &DvHeader, std::shared_ptr<CClien
m_LastPacketTime.Now();
#ifdef TRANSCODER_IP
if (std::string::npos != std::string(TRANSCODED_MODULES).find(DvHeader.GetRpt2Module()))
m_CodecStream = g_Transcoder.GetStream(this, client->GetCodec());
m_CodecStream = g_Transcoder.GetCodecStream(this, client->GetCodec());
else
m_CodecStream = g_Transcoder.GetStream(this, CODEC_NONE);
m_CodecStream = g_Transcoder.GetCodecStream(this, CODEC_NONE);
#endif
ok = true;
}
return ok;
}
void CPacketStream::Close(void)
void CPacketStream::ClosePacketStream(void)
{
// update status
m_bOpen = false;

@ -45,8 +45,8 @@ public:
CPacketStream();
// open / close
bool Open(const CDvHeaderPacket &, std::shared_ptr<CClient>);
void Close(void);
bool OpenPacketStream(const CDvHeaderPacket &, std::shared_ptr<CClient>);
void ClosePacketStream(void);
// push & pop
void Push(std::unique_ptr<CPacket> packet);

@ -205,7 +205,7 @@ CPacketStream *CReflector::OpenStream(std::unique_ptr<CDvHeaderPacket> &DvHeader
stream->Lock();
// is it available ?
if ( stream->Open(*DvHeader, client) )
if ( stream->OpenPacketStream(*DvHeader, client) )
{
// stream open, mark client as master
// so that it can't be deleted
@ -272,7 +272,7 @@ void CReflector::CloseStream(CPacketStream *stream)
stream->Unlock();
// and stop the queue
stream->Close();
stream->ClosePacketStream();
}
}

@ -195,7 +195,7 @@ void CTranscoder::Task(void)
////////////////////////////////////////////////////////////////////////////////////////
// manage streams
std::shared_ptr<CCodecStream> CTranscoder::GetStream(CPacketStream *PacketStream, uint8 uiCodecIn)
std::shared_ptr<CCodecStream> CTranscoder::GetCodecStream(CPacketStream *PacketStream, uint8 uiCodecIn)
{
CBuffer Buffer;

@ -60,7 +60,7 @@ public:
bool IsConnected(void) const { return m_bConnected; }
// manage streams
std::shared_ptr<CCodecStream> GetStream(CPacketStream *, uint8);
std::shared_ptr<CCodecStream> GetCodecStream(CPacketStream *, uint8);
void ReleaseStream(std::shared_ptr<CCodecStream>);
// task

@ -36,12 +36,16 @@ const unsigned int NUM_OF_STATES = 16U;
const uint32_t M = 2U;
const unsigned int K = 5U;
CYSFConvolution::CYSFConvolution() : m_oldMetrics(m_metrics1), m_newMetrics(m_metrics2), m_dp(m_decisions) {}
CYSFConvolution::CYSFConvolution() : m_oldMetrics(nullptr), m_newMetrics(nullptr), m_dp(nullptr) {}
void CYSFConvolution::start()
{
for (int i=0; i<16; i++)
m_metrics1[i] = m_metrics2[i] = 0U;
memset(m_metrics1, 0, NUM_OF_STATES * sizeof(uint16_t));
memset(m_metrics2, 0, NUM_OF_STATES * sizeof(uint16_t));
m_oldMetrics = m_metrics1;
m_newMetrics = m_metrics2;
m_dp = m_decisions;
}
void CYSFConvolution::decode(uint8_t s0, uint8_t s1)

Loading…
Cancel
Save

Powered by TurnKey Linux.