Commit 99bf49b1 authored by Laurent Aimar's avatar Laurent Aimar

Added a way to retreive an opengl context from a vout display.

parent 4b8038be
...@@ -157,6 +157,9 @@ enum { ...@@ -157,6 +157,9 @@ enum {
* The cropping requested is stored by video_format_t::i_x/y_offset and * The cropping requested is stored by video_format_t::i_x/y_offset and
* video_format_t::i_visible_width/height */ * video_format_t::i_visible_width/height */
VOUT_DISPLAY_CHANGE_SOURCE_CROP, /* const video_format_t *p_source */ VOUT_DISPLAY_CHANGE_SOURCE_CROP, /* const video_format_t *p_source */
/* Ask an opengl interface if available. */
VOUT_DISPLAY_GET_OPENGL, /* vout_opengl_t ** */
}; };
/** /**
......
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
#define VLC_VOUT_WRAPPER_H 1 #define VLC_VOUT_WRAPPER_H 1
#include <vlc_vout_display.h> #include <vlc_vout_display.h>
#include <vlc_vout_opengl.h>
/* XXX DO NOT use it outside the vout module wrapper XXX */ /* XXX DO NOT use it outside the vout module wrapper XXX */
...@@ -87,6 +88,7 @@ VLC_EXPORT(void, vout_SetDisplayZoom, (vout_display_t *, int num, int den)); ...@@ -87,6 +88,7 @@ VLC_EXPORT(void, vout_SetDisplayZoom, (vout_display_t *, int num, int den));
VLC_EXPORT(void, vout_SetDisplayOnTop, (vout_display_t *, bool is_on_top)); VLC_EXPORT(void, vout_SetDisplayOnTop, (vout_display_t *, bool is_on_top));
VLC_EXPORT(void, vout_SetDisplayAspect, (vout_display_t *, unsigned sar_num, unsigned sar_den)); VLC_EXPORT(void, vout_SetDisplayAspect, (vout_display_t *, unsigned sar_num, unsigned sar_den));
VLC_EXPORT(void, vout_SetDisplayCrop, (vout_display_t *, unsigned crop_num, unsigned crop_den, unsigned x, unsigned y, unsigned width, unsigned height)); VLC_EXPORT(void, vout_SetDisplayCrop, (vout_display_t *, unsigned crop_num, unsigned crop_den, unsigned x, unsigned y, unsigned width, unsigned height));
VLC_EXPORT(vout_opengl_t *, vout_GetDisplayOpengl, (vout_display_t *));
#endif /* VLC_VOUT_WRAPPER_H */ #endif /* VLC_VOUT_WRAPPER_H */
...@@ -597,6 +597,7 @@ vout_AreDisplayPicturesInvalid ...@@ -597,6 +597,7 @@ vout_AreDisplayPicturesInvalid
vout_IsDisplayFiltered vout_IsDisplayFiltered
vout_FilterDisplay vout_FilterDisplay
vout_ManageDisplay vout_ManageDisplay
vout_GetDisplayOpengl
vout_SetDisplayFullscreen vout_SetDisplayFullscreen
vout_SetDisplayFilled vout_SetDisplayFilled
vout_SetDisplayZoom vout_SetDisplayZoom
......
...@@ -1012,7 +1012,13 @@ void vout_SetDisplayCrop(vout_display_t *vd, ...@@ -1012,7 +1012,13 @@ void vout_SetDisplayCrop(vout_display_t *vd,
osys->ch_crop = true; osys->ch_crop = true;
} }
} }
vout_opengl_t *vout_GetDisplayOpengl(vout_display_t *vd)
{
vout_opengl_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, static vout_display_t *DisplayNew(vout_thread_t *vout,
const video_format_t *source_org, const video_format_t *source_org,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment