vaapi-recorder: Don't leak drm fd

Make vaapi_recorder take onwership of the fd and close it at destroy
time.
dev
Ander Conselvan de Oliveira 11 years ago committed by Kristian Høgsberg
parent b85ded0cb8
commit a62ef3e0b6
  1. 1
      src/compositor-drm.c
  2. 4
      src/vaapi-recorder.c

@ -2523,7 +2523,6 @@ recorder_binding(struct weston_seat *seat, uint32_t time, uint32_t key,
weston_log("[libva recorder] initialized\n");
} else {
vaapi_recorder_destroy(output->recorder);
/* FIXME: close drm fd passed to recorder */
output->recorder = NULL;
output->base.disable_planes--;

@ -87,7 +87,7 @@
#define PROFILE_IDC_HIGH 100
struct vaapi_recorder {
int output_fd;
int drm_fd, output_fd;
int width, height;
int frame_count;
@ -942,6 +942,7 @@ vaapi_recorder_create(int drm_fd, int width, int height, const char *filename)
r->width = width;
r->height = height;
r->drm_fd = drm_fd;
flags = O_WRONLY | O_CREAT | O_TRUNC | O_CLOEXEC;
r->output_fd = open(filename, flags, 0644);
@ -1000,6 +1001,7 @@ vaapi_recorder_destroy(struct vaapi_recorder *r)
vaTerminate(r->va_dpy);
close(r->output_fd);
close(r->drm_fd);
free(r);
}

Loading…
Cancel
Save