From a483b9086b5f8fb4eca3007f8e3e2e90a935c40e Mon Sep 17 00:00:00 2001 From: Tom Early Date: Thu, 23 Feb 2023 14:22:12 -0700 Subject: [PATCH] tracing some problems --- reflector/CodecStream.cpp | 40 +++++++++++++++++++++------------------ 1 file changed, 22 insertions(+), 18 deletions(-) diff --git a/reflector/CodecStream.cpp b/reflector/CodecStream.cpp index 0c30791..70e6b39 100644 --- a/reflector/CodecStream.cpp +++ b/reflector/CodecStream.cpp @@ -30,19 +30,6 @@ CCodecStream::CCodecStream(CPacketStream *PacketStream) m_PacketStream = PacketStream; } -void CCodecStream::ResetStats(uint16_t streamid, ECodecType type) -{ - keep_running = true; - m_uiStreamId = streamid; - m_uiPid = 0; - m_eCodecIn = type; - m_RTMin = -1; - m_RTMax = -1; - m_RTSum = 0; - m_RTCount = 0; - m_uiTotalPackets = 0; -} - //////////////////////////////////////////////////////////////////////////////////////// // destructor @@ -58,6 +45,19 @@ CCodecStream::~CCodecStream() m_TCReader.Close(); } +void CCodecStream::ResetStats(uint16_t streamid, ECodecType type) +{ + keep_running = true; + m_uiStreamId = streamid; + m_uiPid = 0; + m_eCodecIn = type; + m_RTMin = -1; + m_RTMax = -1; + m_RTSum = 0; + m_RTCount = 0; + m_uiTotalPackets = 0; +} + void CCodecStream::ReportStats() { // display stats @@ -133,6 +133,10 @@ void CCodecStream::Task(void) } m_RTSum += rt; m_RTCount++; +#ifdef DEBUG + if (0 == m_RTCount % 50) + ReportStats(); +#endif if ( m_LocalQueue.IsEmpty() ) { @@ -171,16 +175,16 @@ void CCodecStream::Task(void) // we need a CDvFramePacket pointer to access Frame stuff auto Frame = (CDvFramePacket *)Packet.get(); - // push to our local queue where it can wait for the transcoder - m_LocalQueue.Push(std::move(Packet)); - // update important stuff in Frame->m_TCPack for the transcoder - Frame->SetTCParams(m_uiTotalPackets++); // Frame still points to the packet + Frame->SetTCParams(m_uiTotalPackets++); // now send to transcoder m_TCWriter.Send(Frame->GetCodecPacket()); - // get the next packet + // push to our local queue where it can wait for the transcoder + m_LocalQueue.Push(std::move(Packet)); + + // get the next packet, if there is one Packet = m_Queue.Pop(); } }