Commit graph

16261 commits

Author SHA1 Message Date
Руслан Ижбулатов
2a8f52a976 gl: fix the use of always-defined macros
After 2a0f0399ae GST_GL_* macros are always
defined to 0 or 1. Don't use #ifdef ... or #if defined() on them.

https://bugzilla.gnome.org/show_bug.cgi?id=726591
2014-03-18 06:17:03 +00:00
Руслан Ижбулатов
26049ca402 gl: check for X unconditionally
Without this the HAVE_X macro is empty, not "no" or "yes", which is not
what the later code is counting on.

https://bugzilla.gnome.org/show_bug.cgi?id=726591
2014-03-18 06:16:01 +00:00
Julien Isorce
2a0f0399ae gl: set default value to 0 for all definitions that go to gstglconfig.h
To avoid warnings like "GST_GL_HAVE_OPENGL is not defined".
As we are using #if instead of #ifdef
2014-03-17 17:42:06 +00:00
Matthew Waters
b85cd2f215 gl: allow not building the gl library plugins 2014-03-17 15:49:37 +01:00
Matthew Waters
a64dd649f5 gl: add GModule libs for win32 2014-03-17 15:16:13 +01:00
Matthew Waters
567820c551 gl: only link against gstegl if we are using egl
Assuming if we are building egl that the egl library is built
2014-03-17 15:06:25 +01:00
Matthew Waters
ceb02341df gl: add the option of disabling cocoa on OS X using --disable-cocoa 2014-03-17 15:05:24 +01:00
Matthew Waters
acf1616251 gl: add path of the gstegl library
Temporary until we merge the two libraries
2014-03-17 14:37:13 +01:00
Matthew Waters
023c10891e Revert "gl: add dep on gstegl"
It was already in _LIBADD

This reverts commit b10a353080.
2014-03-17 14:26:31 +01:00
Matthew Waters
b10a353080 gl: add dep on gstegl
Temporary until we merge the two libraries
2014-03-17 14:12:50 +01:00
Edward Hervey
16e60d0129 gl/cocoa: Fix debug statements and platform 2014-03-17 14:06:53 +01:00
Julien Isorce
a26b8fdceb gl: set HAVE_EGL_RPI to yes if HAVE_GL and RPI
Which fixes build on Raspberry Pi since -gl has been moved to -bad
2014-03-17 12:32:26 +00:00
Edward Hervey
0ae0bfcbc7 gl: Fix static build with objective-C
--tag=CC is needed for static build
2014-03-17 12:05:14 +01:00
Thijs Vermeir
1a5560441d make: whitespace cleanups 2014-03-17 12:00:09 +01:00
Matthew Waters
49b37650f6 gl: Add EGLDisplay display subclass 2014-03-17 10:56:39 +01:00
Matthew Waters
b67af0e314 gl/window: add a dummy window class
Effective for the case where we have a platform that does not
require a native window.  We require a mainloop to run the GL
commands which is currently operated by GstGLWindow.
2014-03-17 10:44:32 +01:00
Matthew Waters
aaa7cfc9fc gl: fix undeclared symbol when building without GST_DEBUG 2014-03-17 08:10:50 +01:00
Matthew Waters
99c48c34c1 gl: fix a double unref of the query when building without X 2014-03-17 08:10:25 +01:00
Matthieu Bouron
19724f6ece dvbsuboverlay: handle video/x-raw(ANY) if downstream supports the GstVideoOverlayCompositionMeta API
https://bugzilla.gnome.org/show_bug.cgi?id=726463
2014-03-16 18:00:53 +01:00
Matthew Waters
6da1c48970 gl: silence a compiler warning about missing prototypes 2014-03-16 17:21:38 +01:00
Matthew Waters
5bf83bd48f gl/utils: add x11 GstContext handling
https://bugzilla.gnome.org/show_bug.cgi?id=726360
2014-03-16 16:32:33 +01:00
Matthew Waters
e8bbcb366e gl: define GL_NUM_EXTENSIONS if not defined 2014-03-16 15:34:11 +01:00
Matthew Waters
6b3fe44185 Move gst-plugins-gl to bad 2014-03-16 15:17:59 +01:00
Matthew Waters
870503dc6b gl: silence all the compiler warnings 2014-03-16 15:17:44 +01:00
Matthew Waters
4bdf5f336a move gl elements to ext subdirectory 2014-03-16 11:23:16 +01:00
Matthew Waters
92c7849979 [906/906] filter: warn about trying to share with multiple contexts at once 2014-03-15 18:37:07 +01:00
Matthew Waters
a8ce124628 [905/906] Add GL context sharing support for non-gstgl elements 2014-03-15 18:37:07 +01:00
Matthew Waters
f0b10d4edf [904/906] mixer: ask for display handles on pad activation 2014-03-15 18:37:07 +01:00
Matthew Waters
6527008c2a [903/906] api: add GstGLPlatform to/from string 2014-03-15 18:37:07 +01:00
Matthew Waters
ea0c6b3f70 [902/906] context: implement glGetStringi handling for GL core contexts/GLES3 2014-03-15 18:37:07 +01:00
Matthew Waters
c3146c0d48 [901/906] glx: use the display handle from the global display
Intel drivers require the display handles be the same for context
sharing to occur.  Also solves some cases of use after free of the
display when integrating with gstreamer-vaapi.

See https://bugs.freedesktop.org/show_bug.cgi?id=41736 for the intel bug.
2014-03-15 18:37:07 +01:00
Matthew Waters
18ebef308c [900/906] tests/gstglcontext: reduce the number of frames displayed
Was causing timeouts on intel hardware due to vsync handling.
2014-03-15 18:37:07 +01:00
Matthew Waters
25a5dabda9 [899/906] egl: warn if we resort to display handles from the window 2014-03-15 18:37:07 +01:00
Matthew Waters
ab963a755d [898/906] glimagesink: add an other-context property
Allows applications to provide us with an OpenGL context with which
to share with.
2014-03-15 18:37:07 +01:00
Matthew Waters
105cfa62fc [897/906] api: plugin a small memory leak
Found by adrien.schwartzentruber@gmail.com
2014-03-15 18:37:07 +01:00
Matthew Waters
b9071875e7 [896/906] utils: use the vtable for deleting the texture 2014-03-15 18:37:07 +01:00
Matthew Waters
8b4503aa6f [895/906] context: call window_class->close last
We should destroy resources before closing the display connection

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=725048
2014-03-15 18:37:07 +01:00
Wang Xin-yu (王昕宇)
c3020e3ed8 [894/906] gl: add missing G_BEGIN_DECLS/G_END_DECLS
https://bugzilla.gnome.org/show_bug.cgi?id=725111
2014-03-15 18:37:07 +01:00
Matthew Waters
b6b8f9cd88 [893/906] x11: close both of the display's we use
(the comment doesn't seem to apply anymore)

https://bugzilla.gnome.org/show_bug.cgi?id=725048
2014-03-15 18:37:07 +01:00
Matthew Waters
ba38db1961 [892/906] silence a compiler warning on older gcc versions (4.6) 2014-03-15 18:37:07 +01:00
Matthew Waters
3ad466945e [891/906] context: add support for wrapping external contexts 2014-03-15 18:37:07 +01:00
Matthew Waters
0d1d42b205 [890/906] x11: add display subclass
GstGLDisplayX11 holds the display connection and name.  Each thread requires
it's own X11 Display connection (initialised from name) due to the fact that
we do not want to call XInitThreads().  Doing so would result in segfaults
when integrating with GUI toolkits Gtk, Qt, etc.

The Display connection is for OpenGL platforms where a constant display is
required in order to share contexts (egl).  In the case of a wrapped context
(added later), we do not have GstGLWindow to retreive the display from so a
'master' connection is used instead.
2014-03-15 18:37:06 +01:00
Matthew Waters
f4036318da [889/906] display: add display type enum 2014-03-15 18:37:06 +01:00
Adrien SCH
08d71feaa4 [888/906] correct error handling in gstgldownload.c 2014-03-15 18:37:06 +01:00
Matthew Waters
cdfa3a03c9 [887/906] mixer: fixup a memory leak of the context in the GLTextureUploadMeta path
gst_structure_get returns a reference to the object and we asked
for another with gst_object_replace.

https://bugzilla.gnome.org/show_bug.cgi?id=724816
2014-03-15 18:37:06 +01:00
Matthew Waters
687ac78290 [886/906] fixup a memory leak of the context in the GLTextureUploadMeta path
gst_structure_get returns a reference to the object and we asked
for another with gst_object_replace.

https://bugzilla.gnome.org/show_bug.cgi?id=724816
2014-03-15 18:37:06 +01:00
Matthew Waters
506e4fc793 [885/906] filter: free our data
plugs some memory leaks

https://bugzilla.gnome.org/show_bug.cgi?id=724816
2014-03-15 18:37:06 +01:00
Matthew Waters
d57403ab98 [884/906] filter: return the pad template caps in transform_caps
We can transform from any input in our caps to any output.
With the following pipeline snippet:

  ... ! vaapidecode ! glcolorscale ! xvimagesink

GstVideoGLTextureUploadMeta was being used on both src and sink
pads causing linking to fail.  This allows the usage of the meta
on either pad without affecting whether the meta is chosen on the
other pad.
2014-03-15 18:37:06 +01:00
Matthew Waters
767a3524ae [883/906] api: provide from_string()
Also s/gst_gl_api_string/gst_gl_api_to_string/g
2014-03-15 18:37:06 +01:00
Matthew Waters
49307fefd6 [882/906] port glcolorscale to GLES2 2014-03-15 18:37:06 +01:00