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.
parse_flags(PROGRAM_NAGERU, argc, 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();
}
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);
// 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);