mirror of
https://git.sr.ht/~thestr4ng3r/chiaki
synced 2025-07-30 11:40:26 -07:00
Fix Surface for EGL (Fix #71)
This commit is contained in:
parent
dbd91246af
commit
090c37fb0a
2 changed files with 8 additions and 1 deletions
|
@ -32,6 +32,7 @@ extern "C"
|
|||
|
||||
class VideoDecoder;
|
||||
class AVOpenGLFrameUploader;
|
||||
class QOffscreenSurface;
|
||||
|
||||
struct PlaneConfig
|
||||
{
|
||||
|
@ -76,6 +77,7 @@ class AVOpenGLWidget: public QOpenGLWidget
|
|||
AVOpenGLFrame frames[2];
|
||||
int frame_fg;
|
||||
QMutex frames_mutex;
|
||||
QOffscreenSurface *frame_uploader_surface;
|
||||
QOpenGLContext *frame_uploader_context;
|
||||
AVOpenGLFrameUploader *frame_uploader;
|
||||
QThread *frame_uploader_thread;
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
#include <videodecoder.h>
|
||||
#include <avopenglframeuploader.h>
|
||||
|
||||
#include <QOffscreenSurface>
|
||||
#include <QOpenGLContext>
|
||||
#include <QOpenGLExtraFunctions>
|
||||
#include <QOpenGLDebugLogger>
|
||||
|
@ -177,6 +178,7 @@ AVOpenGLWidget::~AVOpenGLWidget()
|
|||
}
|
||||
delete frame_uploader;
|
||||
delete frame_uploader_context;
|
||||
delete frame_uploader_surface;
|
||||
}
|
||||
|
||||
void AVOpenGLWidget::mouseMoveEvent(QMouseEvent *event)
|
||||
|
@ -363,7 +365,10 @@ void AVOpenGLWidget::initializeGL()
|
|||
return;
|
||||
}
|
||||
|
||||
frame_uploader = new AVOpenGLFrameUploader(decoder, this, frame_uploader_context, context()->surface());
|
||||
frame_uploader_surface = new QOffscreenSurface();
|
||||
frame_uploader_surface->setFormat(context()->format());
|
||||
frame_uploader_surface->create();
|
||||
frame_uploader = new AVOpenGLFrameUploader(decoder, this, frame_uploader_context, frame_uploader_surface);
|
||||
frame_fg = 0;
|
||||
|
||||
frame_uploader_thread = new QThread(this);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue