]> git.sesse.net Git - nageru/blobdiff - context.cpp
Support audio-only FFmpeg inputs. Somewhat wonky, though.
[nageru] / context.cpp
index 6ce57446b08983c670a3c7b7c99aaf452cc0fe61..eb62183a3b3a8c9c7c9065f6d212a21b92e8257e 100644 (file)
@@ -1,27 +1,35 @@
 #include <stdio.h>
 
+#include <string>
+
 #include <QGL>
 #include <QOffscreenSurface>
 #include <QOpenGLContext>
+#include <QSurface>
 #include <QSurfaceFormat>
 
-class QSurface;
-
 QGLWidget *global_share_widget = nullptr;
+bool using_egl = false;
+
+using namespace std;
 
 QSurface *create_surface(const QSurfaceFormat &format)
 {
        QOffscreenSurface *surface = new QOffscreenSurface;
        surface->setFormat(format);
-//     QWindow *surface = new QWindow;
        surface->create();
        if (!surface->isValid()) {
-               printf("ERROR: surface not valid!\n");
-//             abort();
+               fprintf(stderr, "ERROR: surface not valid!\n");
+               exit(1);
        }
        return surface;
 }
 
+QSurface *create_surface_with_same_format(const QSurface *surface)
+{
+       return create_surface(surface->format());
+}
+
 QOpenGLContext *create_context(const QSurface *surface)
 {
        QOpenGLContext *context = new QOpenGLContext;
@@ -35,3 +43,8 @@ bool make_current(QOpenGLContext *context, QSurface *surface)
 {
        return context->makeCurrent(surface);
 }
+
+void delete_context(QOpenGLContext *context)
+{
+       delete context;
+}