|
VLC 4.0.0-dev
|
#include <vlc_vout_display.h>
Data Fields | |
| void(* | close )(vout_display_t *) |
| Destroys the display. | |
| void(* | prepare )(vout_display_t *, picture_t *pic, const struct vlc_render_subpicture *subpic, vlc_tick_t date) |
| Prepares a picture and an optional subpicture for display (optional). | |
| void(* | display )(vout_display_t *, picture_t *pic) |
| Displays a picture. | |
| int(* | set_display_size )(vout_display_t *, unsigned width, unsigned height) |
| Let the display module know the display size has changed. | |
| int(* | reset_pictures )(vout_display_t *, video_format_t *fmtp) |
| Reset the picture format handled by the module. | |
| int(* | set_viewpoint )(vout_display_t *, const vlc_viewpoint_t *vp) |
| Notifies a change of VR/360° viewpoint. | |
| void(* | set_icc_profile )(vout_display_t *, const vlc_icc_profile_t *prof) |
| Notifies a change in output ICC profile. | |
| int(* | update_format )(vout_display_t *, const video_format_t *fmt, vlc_video_context *ctx) |
| Notifies a change in the input format. | |
| int(* | change_source_projection )(vout_display_t *display, video_projection_mode_t projection) |
| Set the source projection used by the display. | |
| int(* | set_stereo )(vout_display_t *, vlc_stereoscopic_mode_t) |
| Notifies the new Stereoscopic 3D mode in vout_display_cfg_t changed. | |
| int(* | video_place_changed )(vout_display_t *, const struct vout_display_place_t *) |
| Let the display module know the placement of the video in the display changed. | |
| int(* | set_source_aspect )(vout_display_t *, const video_format_t *) |
| Notifies a change of the sample aspect ratio. | |
| int(* | set_source_crop )(vout_display_t *, const video_format_t *) |
| Notifies a change of the video crop values. | |
| int(* vlc_display_operations::change_source_projection) (vout_display_t *display, video_projection_mode_t projection) |
Set the source projection used by the display.
May be NULL.
| display | the display to change projection for |
| projection | the new projection mode considered for the source |
Referenced by vout_display_ChangeProjection().
| void(* vlc_display_operations::close) (vout_display_t *) |
Destroys the display.
Referenced by vout_display_Delete(), and vout_display_New().
| 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.
Referenced by RenderPicture(), vout_display_Display(), and vout_display_New().
| void(* vlc_display_operations::prepare) (vout_display_t *, picture_t *pic, const struct vlc_render_subpicture *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 vlc_display_operations::prepare and vlc_display_operations::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.
| pic | picture |
| subpic | subpicture to render over the picture |
| date | time when the picture is intended to be shown |
Referenced by RenderPicture(), vout_display_New(), and vout_display_Prepare().
| int(* vlc_display_operations::reset_pictures) (vout_display_t *, video_format_t *fmtp) |
Reset the picture format handled by the module.
This occurs after an error in vlc_display_operations::set_display_size, vlc_display_operations::set_source_aspect, vlc_display_operations::set_source_crop or vlc_display_operations::video_place_changed calls returns an error.
| ftmp | video format that the module expects as input |
Referenced by vout_display_Reset().
| int(* vlc_display_operations::set_display_size) (vout_display_t *, unsigned width, unsigned height) |
Let the display module know the display size has changed.
When the callback is NULL, it is considered as returning VLC_SUCCESS.
Referenced by vout_display_SetSize().
| void(* vlc_display_operations::set_icc_profile) (vout_display_t *, const vlc_icc_profile_t *prof) |
Notifies a change in output ICC profile.
May be NULL. Memory owned by the caller.
| prof | new ICC profile associated with display, or NULL for none |
Referenced by vout_SetDisplayIccProfile().
| int(* vlc_display_operations::set_source_aspect) (vout_display_t *, const video_format_t *) |
Notifies a change of the sample aspect ratio.
May be NULL.
When the callback is NULL, it is considered as returning VLC_SUCCESS.
Referenced by vout_SetSourceAspect().
| int(* vlc_display_operations::set_source_crop) (vout_display_t *, const video_format_t *) |
Notifies a change of the video crop values.
The cropping requested is stored by source video_format_t i_x/y_offset and i_visible_width/height
May be NULL.
When the callback is NULL, it is considered as returning VLC_SUCCESS.
Referenced by vout_UpdateSourceCrop().
| int(* vlc_display_operations::set_stereo) (vout_display_t *, vlc_stereoscopic_mode_t) |
Notifies the new Stereoscopic 3D mode in vout_display_cfg_t changed.
May be NULL.
| VLC_SUCCESS | if the display handled the change |
| VLC_EGENERIC | if the display handled the change was not handled |
Referenced by vout_SetDisplayStereo().
| int(* vlc_display_operations::set_viewpoint) (vout_display_t *, const vlc_viewpoint_t *vp) |
Notifies a change of VR/360° viewpoint.
May be NULL.
| vp | viewpoint to use on the next render |
Referenced by vout_SetDisplayViewpoint().
| int(* vlc_display_operations::update_format) (vout_display_t *, const video_format_t *fmt, vlc_video_context *ctx) |
Notifies a change in the input format.
The format size is not expected to change.
| fmt | the requested input format |
| ctx | the video context |
Referenced by vout_SetDisplayFormat().
| int(* vlc_display_operations::video_place_changed) (vout_display_t *, const struct vout_display_place_t *) |
Let the display module know the placement of the video in the display changed.
May be NULL.
This is always called from the same thread as prepare/display.
When the callback is NULL, it is considered as returning VLC_SUCCESS.
Referenced by vout_display_SetSize(), vout_SetDisplayFitting(), vout_SetDisplayZoom(), vout_SetSourceAspect(), and vout_UpdateSourceCrop().