X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=main.cpp;h=a0d8f669ca083085deaca67119451303cd7226a4;hb=7017a3bd997cbf5d7c327187afecfecd610bf24d;hp=f28b859fd842bdc501d238eccc743bf6667b5545;hpb=d62349fd118e89b16adfc5478c73cd8e10136364;p=nageru diff --git a/main.cpp b/main.cpp index f28b859..a0d8f66 100644 --- a/main.cpp +++ b/main.cpp @@ -14,15 +14,22 @@ extern "C" { #include "context.h" #include "flags.h" +#include "image_input.h" #include "mainwindow.h" #include "mixer.h" int main(int argc, char *argv[]) { - setenv("QT_XCB_GL_INTEGRATION", "xcb_egl", 0); + parse_flags(argc, argv); + + if (global_flags.va_display.empty() || + global_flags.va_display[0] != '/') { + // We normally use EGL for zerocopy, but if we use VA against DRM + // instead of against X11, we turn it off, and then don't need EGL. + setenv("QT_XCB_GL_INTEGRATION", "xcb_egl", 0); + } setlinebuf(stdout); av_register_all(); - parse_flags(argc, argv); QCoreApplication::setAttribute(Qt::AA_ShareOpenGLContexts, true); QApplication app(argc, argv); @@ -49,5 +56,6 @@ int main(int argc, char *argv[]) global_mixer->quit(); mainWindow.mixer_shutting_down(); delete global_mixer; + ImageInput::shutdown_updaters(); return rc; }