90#ifndef _VIDEO_DISPLAY_H
91#define _VIDEO_DISPLAY_H
109#define DISPLAY_FLAG_AUDIO_EMBEDDED (1<<1)
110#define DISPLAY_FLAG_AUDIO_AESEBU (1<<2)
111#define DISPLAY_FLAG_AUDIO_ANALOG (1<<3)
113#define DISPLAY_FLAG_AUDIO_ANY (DISPLAY_FLAG_AUDIO_EMBEDDED | DISPLAY_FLAG_AUDIO_AESEBU | DISPLAY_FLAG_AUDIO_ANALOG)
140#define PITCH_DEFAULT -1
149#define VIDEO_DISPLAY_ABI_VERSION 21
151#define DISPLAY_NO_GENERIC_FPS_INDICATOR ((const char *) 0x00)
178 const char *requested_display,
const char *
fmt,
179 unsigned int flags,
const char *postprocess,
struct display **out);
189#define PUTF_DISCARD (-1LL)
190#define PUTF_NONBLOCK 0LL
191#define PUTF_BLOCKING LLONG_MAX
struct video_frame * frame
const char unsigned int flags
bool display_reconfigure_audio(struct display *d, int quant_samples, int channels, int sample_rate)
void display_put_audio_frame(struct display *d, const struct audio_frame *frame)
Puts audio data.
bool display_put_frame(struct display *d, struct video_frame *frame, long long timeout_ns)
}
bool display_reconfigure(struct display *d, struct video_desc desc, enum video_mode mode)
void display_run_mainloop(struct display *d)
Display mainloop function.
bool display_ctl_property(struct display *d, int property, void *val, size_t *len)
Get/set property (similar to ioctl)
void display_run_new_thread(struct display *d)
const char * get_audio_conn_flag_name(int audio_init_flag)
bool display_needs_mainloop(struct display *d)
struct video_frame * get_splashscreen(void)
void display_done(struct display *d)
This function performs cleanup after done.
void display_join(struct display *d)
int initialize_video_display(struct module *parent, const char *requested_display, const char *fmt, unsigned int flags, const char *postprocess, struct display **out)
Initializes video display.
void list_video_display_devices(bool full)
struct video_frame * display_get_frame(struct display *d)
Returns video framebuffer which will be written to.
@ DISPLAY_PROPERTY_BUF_PITCH
requested framebuffer pitch - int (bytes), may be PITCH_DEFAULT
@ DISPLAY_PROPERTY_SUPPORTS_MULTI_SOURCES
@ DISPLAY_PROPERTY_RGB_SHIFT
red,green,blue shift - int[3] (bits)
@ DISPLAY_PROPERTY_SUPPORTED_IL_MODES
display supported interlacing modes - enum interlacing_t[]
@ DISPLAY_PROPERTY_VIDEO_MODE
requested video mode - int (one of display_prop_vid_mode)
@ DISPLAY_PROPERTY_CODECS
list of natively supported codecs - codec_t[]
@ DISPLAY_PROPERTY_AUDIO_FORMAT
@ DISPLAY_PROPERTY_VIDEO_SEPARATE_TILES
framebuffer consists of separate tiles
@ DISPLAY_PROPERTY_VIDEO_MERGED
monolithic framebuffer
@ DISPLAY_PROPERTY_VIDEO_SEPARATE_3D
same as MERGED but 2 streams should be handled as separate 3D tiles
struct used to comunicate with audio capture/playback device
This struct represents initialized video display state.
void(* run)(void *state)
callback to display main event loop; may be NULL
void(* put_audio_frame)(void *state, const struct audio_frame *frame)
may be NULL
bool(* reconfigure_video)(void *state, struct video_desc desc)
bool(* putf)(void *state, struct video_frame *frame, long long timeout_ns)
const char * generic_fps_indicator_prefix
NO_GENERIC_FPS_INDICATOR or pointer to preferred module name.
bool(* reconfigure_audio)(void *state, int quant_samples, int channels, int sample_rate)
bool(* ctl_property)(void *state, int property, void *val, size_t *len)
void(* done)(void *state)
Struct video_frame represents a video frame and contains video description.
This file contains some common data types.
void(* device_probe_func)(struct device_info **available_cards, int *count, void(**deleter)(void *))