* The cropping requested is stored by video_format_t::i_x/y_offset and
* video_format_t::i_visible_width/height */
VOUT_DISPLAY_CHANGE_SOURCE_CROP, /* const video_format_t *p_source */
-
- /* Ask an opengl interface if available. */
- VOUT_DISPLAY_GET_OPENGL, /* vlc_gl_t ** */
};
/**
VLC_API void vout_SetDisplayAspect(vout_display_t *, unsigned dar_num, unsigned dar_den);
VLC_API void vout_SetDisplayCrop(vout_display_t *, unsigned crop_num, unsigned crop_den, unsigned left, unsigned top, int right, int bottom);
-struct vlc_gl_t;
-VLC_API struct vlc_gl_t * vout_GetDisplayOpengl(vout_display_t *);
-
#endif /* VLC_VOUT_WRAPPER_H */
vlc_gl_ReleaseCurrent (sys->gl);
return VLC_SUCCESS;
}
-#if !USE_OPENGL_ES
- case VOUT_DISPLAY_GET_OPENGL:
- {
- vlc_gl_t **pgl = va_arg (ap, vlc_gl_t **);
-
- *pgl = sys->gl;
- return VLC_SUCCESS;
- }
-#endif
default:
msg_Err (vd, "Unknown request %d", query);
}
static picture_pool_t *Pool (vout_display_t *, unsigned);
static void Prepare(vout_display_t *, picture_t *, subpicture_t *);
static void Display(vout_display_t *, picture_t *, subpicture_t *);
-static int Control(vout_display_t *, int, va_list);
static void Manage (vout_display_t *);
static void Swap (vlc_gl_t *);
vd->pool = Pool;
vd->prepare = Prepare;
vd->display = Display;
- vd->control = Control;
+ vd->control = CommonControl;
vd->manage = Manage;
return VLC_SUCCESS;
CommonDisplay(vd);
}
-static int Control(vout_display_t *vd, int query, va_list args)
-{
- switch (query) {
- case VOUT_DISPLAY_GET_OPENGL: {
- vlc_gl_t **gl = va_arg(args, vlc_gl_t **);
- *gl = &vd->sys->gl;
-
- CommonDisplay(vd);
- return VLC_SUCCESS;
- }
- default:
- return CommonControl(vd, query, args);
- }
-}
-
static void Manage (vout_display_t *vd)
{
vout_display_sys_t *sys = vd->sys;
xcb_flush (sys->conn);
return VLC_SUCCESS;
- case VOUT_DISPLAY_GET_OPENGL:
- {
- vlc_gl_t **gl = va_arg (ap, vlc_gl_t **);
- *gl = sys->gl;
- return VLC_SUCCESS;
- }
-
case VOUT_DISPLAY_RESET_PICTURES:
assert (0);
default:
vout_IsDisplayFiltered
vout_FilterDisplay
vout_ManageDisplay
-vout_GetDisplayOpengl
vout_SetDisplayFullscreen
vout_SetDisplayFilled
vout_SetDisplayZoom
}
}
-struct vlc_gl_t *vout_GetDisplayOpengl(vout_display_t *vd)
-{
- struct vlc_gl_t *gl;
- if (vout_display_Control(vd, VOUT_DISPLAY_GET_OPENGL, &gl))
- return NULL;
- return gl;
-}
-
static vout_display_t *DisplayNew(vout_thread_t *vout,
const video_format_t *source,
const vout_display_state_t *state,