1
0
forked from BRT/arc
arc/VideoReceiver.h
2025-05-24 15:19:27 +07:00

27 lines
601 B
C++

#pragma once
#include <QThread>
#include <QTcpSocket>
#include <QImage>
extern "C" {
#include <libavcodec/avcodec.h>
#include <libavutil/imgutils.h>
#include <libswscale/swscale.h>
}
class VideoReceiver : public QThread {
Q_OBJECT
public:
VideoReceiver(QObject* parent = nullptr);
~VideoReceiver() override;
signals:
void frameReady(const QImage& frame);
protected:
void run() override;
private:
AVCodecContext* m_codecCtx = nullptr;
AVCodecParserContext* m_parser = nullptr;
SwsContext* m_swsCtx = nullptr;
int m_dstWidth = 0;
int m_dstHeight = 0;
};