1.更新MDNS广播的服务类型命名规范,防止出现多设备打开找不到MDNS的广播的问题 2.更新区分前后板的TAG

This commit is contained in:
2024-09-02 10:22:41 +08:00
parent e0c1e37191
commit 09c5843358
22 changed files with 501 additions and 304 deletions

View File

@@ -14,8 +14,10 @@
#include <QWaitCondition>
#include <cstdint>
#include <vector>
#include <QDir>
#include "RingBuffer.h"
#include "FocusWindow.h"
extern "C" {
#include <libavcodec/avcodec.h>
@@ -38,9 +40,10 @@ public:
void initialize();
void decodeFile(const QString& filePath, QLabel* videoLabel);
void decodeSingleFrame(const QByteArray& data, QLabel* videoLabel); // 添加 videoLabel 参数
void FFmpegDecoder::processVideo(int itemIndex);
bool initializeFFmpeg(const QString& filePath);
void cleanup();
void stopFFmpegDecoder();
protected:
void run() override;
@@ -48,19 +51,19 @@ protected:
private:
QImage avFrameToQImage(AVFrame* frame);
QMutex mutex;
QWaitCondition condition;
QString filePath;
QLabel* videoLabel;
bool abort;
bool restart;
QMutex mutex;
QWaitCondition condition;
QString filePath;
QLabel* videoLabel;
bool abort;
bool restart;
AVFormatContext* formatContext;
AVCodecContext* codecContext;
AVFrame* frame;
AVPacket* packet;
SwsContext* swsContext;
int videoStreamIndex;
AVCodecContext* codecContext;
AVFrame* frame;
AVPacket* packet;
SwsContext* swsContext;
int videoStreamIndex;
RingBuffer* ringBuffer;
//QLabel* singleFrameLabel; // 用于解码单帧的标签