mirror of
https://repo.dec05eba.com/gpu-screen-recorder
synced 2026-05-07 07:16:21 +09:00
Set update fps to video fps, on x11 sync video to damage tracking
This commit is contained in:
@@ -4,6 +4,7 @@
|
||||
#include "../color_conversion.h"
|
||||
#include <stdbool.h>
|
||||
#include <stddef.h>
|
||||
#include <stdint.h>
|
||||
|
||||
typedef struct AVCodecContext AVCodecContext;
|
||||
typedef struct AVStream AVStream;
|
||||
@@ -15,15 +16,15 @@ typedef struct AVContentLightMetadata AVContentLightMetadata;
|
||||
struct gsr_capture {
|
||||
/* These methods should not be called manually. Call gsr_capture_* instead */
|
||||
int (*start)(gsr_capture *cap, AVCodecContext *video_codec_context, AVFrame *frame);
|
||||
void (*tick)(gsr_capture *cap, AVCodecContext *video_codec_context); /* can be NULL */
|
||||
bool (*is_damaged)(gsr_capture *cap); /* can be NULL */
|
||||
void (*clear_damage)(gsr_capture *cap); /* can be NULL */
|
||||
void (*on_event)(gsr_capture *cap, gsr_egl *egl); /* can be NULL */
|
||||
void (*tick)(gsr_capture *cap, AVCodecContext *video_codec_context); /* can be NULL. If there is an event then |on_event| is called before this */
|
||||
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);
|
||||
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 */
|
||||
bool (*set_hdr_metadata)(gsr_capture *cap, AVMasteringDisplayMetadata *mastering_display_metadata, AVContentLightMetadata *light_metadata); /* can be NULL. If NULL, return false */
|
||||
uint64_t (*get_window_id)(gsr_capture *cap); /* can be NULL. Returns 0 if unknown */
|
||||
void (*destroy)(gsr_capture *cap, AVCodecContext *video_codec_context);
|
||||
|
||||
void *priv; /* can be NULL */
|
||||
@@ -31,6 +32,7 @@ struct gsr_capture {
|
||||
};
|
||||
|
||||
int gsr_capture_start(gsr_capture *cap, AVCodecContext *video_codec_context, AVFrame *frame);
|
||||
void gsr_capture_on_event(gsr_capture *cap, gsr_egl *egl);
|
||||
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);
|
||||
|
||||
@@ -11,7 +11,6 @@ typedef struct {
|
||||
vec2i region_size; /* This is currently only used with |follow_focused| */
|
||||
gsr_color_range color_range;
|
||||
bool record_cursor;
|
||||
bool track_damage;
|
||||
gsr_color_depth color_depth;
|
||||
} gsr_capture_xcomposite_params;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user