27 lines
601 B
C++
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;
|
|
}; |