]> git.sesse.net Git - nageru/commitdiff
Unbreak --record-x264-video.
authorSteinar H. Gunderson <sgunderson@bigfoot.com>
Sat, 1 Sep 2018 19:36:26 +0000 (21:36 +0200)
committerSteinar H. Gunderson <sgunderson@bigfoot.com>
Sat, 1 Sep 2018 19:44:00 +0000 (21:44 +0200)
The autodetection of VA-API devices introduced in 1.7.2 would run (and halt
Nageru) even if --record-x264-video was given, ironically recommending
--record-x264-video as a workaround. Fix by disabling it if we don't need
VA-API.

Bug reported by Peter De Schrijver.

main.cpp

index 023424191ea6af800af0e219e56794adb19a5c30..745fb86f797f6b450f1bcc86220bdc1c8527defa 100644 (file)
--- a/main.cpp
+++ b/main.cpp
@@ -56,15 +56,15 @@ int main(int argc, char *argv[])
 
        parse_flags(PROGRAM_NAGERU, argc, argv);
 
-       if (global_flags.va_display.empty()) {
-               // The user didn't specify a VA-API display. See if the default works,
-               // and if not, let's try to help the user by seeing if there's any
-               // that would work automatically.
+       if (global_flags.va_display.empty() && !global_flags.x264_video_to_disk) {
+               // The user didn't specify a VA-API display, but we need one.
+               // See if the default works, and if not, let's try to help
+               // the user by seeing if there's any that would work automatically.
                global_flags.va_display = QuickSyncEncoder::get_usable_va_display();
        }
 
-       if (global_flags.va_display.empty() ||
-           global_flags.va_display[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
                // instead of against X11, we turn it off, and then don't need EGL.
                setenv("QT_XCB_GL_INTEGRATION", "xcb_egl", 0);