aboutsummaryrefslogtreecommitdiff
path: root/src/capture/portal.c
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2024-07-19 22:08:04 +0200
committerdec05eba <dec05eba@protonmail.com>2024-07-19 22:08:04 +0200
commit637d306a243e83c797f4a818cb0342d9af564843 (patch)
tree723d6978da05606e1972baf1230d8e44a66392e1 /src/capture/portal.c
parent739fab83ba60087eb598a0fc8732c1bc7669b839 (diff)
Stop recording when pipewire target window is closed or when pressing close in the desktop environments record button
Diffstat (limited to 'src/capture/portal.c')
-rw-r--r--src/capture/portal.c13
1 files changed, 2 insertions, 11 deletions
diff --git a/src/capture/portal.c b/src/capture/portal.c
index 5af5163..aa73cd0 100644
--- a/src/capture/portal.c
+++ b/src/capture/portal.c
@@ -15,9 +15,6 @@
typedef struct {
gsr_capture_portal_params params;
- bool should_stop;
- bool stop_is_error;
-
unsigned int input_texture_id;
unsigned int cursor_texture_id;
@@ -328,16 +325,10 @@ static int gsr_capture_portal_capture(gsr_capture *cap, AVFrame *frame, gsr_colo
}
static bool gsr_capture_portal_should_stop(gsr_capture *cap, bool *err) {
- gsr_capture_portal *cap_portal = cap->priv;
- if(cap_portal->should_stop) {
- if(err)
- *err = cap_portal->stop_is_error;
- return true;
- }
-
+ gsr_capture_portal *self = cap->priv;
if(err)
*err = false;
- return false;
+ return gsr_pipewire_recording_stopped(&self->pipewire);
}
static void gsr_capture_portal_capture_end(gsr_capture *cap, AVFrame *frame) {