Commit graph

42 commits

Author SHA1 Message Date
Julien Isorce
a4d74fda9a gl: do not include GL headers in public gstgl headers
Except for gst/gl/gstglfuncs.h

It is up to the client app to include these headers.
It is coherent with the fact that gstreamer-gl.pc does not
require any egl.pc/gles.pc. I.e. it is the responsability
of the app to search these headers within its build setup.

For example gstreamer-vaapi includes explicitly EGL/egl.h
and search for it in its configure.ac.

For example with this patch, if an app includes the headers
  gst/gl/egl/gstglcontext_egl.h
  gst/gl/egl/gstgldisplay_egl.h
  gst/gl/egl/gstglmemoryegl.h
it will *no longer* automatically include EGL/egl.h and GLES2/gl2.h.
Which is good because the app might want to use the gstgl api only
without the need to bother about gl headers.

Also added a test: cd tests/check && make libs/gstglheaders.check

https://bugzilla.gnome.org/show_bug.cgi?id=784779
2017-08-22 10:00:19 +01:00
Juan Pablo Ugarte
efa2ed59c7 gl/examples/gtk: fixed compilation on systems without GL_GEOMETRY_SHADER
https://bugzilla.gnome.org/show_bug.cgi?id=777143
2017-01-13 11:20:51 +11:00
Sebastian Dröge
d37822173d gtk: examples: #define GST_USE_UNSTABLE_API and link with X11_LIBS
X11_LIBS is needed for XInitThreads() and without the #define we get
warnings about the GL API being still unstable.
2016-03-05 11:38:46 +02:00
Reynaldo H. Verdejo Pinochet
d55cc79310 Remove unnecessary NULL checks before g_free()
g_free() is NULL-safe
2015-11-18 16:05:42 -08:00
Matthew Waters
608cf31a25 glshaderelement: implement on-demand create-shader signalling
One may not have an GstGLContext available or current in the thread where one
would need to update the shader.  Support this by signalling create-shader
whenever the one-shot 'update-shader' is set to TRUE.
2015-10-17 16:10:41 +11:00
Matthew Waters
b8b9c78599 gl/examples: add a live shader demo using the new GstGLSLStage
Implemented with videotestsrc ! glshader ! glupload ! gtkglsink

Errors on an invalid shader compilation are ignored however any error
provided by the glsl compiler is printed to stdout.
2015-10-17 01:10:47 +11:00
Nicolas Dufresne
b68f478467 gstgtk: No need to realize the widget
The widget already does that.
2015-06-11 12:41:49 -04:00
Nicolas Dufresne
bdbff3bc8e gstgtk: Don't leak the widget
g_object_get() returns a ref, gtk_container_add() only ref_sink().
That mean we still need to unref afterward. This leak was hiding
a reference bug previously present.
2015-06-11 12:41:49 -04:00
Sebastian Dröge
fe5bf0cee1 gtk: Add missing CFLAGS to example 2015-06-11 14:58:27 +02:00
Matthew Waters
a959c410d9 Implement gtk sinks
two sinks are provided.  gtksink which is a cairo/software based renderer
and gtkglsink which utilises the GL support in gtk and gstreamer.
2015-06-11 22:01:03 +10:00
Matthew Waters
fc45400f4e gl/examples: move to -bad
- fix all the compiler errors
- give them their own gl directory
2014-04-29 16:40:08 +10:00
Руслан Ижбулатов
12e669f388 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
Matthew Waters
499cd75e4b [864/906] examples: update to gtk3 2014-03-15 18:37:05 +01:00
Sebastian Dröge
f5cb0ccb16 [771/906] gl: Some less long/ulong/gulong usage 2014-03-15 18:36:59 +01:00
Mathieu Duponchelle
e850ed5498 [769/906] tests/examples: fix and port some of the examples.
Realize widgets, remove glupload element.
2014-03-15 18:36:59 +01:00
Sebastian Dröge
804c5b14e8 [729/906] gl: Include config.h everywhere 2014-03-15 18:36:57 +01:00
Sebastian Dröge
1a2de27a52 [720/906] examples: Stop using deprecated GLib thread API 2014-03-15 18:36:56 +01:00
Matthew Waters
d6054f9738 [603/906] update FSF address 2014-03-15 18:36:50 +01:00
Matthew Waters
3d180b1602 [560/906] examples: update for bus api changes and glimagesink changes 2014-03-15 18:36:47 +01:00
Matthew Waters
d4a320f81f [511/906] tests: update for 1.0 2014-03-15 18:36:44 +01:00
Stefan Kost
4555feb043 [461/906] xoverlay: require base from git and update to new API 2014-03-15 18:36:41 +01:00
Julien Isorce
b130c3b750 [457/906] gtk examples: adapt code since the native-window changes from gtk
Fixes bug #599885
2014-03-15 18:36:41 +01:00
Руслан Ижбулатов
df4b871718 [413/906] Fix Windows compiler warning in test/examples/gtk/fxtest/pixbufdrop.c 2014-03-15 18:36:39 +01:00
Julien Isorce
757d005662 [386/906] pixbufdrop: fix example on win32 2014-03-15 18:36:37 +01:00
Filippo Argiolas
754299a5fd [361/906] gstgtk: add missing license and copyright information 2014-03-15 18:36:35 +01:00
Filippo Argiolas
b1102eafe5 [360/906] examples: add missing copyright/license to my examples 2014-03-15 18:36:35 +01:00
David Schleef
b70b0106b5 [328/906] Convert gtk examples to use helper library
Helper lib implements gst-gtk glue on all platforms
2014-03-15 18:36:34 +01:00
David Schleef
cbbb5f1eff [310/906] Global reindent
Indent parameters:
INDENT_PARAMETERS="--braces-on-if-line \
        --case-brace-indentation0 \
        --case-indentation2 \
        --braces-after-struct-decl-line \
        --line-length80 \
        --no-tabs \
        --cuddle-else \
        --dont-line-up-parentheses \
        --honour-newlines \
        --continuation-indentation4 \
        --tab-size8 \
        --indent-level2"
2014-03-15 18:36:33 +01:00
David Schleef
500ebc49b9 [308/906] Rename glpixbufoverlay to gloverlay 2014-03-15 18:36:32 +01:00
Julien Isorce
f115d31df6 [301/906] depends on libpng instead of gdk_pixbuf 2014-03-15 18:36:32 +01:00
David Schleef
ea43a17480 [298/906] Revert "Fix indention"
This reverts commit 96e4ab18c2cf9876f6c031b9aba6282d0bd45a93.

You should have asked first.  And you would have been told "no",
because it causes people on development branches to do a huge
amount of extra work.
2014-03-15 18:36:32 +01:00
Sebastian Dröge
4525015dc6 [295/906] Fix indention 2014-03-15 18:36:32 +01:00
Filippo Argiolas
532ea881fb [247/906] Import xray effect
Add xray effect. Maps luma to a negative, slightly cyan tinted, curve,
applies some light gaussian blur and multiplies it with its sobel edges. Not
sure about the name, likely to change. Probably still needs some tuning.
2014-03-15 18:36:29 +01:00
Julien Isorce
dcbc69cb0b [199/906] add pixbufdrop vs8 project 2014-03-15 18:36:26 +01:00
Julien Isorce
04ccea8780 [198/906] add fxtest vs8 project 2014-03-15 18:36:26 +01:00
Filippo Argiolas
3264db13fa [195/906] fix gstgldifferencematte and add an example app to test it dragging an image over the video (works with pixbufoverlay too, see pixbufdrop --help) 2014-03-15 18:36:26 +01:00
Filippo Argiolas
944afa296c [180/906] minor cleanup in fxtest 2014-03-15 18:36:25 +01:00
Filippo Argiolas
8941057006 [178/906] improve fxtest command line option handling, default to videotestsrc if no source bin description is given 2014-03-15 18:36:25 +01:00
Filippo Argiolas
f327cd5a86 [175/906] add sin effect (desaturate everything but red shades). still needs some tuning. 2014-03-15 18:36:25 +01:00
Filippo Argiolas
0bb26924a8 [173/906] add lumaxpro (desaturate + cross process) effect. nothing too impressive but I like it. 2014-03-15 18:36:25 +01:00
Filippo Argiolas
ae673c3d4a [172/906] add support for command line parsing to fxtest (try fxtest videotestsrc ! desired caps ! identity). report a new issue on BUGS. 2014-03-15 18:36:25 +01:00
Filippo Argiolas
530be54c7b [171/906] import fxtest (little gtk app to easily test effects) from cvs branch, fixed rgbtocurve. 2014-03-15 18:36:25 +01:00