From f401f2dcf2d753e0c2cb45b0ba96a865da3f042a Mon Sep 17 00:00:00 2001 From: Barry <870709864@qq.com> Date: Tue, 18 Jun 2019 14:49:18 +0800 Subject: [PATCH] =?UTF-8?q?update:=20VideoForm=E6=88=90=E5=91=98=E5=8F=98?= =?UTF-8?q?=E9=87=8Fm=5Fvb=E6=94=B9=E4=B8=BA=E5=A0=86=E4=B8=8A=E5=88=9B?= =?UTF-8?q?=E5=BB=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- QtScrcpy/decoder/stream.cpp | 2 +- QtScrcpy/decoder/stream.h | 2 +- QtScrcpy/videoform.cpp | 14 ++++++++------ QtScrcpy/videoform.h | 4 ++-- 4 files changed, 12 insertions(+), 10 deletions(-) diff --git a/QtScrcpy/decoder/stream.cpp b/QtScrcpy/decoder/stream.cpp index f114071..95e1845 100644 --- a/QtScrcpy/decoder/stream.cpp +++ b/QtScrcpy/decoder/stream.cpp @@ -363,5 +363,5 @@ runQuit: avcodec_free_context(&codecCtx); } - emit onDecodeStop(); + emit onStreamStop(); } diff --git a/QtScrcpy/decoder/stream.h b/QtScrcpy/decoder/stream.h index b51eb39..1f0b043 100644 --- a/QtScrcpy/decoder/stream.h +++ b/QtScrcpy/decoder/stream.h @@ -46,7 +46,7 @@ public: ReceiverState* getReceiverState(); signals: - void onDecodeStop(); + void onStreamStop(); protected: void run(); diff --git a/QtScrcpy/videoform.cpp b/QtScrcpy/videoform.cpp index 0e22e93..b707dc0 100644 --- a/QtScrcpy/videoform.cpp +++ b/QtScrcpy/videoform.cpp @@ -14,6 +14,7 @@ #include "videoform.h" #include "recorder.h" +#include "videobuffer.h" #include "ui_videoform.h" #include "iconhelper.h" #include "toolform.h" @@ -31,8 +32,9 @@ VideoForm::VideoForm(const QString& serial, quint16 maxSize, quint32 bitRate, co initUI(); m_server = new Server(); - m_vb.init(); - m_decoder.setVideoBuffer(&m_vb); + m_vb = new VideoBuffer(); + m_vb->init(); + m_decoder.setVideoBuffer(m_vb); m_stream.setDecoder(&m_decoder); if (!fileName.trimmed().isEmpty()) { m_recorder = new Recorder(fileName.trimmed()); @@ -69,7 +71,7 @@ VideoForm::~VideoForm() if (m_recorder) { delete m_recorder; } - m_vb.deInit(); + m_vb->deInit(); delete ui; } @@ -194,13 +196,13 @@ void VideoForm::initSignals() } ui->videoWidget->show(); } - m_vb.lock(); - const AVFrame *frame = m_vb.consumeRenderedFrame(); + m_vb->lock(); + const AVFrame *frame = m_vb->consumeRenderedFrame(); //qDebug() << "widthxheight:" << frame->width << "x" << frame->height; updateShowSize(QSize(frame->width, frame->height)); ui->videoWidget->setFrameSize(QSize(frame->width, frame->height)); ui->videoWidget->updateTextures(frame->data[0], frame->data[1], frame->data[2], frame->linesize[0], frame->linesize[1], frame->linesize[2]); - m_vb.unLock(); + m_vb->unLock(); },Qt::QueuedConnection); } diff --git a/QtScrcpy/videoform.h b/QtScrcpy/videoform.h index 9744884..60a7939 100644 --- a/QtScrcpy/videoform.h +++ b/QtScrcpy/videoform.h @@ -7,7 +7,6 @@ #include "server.h" #include "stream.h" -#include "videobuffer.h" #include "decoder.h" #include "inputconvertnormal.h" #include "inputconvertgame.h" @@ -19,6 +18,7 @@ class videoForm; class ToolForm; class Recorder; +class VideoBuffer; class VideoForm : public QWidget { Q_OBJECT @@ -72,7 +72,7 @@ private: QSize frameSize; Server* m_server = Q_NULLPTR; Stream m_stream; - VideoBuffer m_vb; + VideoBuffer* m_vb; //InputConvertNormal m_inputConvert; InputConvertGame m_inputConvert; FileHandler m_fileHandler;