Enable log information. Disable NPU in U9
This commit is contained in:
@@ -15,8 +15,18 @@
|
||||
#include <opencv2/highgui.hpp>
|
||||
#include <opencv2/opencv.hpp>
|
||||
#include <turbojpeg.h>
|
||||
#include <atomic>
|
||||
#include <chrono>
|
||||
|
||||
// Leak diagnostics — net counters surfaced in MEDIA_Leak heartbeat.
|
||||
// Defined in video_player.cpp; also incremented from FrameQueue here.
|
||||
extern std::atomic<int64_t> g_queueClones; // av_frame_clone from FrameQueue
|
||||
extern std::atomic<int64_t> g_queueFrees; // av_frame_free from FrameQueue
|
||||
extern std::atomic<int64_t> g_nv12Clones; // m_currentNV12Frame = av_frame_clone
|
||||
extern std::atomic<int64_t> g_nv12Frees; // av_frame_free(&m_currentNV12Frame)
|
||||
extern std::atomic<int64_t> g_cudaHWClones; // m_currentCudaHWFrame = clone
|
||||
extern std::atomic<int64_t> g_cudaHWFrees; // av_frame_free(&m_currentCudaHWFrame)
|
||||
|
||||
typedef struct
|
||||
{
|
||||
uint32 SyncTimestamp;
|
||||
@@ -46,6 +56,7 @@ public:
|
||||
std::cerr << "Failed to clone AVFrame!" << std::endl;
|
||||
return;
|
||||
}
|
||||
g_queueClones.fetch_add(1, std::memory_order_relaxed);
|
||||
|
||||
frameQueue.push(frameCopy);
|
||||
m_frameSeq++; // New frame arrived
|
||||
@@ -55,6 +66,7 @@ public:
|
||||
AVFrame* oldFrame = frameQueue.front();
|
||||
frameQueue.pop();
|
||||
av_frame_free(&oldFrame);
|
||||
g_queueFrees.fetch_add(1, std::memory_order_relaxed);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -73,7 +85,15 @@ public:
|
||||
}
|
||||
|
||||
// Clone the latest frame before returning it
|
||||
return av_frame_clone(frameQueue.back());
|
||||
AVFrame* clone = av_frame_clone(frameQueue.back());
|
||||
if (clone) g_queueClones.fetch_add(1, std::memory_order_relaxed);
|
||||
return clone;
|
||||
}
|
||||
|
||||
// Current depth — snapshot used by the leak heartbeat.
|
||||
size_t size() {
|
||||
std::lock_guard<std::mutex> lock(queueMutex);
|
||||
return frameQueue.size();
|
||||
}
|
||||
|
||||
// Retrieve and remove the oldest frame from the queue
|
||||
@@ -102,6 +122,7 @@ public:
|
||||
AVFrame* frame = frameQueue.front();
|
||||
frameQueue.pop();
|
||||
av_frame_free(&frame);
|
||||
g_queueFrees.fetch_add(1, std::memory_order_relaxed);
|
||||
}
|
||||
m_frameSeq = 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user