From f9a41041ec3c2f88033f1ec0dd32ed0270b75c2f Mon Sep 17 00:00:00 2001 From: dec05eba Date: Sun, 21 Jul 2024 19:12:06 +0200 Subject: Fix HDR capture (HDR metadata is now correct). Note that HDR capture is only available on Wayland and when recording a monitor without the desktop portal option --- include/capture/capture.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'include') diff --git a/include/capture/capture.h b/include/capture/capture.h index 026a955..1e7b25f 100644 --- a/include/capture/capture.h +++ b/include/capture/capture.h @@ -5,6 +5,7 @@ #include typedef struct AVCodecContext AVCodecContext; +typedef struct AVStream AVStream; typedef struct AVFrame AVFrame; typedef struct gsr_capture gsr_capture; @@ -15,7 +16,7 @@ struct gsr_capture { bool (*is_damaged)(gsr_capture *cap); /* can be NULL */ void (*clear_damage)(gsr_capture *cap); /* can be NULL */ bool (*should_stop)(gsr_capture *cap, bool *err); /* can be NULL. If NULL, return false */ - int (*capture)(gsr_capture *cap, AVFrame *frame, gsr_color_conversion *color_conversion); + int (*capture)(gsr_capture *cap, AVStream *video_stream, AVFrame *frame, gsr_color_conversion *color_conversion); void (*capture_end)(gsr_capture *cap, AVFrame *frame); /* can be NULL */ gsr_source_color (*get_source_color)(gsr_capture *cap); bool (*uses_external_image)(gsr_capture *cap); /* can be NULL. If NULL, return false */ @@ -28,7 +29,7 @@ struct gsr_capture { int gsr_capture_start(gsr_capture *cap, AVCodecContext *video_codec_context, AVFrame *frame); void gsr_capture_tick(gsr_capture *cap, AVCodecContext *video_codec_context); bool gsr_capture_should_stop(gsr_capture *cap, bool *err); -int gsr_capture_capture(gsr_capture *cap, AVFrame *frame, gsr_color_conversion *color_conversion); +int gsr_capture_capture(gsr_capture *cap, AVStream *video_stream, AVFrame *frame, gsr_color_conversion *color_conversion); void gsr_capture_capture_end(gsr_capture *cap, AVFrame *frame); gsr_source_color gsr_capture_get_source_color(gsr_capture *cap); bool gsr_capture_uses_external_image(gsr_capture *cap); -- cgit v1.2.3