extern "C" {
-#include <libavformat/avformat.h>
+#include <libavformat/version.h>
+#include <libavutil/version.h>
}
#include <stdbool.h>
#include <stdio.h>
#ifdef HAVE_CEF
#include <cef_app.h>
-#include <cef_browser.h>
-#include <cef_client.h>
-#include <cef_version.h>
+#endif
+
+#ifdef HAVE_SRT
+#include <srt/srt.h>
#endif
#include "basic_stats.h"
#endif
#include "shared/context.h"
#include "flags.h"
-#include "image_input.h"
#include "mainwindow.h"
#include "mixer.h"
#include "quicksync_encoder.h"
global_flags.va_display = QuickSyncEncoder::get_usable_va_display();
}
+ // The OpenGL widgets do not work well with the native Wayland integration.
+ setenv("QT_QPA_PLATFORM", "xcb", 0);
+
if ((global_flags.va_display.empty() ||
global_flags.va_display[0] != '/') && !global_flags.x264_video_to_disk) {
// We normally use EGL for zerocopy, but if we use VA against DRM
av_register_all();
#endif
+#ifdef HAVE_SRT
+ if (global_flags.srt_port >= 0 || !global_flags.srt_destination_host.empty()) {
+ srt_startup();
+ }
+#endif
+
QCoreApplication::setAttribute(Qt::AA_ShareOpenGLContexts, true);
QSurfaceFormat fmt;
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;
int rc = app.exec();
delete global_mixer;
- ImageInput::shutdown_updaters();
+#ifdef HAVE_SRT
+ if (global_flags.srt_port >= 0) {
+ srt_cleanup();
+ }
+#endif
return rc;
}