VLC  4.0.0-dev
Data Fields
vlc_display_operations Struct Reference

Data Fields

void(* close )(vout_display_t *)
 Destroys the display. More...
 
void(* prepare )(vout_display_t *, picture_t *pic, subpicture_t *subpic, vlc_tick_t date)
 Prepares a picture and an optional subpicture for display (optional). More...
 
void(* display )(vout_display_t *, picture_t *pic)
 Displays a picture. More...
 
int(* control )(vout_display_t *, int query)
 Performs a control request (mandatory). More...
 
int(* reset_pictures )(vout_display_t *, video_format_t *fmtp)
 Reset the picture format handled by the module. More...
 
int(* set_viewpoint )(vout_display_t *, const vlc_viewpoint_t *vp)
 Notifies a change of VR/360° viewpoint. More...
 

Field Documentation

◆ close

void(* vlc_display_operations::close) (vout_display_t *)

Destroys the display.

Referenced by vout_display_Delete(), and vout_display_New().

◆ control

int(* vlc_display_operations::control) (vout_display_t *, int query)

Performs a control request (mandatory).

Parameters
queryrequest type

See vout_display_query for the list of request types.

Referenced by vout_display_Control().

◆ display

void(* vlc_display_operations::display) (vout_display_t *, picture_t *pic)

Displays a picture.

This callback is invoked at the time when the picture should be shown. The picture must be displayed as soon as possible.

If NULL, prepare must be valid. In that case, the plugin can handle asynchronous display at the time given by the prepare call.

Note
The picture buffers may have multiple references. Therefore the pixel content of the picture or of the subpicture must not be changed.

Referenced by RenderPicture(), and vout_display_Display().

◆ prepare

void(* vlc_display_operations::prepare) (vout_display_t *, picture_t *pic, subpicture_t *subpic, vlc_tick_t date)

Prepares a picture and an optional subpicture for display (optional).

This callback is called once a picture buffer content is ready, as far in advance as possible to the intended display time, but only after the previous picture was displayed.

The callback should perform any preprocessing operation that will not actually cause the picture to be shown, such as blending the subpicture or upload the picture to video memory. If supported, this can also queue the picture to be shown asynchronously at the given date.

If prepare and display are not NULL, there is an implicit guarantee that display will be invoked with the exact same picture afterwards: prepare 1st picture, display 1st picture, prepare 2nd picture, display 2nd picture, and so on.

Note
The picture buffers may have multiple references. Therefore the pixel content of the picture or of the subpicture must not be changed.
Parameters
picpicture
subpicsubpicture to render over the picture
datetime when the picture is intended to be shown

Referenced by RenderPicture(), and vout_display_Prepare().

◆ reset_pictures

int(* vlc_display_operations::reset_pictures) (vout_display_t *, video_format_t *fmtp)

Reset the picture format handled by the module.

This occurs after a VOUT_DISPLAY_CHANGE_DISPLAY_SIZE, VOUT_DISPLAY_CHANGE_DISPLAY_FILLED, VOUT_DISPLAY_CHANGE_ZOOM, VOUT_DISPLAY_CHANGE_SOURCE_ASPECT or VOUT_DISPLAY_CHANGE_SOURCE_CROP control query returns an error.

Parameters
ftmpvideo format that the module expects as input

Referenced by vout_display_Reset().

◆ set_viewpoint

int(* vlc_display_operations::set_viewpoint) (vout_display_t *, const vlc_viewpoint_t *vp)

Notifies a change of VR/360° viewpoint.

May be NULL.

Parameters
vpviewpoint to use on the next render

Referenced by vout_SetDisplayViewpoint().


The documentation for this struct was generated from the following file: