aboutsummaryrefslogtreecommitdiff
path: root/include/capture/capture.h
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2024-07-21 19:12:06 +0200
committerdec05eba <dec05eba@protonmail.com>2024-07-21 19:12:06 +0200
commitf9a41041ec3c2f88033f1ec0dd32ed0270b75c2f (patch)
treea783b536336cccf9ad88e8db40ad1bd6a7283e65 /include/capture/capture.h
parent96e13fcd242917cae4391fca6990c1f7d9d93dae (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/capture.h')
-rw-r--r--include/capture/capture.h5
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);