diff options
author | dec05eba <dec05eba@protonmail.com> | 2023-07-22 23:12:08 +0200 |
---|---|---|
committer | dec05eba <dec05eba@protonmail.com> | 2023-07-22 23:22:51 +0200 |
commit | d45597e104fa3bd80a6f1922f2fdeaa6a0eff724 (patch) | |
tree | 55a291bb46ebd7061cbffb1f0fca2a75a6b39776 /src | |
parent | 9ca5b8ec3a818454ebb139ae9007184584aa2f5e (diff) |
Exit with exit code 10 if pkexec fails
Diffstat (limited to 'src')
-rw-r--r-- | src/capture/kms_cuda.c | 5 | ||||
-rw-r--r-- | src/capture/kms_vaapi.c | 5 | ||||
-rw-r--r-- | src/egl.c | 2 | ||||
-rw-r--r-- | src/main.cpp | 5 |
4 files changed, 11 insertions, 6 deletions
diff --git a/src/capture/kms_cuda.c b/src/capture/kms_cuda.c index e6fa42f..d6d8774 100644 --- a/src/capture/kms_cuda.c +++ b/src/capture/kms_cuda.c @@ -139,9 +139,10 @@ static int gsr_capture_kms_cuda_start(gsr_capture *cap, AVCodecContext *video_co } cap_kms->using_wayland_capture = true; } else { - if(gsr_kms_client_init(&cap_kms->kms_client, cap_kms->params.card_path) != 0) { + int kms_init_res = gsr_kms_client_init(&cap_kms->kms_client, cap_kms->params.card_path); + if(kms_init_res != 0) { gsr_capture_kms_cuda_stop(cap, video_codec_context); - return -1; + return kms_init_res; } MonitorCallbackUserdata monitor_callback_userdata = { diff --git a/src/capture/kms_vaapi.c b/src/capture/kms_vaapi.c index cc9aad9..04e9658 100644 --- a/src/capture/kms_vaapi.c +++ b/src/capture/kms_vaapi.c @@ -142,9 +142,10 @@ static int gsr_capture_kms_vaapi_start(gsr_capture *cap, AVCodecContext *video_c } cap_kms->using_wayland_capture = true; } else { - if(gsr_kms_client_init(&cap_kms->kms_client, cap_kms->params.card_path) != 0) { + int kms_init_res = gsr_kms_client_init(&cap_kms->kms_client, cap_kms->params.card_path); + if(kms_init_res != 0) { gsr_capture_kms_vaapi_stop(cap, video_codec_context); - return -1; + return kms_init_res; } MonitorCallbackUserdata monitor_callback_userdata = { @@ -536,6 +536,8 @@ void gsr_egl_unload(gsr_egl *self) { } bool gsr_egl_supports_wayland_capture(gsr_egl *self) { + // TODO: wlroots capture is broken right now (black screen) on amd and multiple monitors + // so it has to be disabled right now. Find out why it happens and fix it. (void)self; return false; //return !!self->wayland.export_manager && self->wayland.num_outputs > 0; diff --git a/src/main.cpp b/src/main.cpp index c5dd33f..22f929e 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1687,9 +1687,10 @@ int main(int argc, char **argv) { if(replay_buffer_size_secs == -1) video_stream = create_stream(av_format_context, video_codec_context); - if(gsr_capture_start(capture, video_codec_context) != 0) { + int capture_result = gsr_capture_start(capture, video_codec_context); + if(capture_result != 0) { fprintf(stderr, "gsr error: gsr_capture_start failed\n"); - _exit(1); + _exit(capture_result); } open_video(video_codec_context, quality, very_old_gpu, gpu_inf.vendor, pixel_format); |