#include <plugin.h>
Data Fields | |
bg_plugin_common_t | common |
Infos and functions common to all plugin types. | |
void(* | set_window )(void *priv, const char *window_id) |
Set window. | |
const char *(* | get_window )(void *priv) |
Get window. | |
void(* | set_window_title )(void *priv, const char *title) |
Set window title. | |
void(* | set_callbacks )(void *priv, bg_ov_callbacks_t *callbacks) |
Set callbacks. | |
int(* | open )(void *priv, gavl_video_format_t *format, int keep_aspect) |
Open plugin. | |
gavl_video_frame_t *(* | create_frame )(void *priv) |
Allocate a video frame. | |
int(* | add_overlay_stream )(void *priv, gavl_video_format_t *format) |
Add a stream for transparent overlays. | |
gavl_overlay_t *(* | create_overlay )(void *priv, int id) |
Allocate an overlay. | |
void(* | set_overlay )(void *priv, int stream, gavl_overlay_t *ovl) |
Set an overlay for a specific stream. | |
void(* | put_video )(void *priv, gavl_video_frame_t *frame) |
Display a frame of a video stream. | |
void(* | put_still )(void *priv, gavl_video_frame_t *frame) |
Display a still image. | |
void(* | handle_events )(void *priv) |
Get all events from the queue and handle them. | |
void(* | update_aspect )(void *priv, int pixel_width, int pixel_height) |
Update aspect ratio. | |
void(* | destroy_frame )(void *priv, gavl_video_frame_t *frame) |
Free a frame created with the create_frame() method. | |
void(* | destroy_overlay )(void *priv, int id, gavl_overlay_t *ovl) |
Free an overlay created with the create_overlay() method. | |
void(* | close )(void *priv) |
Close the plugin. | |
void(* | show_window )(void *priv, int show) |
Show or hide the window. |
This handles video output and still-image display. In a window based system, it will typically open a new window, which is owned by the plugin.
Infos and functions common to all plugin types.
void(* bg_ov_plugin_s::set_window)(void *priv, const char *window_id) |
Set window.
priv | The handle returned by the create() method | |
window | Window identifier |
const char*(* bg_ov_plugin_s::get_window)(void *priv) |
Get window.
priv | The handle returned by the create() method |
void(* bg_ov_plugin_s::set_window_title)(void *priv, const char *title) |
Set window title.
priv | The handle returned by the create() method | |
title | The title for the window |
void(* bg_ov_plugin_s::set_callbacks)(void *priv, bg_ov_callbacks_t *callbacks) |
Set callbacks.
priv | The handle returned by the create() method | |
callbacks | Callback structure initialized by the caller before |
int(* bg_ov_plugin_s::open)(void *priv, gavl_video_format_t *format, int keep_aspect) |
Open plugin.
priv | The handle returned by the create() method | |
format | Video format | |
window_title | Window title |
gavl_video_frame_t*(* bg_ov_plugin_s::create_frame)(void *priv) |
Allocate a video frame.
priv | The handle returned by the create() method |
int(* bg_ov_plugin_s::add_overlay_stream)(void *priv, gavl_video_format_t *format) |
Add a stream for transparent overlays.
priv | The handle returned by the create() method | |
format | Format of the overlays |
An application can have more than one overlay stream. Typical is one for subtitles and one for OSD.
gavl_overlay_t*(* bg_ov_plugin_s::create_overlay)(void *priv, int id) |
Allocate an overlay.
priv | The handle returned by the create() method | |
id | The id returned by the add_overlay_stream() method |
void(* bg_ov_plugin_s::set_overlay)(void *priv, int stream, gavl_overlay_t *ovl) |
Set an overlay for a specific stream.
priv | The handle returned by the create() method | |
stream | Stream index returned by add_overlay_stream() | |
ovl | New overlay or NULL |
void(* bg_ov_plugin_s::put_video)(void *priv, gavl_video_frame_t *frame) |
Display a frame of a video stream.
priv | The handle returned by the create() method | |
frame | Frame to display |
void(* bg_ov_plugin_s::put_still)(void *priv, gavl_video_frame_t *frame) |
Display a still image.
priv | The handle returned by the create() method | |
frame | Frame to display |
void(* bg_ov_plugin_s::handle_events)(void *priv) |
Get all events from the queue and handle them.
priv | The handle returned by the create() method |
void(* bg_ov_plugin_s::update_aspect)(void *priv, int pixel_width, int pixel_height) |
Update aspect ratio.
priv | The handle returned by the create() method | |
pixel_width | New pixel width | |
pixel_height | New pixel height |
void(* bg_ov_plugin_s::destroy_frame)(void *priv, gavl_video_frame_t *frame) |
Free a frame created with the create_frame() method.
priv | The handle returned by the create() method | |
frame | The frame to be freed |
void(* bg_ov_plugin_s::destroy_overlay)(void *priv, int id, gavl_overlay_t *ovl) |
Free an overlay created with the create_overlay() method.
priv | The handle returned by the create() method | |
id | The id returned by the add_overlay_stream() method | |
ovl | The overlay to be freed |
void(* bg_ov_plugin_s::close)(void *priv) |
Close the plugin.
priv | The handle returned by the create() method |
void(* bg_ov_plugin_s::show_window)(void *priv, int show) |
Show or hide the window.
priv | The handle returned by the create() method | |
show | 1 for showing, 0 for hiding |