X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=nageru%2Fmain.cpp;h=212c0691211a58d1e30dd816eed595dc3409c466;hb=c2bcdbf9160cc9d29e6a28c53aa71cf857ab1eec;hp=c1a52c0489a6d7b4e9054da338635290846cf1cb;hpb=392f9d1ccb835c05a3874c4bea163788b2c37024;p=nageru diff --git a/nageru/main.cpp b/nageru/main.cpp index c1a52c0..212c069 100644 --- a/nageru/main.cpp +++ b/nageru/main.cpp @@ -20,11 +20,15 @@ extern "C" { #include #endif +#ifdef HAVE_SRT +#include +#endif + #include "basic_stats.h" #ifdef HAVE_CEF #include "nageru_cef_app.h" #endif -#include "context.h" +#include "shared/context.h" #include "flags.h" #include "image_input.h" #include "mainwindow.h" @@ -68,13 +72,18 @@ int main(int argc, char *argv[]) // 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); - using_egl = true; } setlinebuf(stdout); #if LIBAVFORMAT_VERSION_INT < AV_VERSION_INT(58, 9, 100) av_register_all(); #endif +#ifdef HAVE_SRT + if (global_flags.srt_port >= 0) { + srt_startup(); + } +#endif + QCoreApplication::setAttribute(Qt::AA_ShareOpenGLContexts, true); QSurfaceFormat fmt; @@ -96,7 +105,7 @@ int main(int argc, char *argv[]) global_share_widget = new QGLWidget(); if (!global_share_widget->isValid()) { fprintf(stderr, "Failed to initialize OpenGL. Nageru needs at least OpenGL 3.1 to function properly.\n"); - exit(1); + abort(); } MainWindow mainWindow; @@ -120,9 +129,11 @@ int main(int argc, char *argv[]) } int rc = app.exec(); - global_mixer->quit(); - mainWindow.mixer_shutting_down(); delete global_mixer; - ImageInput::shutdown_updaters(); +#ifdef HAVE_SRT + if (global_flags.srt_port >= 0) { + srt_cleanup(); + } +#endif return rc; }