diff options
author | dec05eba <dec05eba@protonmail.com> | 2024-07-21 19:12:06 +0200 |
---|---|---|
committer | dec05eba <dec05eba@protonmail.com> | 2024-07-21 19:12:06 +0200 |
commit | f9a41041ec3c2f88033f1ec0dd32ed0270b75c2f (patch) | |
tree | a783b536336cccf9ad88e8db40ad1bd6a7283e65 /include/capture | |
parent | 96e13fcd242917cae4391fca6990c1f7d9d93dae (diff) |
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
Diffstat (limited to 'include/capture')
-rw-r--r-- | include/capture/capture.h | 5 |
1 files changed, 3 insertions, 2 deletions
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 <stdbool.h> 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); |