[enable OpenGL/X11 @<:@default=yes@:>@]),
[], [enable_glx="yes"])
+AC_ARG_ENABLE(vaapisink-glx,
+ AC_HELP_STRING([--enable-vaapisink-glx],
+ [enable OpenGL/X11 to vaapisink @<:@default=yes@:>@]),
+ [], [enable_vaapisink_glx="no"])
+
dnl Check for __attribute__((visibility()))
AC_CACHE_CHECK([whether __attribute__((visibility())) is supported],
vaapi_cv_visibility_attribute,
AC_SUBST(LIBVA_EXTRA_CFLAGS)
AC_SUBST(LIBVA_EXTRA_LIBS)
+dnl Check for OpenGL support to
+if test "$enable_vaapisink_glx:$USE_GLX" = "yes:1"; then
+ USE_VAAPISINK_GLX=1
+else
+ USE_VAAPISINK_GLX=0
+fi
+
AC_DEFINE_UNQUOTED(USE_GLX, $USE_GLX, [Defined to 1 if GLX is enabled])
AM_CONDITIONAL(USE_GLX, test $USE_GLX -eq 1)
+AC_DEFINE_UNQUOTED(USE_VAAPISINK_GLX, $USE_VAAPISINK_GLX,
+ [Defined to 1 to enable GLX support to vaapisink])
+AM_CONDITIONAL(USE_VAAPISINK_GLX, test $USE_VAAPISINK_GLX -eq 1)
+
VA_VERSION=`$PKG_CONFIG --modversion libva`
VA_MAJOR_VERSION=`echo "$VA_VERSION" | cut -d'.' -f1`
VA_MINOR_VERSION=`echo "$VA_VERSION" | cut -d'.' -f2`
echo
echo VA-API version ................... : $VA_VERSION_STR
echo GLX support ...................... : $(test $USE_GLX -eq 1 && echo yes || echo no)
+echo Build vaapisink with OpenGL ...... : $(test $USE_VAAPISINK_GLX -eq 1 && echo yes || echo no)
echo
#include <gst/vaapi/gstvaapivideosink.h>
#include <gst/vaapi/gstvaapidisplay_x11.h>
#include <gst/vaapi/gstvaapiwindow_x11.h>
-#if USE_GLX
+#if USE_VAAPISINK_GLX
#include <gst/vaapi/gstvaapidisplay_glx.h>
#include <gst/vaapi/gstvaapiwindow_glx.h>
#endif
GstVaapiDisplay * const display = sink->display;
if (!sink->window) {
-#if USE_GLX
+#if USE_VAAPISINK_GLX
if (sink->use_glx)
sink->window = gst_vaapi_window_glx_new(display, width, height);
else
gst_vaapisink_ensure_display(GstVaapiSink *sink)
{
if (!sink->display) {
-#if USE_GLX
+#if USE_VAAPISINK_GLX
if (sink->use_glx)
sink->display = gst_vaapi_display_glx_new(sink->display_name);
else
flags = GST_VAAPI_PICTURE_STRUCTURE_FRAME;
-#if USE_GLX
+#if USE_VAAPISINK_GLX
if (sink->use_glx) {
GstVaapiWindowGLX * const window = GST_VAAPI_WINDOW_GLX(sink->window);
gst_vaapi_window_glx_make_current(window);
basesink_class->preroll = gst_vaapisink_show_frame;
basesink_class->render = gst_vaapisink_show_frame;
-#if USE_GLX
+#if USE_VAAPISINK_GLX
g_object_class_install_property
(object_class,
PROP_USE_GLX,
g_param_spec_boolean("use-glx",
"GLX rendering",
"Enables GLX rendering",
- FALSE,
+ TRUE,
G_PARAM_READWRITE));
#endif
sink->video_height = 0;
sink->fullscreen = FALSE;
sink->synchronous = FALSE;
- sink->use_glx = FALSE;
+ sink->use_glx = USE_VAAPISINK_GLX;
}
GstVaapiDisplay *
#include <gst/video/gstvideosink.h>
#include <gst/vaapi/gstvaapidisplay.h>
#include <gst/vaapi/gstvaapiwindow.h>
-#if USE_GLX
+#if USE_VAAPISINK_GLX
#include <gst/vaapi/gstvaapitexture.h>
#endif
#include <X11/Xlib.h>
typedef struct _GstVaapiSink GstVaapiSink;
typedef struct _GstVaapiSinkClass GstVaapiSinkClass;
-#if !USE_GLX
+#if !USE_VAAPISINK_GLX
typedef struct _GstVaapiTexture GstVaapiTexture;
#endif