62 struct vidcap *device = NULL;
65 char desc[] =
TRED(
TBOLD(
"screen"))
" capture in Linux abstracts X11/PipeWire screen capture and tries to select "
66 "the right implementation. You can also specify directly " TBOLD(
"screen_x11")
" or " TBOLD(
"screen_pw")
".";
75 printf(
"\n\nFollows help for the module that would have been selected:\n\n");
79 if (getenv(
"WAYLAND_DISPLAY") != NULL) {
84 error_msg(
"screen_pw initialization failed\n");
92 if (getenv(
"DISPLAY") == NULL) {
struct audio_frame ** audio
int void(** deleter)(void *))
int color_printf(const char *format,...)
void log_msg(int level, const char *format,...)
#define LOG_LEVEL_WARNING
less severe errors
struct video_frame * vidcap_grab(struct vidcap *state, struct audio_frame **audio)
Grabs video frame. This function may block for a short period if waiting for incoming frame....
int initialize_video_capture(struct module *parent, struct vidcap_params *param, struct vidcap **state)
Initializes video capture.
void vidcap_done(struct vidcap *state)
Destroys vidap state.
#define VIDEO_CAPTURE_ABI_VERSION
@ LIBRARY_CLASS_VIDEO_CAPTURE
#define REGISTER_MODULE(name, info, lclass, abi)
Registers module to global modules' registry.
static int vidcap_screen_linux_init(struct vidcap_params *params, void **state)
static const struct video_capture_info vidcap_screen_linux_info
static void vidcap_screen_linux_probe(struct device_info **cards, int *count, void(**deleter)(void *))
static struct video_frame * vidcap_screen_linux_grab(void *state, struct audio_frame **audio)
static void vidcap_screen_linux_done(void *state)
struct used to comunicate with audio capture/playback device
This struct represents video capture state.
Struct video_frame represents a video frame and contains video description.
char * wrap_paragraph(char *text)
void vidcap_params_set_driver(struct vidcap_params *params, const char *driver)
void vidcap_params_free_struct(struct vidcap_params *buf)
struct vidcap_params * vidcap_params_copy(const struct vidcap_params *params)
const char * vidcap_params_get_fmt(const struct vidcap_params *params)