Matthew Waters
c37ace1844
glvideomixer: bas output width/height on the pad properties
...
Allows automatic negotiation of the size in the following case:
gst-launch-1.0 glvideomixer name=m sink_0::xpos=0 sink_1::xpos=320 ! glimagesink \
videotestsrc ! m. \
videotestsrc pattern=1 ! m.
https://bugzilla.gnome.org/show_bug.cgi?id=731878
2014-06-25 12:00:34 +10:00
Matthew Waters
4c02c4f004
glvideomixer: don't clobber already allocated shader
2014-06-25 10:19:42 +10:00
Matthew Waters
5409a3ea2f
gl: XInitThreads when env variable is set
...
This is too allow gst-launch debugging with multiple GL contexts as
well as avoiding segfaulting innocent gtk+ apps that have not called
XInitThreads.
https://bugzilla.gnome.org/show_bug.cgi?id=731525
2014-06-24 23:51:24 +10:00
Sebastian Dröge
8a18ac76e1
gl: Need to link to new badvideo library for the video aggregator base class
2014-06-22 18:58:51 +02:00
Thibault Saunier
d516c951e7
gl:glvideomixer: Add the Compositor in the element metadata class
...
So it is possible to pick one compositing element from the registry
2014-06-20 19:53:33 +02:00
Thibault Saunier
4ce8b409cc
gl: Port glmixer to the GstVideoAggregator baseclass
...
https://bugzilla.gnome.org/show_bug.cgi?id=731921
2014-06-20 19:53:33 +02:00
Lubosz Sarnecki
053252ccc6
opengl: add element for transforming video geometry
...
* add graphene as soft dependency for linear algebra
2014-06-18 20:41:03 +10:00
Matthew Waters
19e8dbd6ac
glfiltershader: port to GLES2
...
Provide a time variable
2014-06-17 23:21:15 +10:00
Matthew Waters
e00815a586
glvideomixer: silence incorrect number of arguments in format warning
2014-06-15 15:18:46 +10:00
Matthew Waters
d01d259024
glvideomixer: wire up the alpha pad property
2014-06-15 13:59:07 +10:00
Matthew Waters
b7f1015359
glvideomixer: support input frame scaling
2014-06-15 13:44:04 +10:00
Matthew Waters
5a6bef5c59
glvideomixer: add positioning of input streams
...
https://bugzilla.gnome.org/show_bug.cgi?id=729798
2014-06-15 12:28:45 +10:00
Matthew Waters
bb0fec7c80
glfilterapp: actually emit the client-draw signal
2014-06-12 23:17:05 +10:00
Matthew Waters
d7f8cc9a78
glfilterapp: remove the reshape/draw properties
...
The reshape property was never used.
Replace the draw property with a signal.
Based on patch by Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
https://bugzilla.gnome.org/show_bug.cgi?id=704507
2014-06-12 12:49:42 +10:00
Matthew Waters
2ed84ac40f
glimagesink: replace pointer properties with signals
...
Based on patch by Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
https://bugzilla.gnome.org/show_bug.cgi?id=704507
2014-06-12 12:18:23 +10:00
Matthieu Bouron
dac4816823
glimagesink: improve state change debug message
2014-06-03 14:08:34 +10:00
Matthew Waters
5eb4934750
glimagesink: unref the old buffer outside the lock
...
it could very well deadlock
https://bugzilla.gnome.org/show_bug.cgi?id=723529
2014-05-30 11:46:00 +10:00
Matthew Waters
1cb7e22b98
Revert "[880/906] glimagesink: remove unused stored_buffer field"
...
This reverts commit af3a68db7d
.
Conflicts:
ext/gl/gstglimagesink.c
https://bugzilla.gnome.org/show_bug.cgi?id=723529
2014-05-30 11:35:04 +10:00
Matthew Waters
da35876537
glfeature: remove GST_GL_API_GLES3
...
instead check the gl version using gst_gl_context_check_gl_version()
2014-05-30 10:29:37 +10:00
Matthew Waters
6ce3b82efe
gl/upload: add GstGLUploadMeta object
...
That simply deals with the provider aspect of GstVideoGLTextureUploadMeta.
2014-05-28 14:41:35 +10:00
Julien Isorce
6c92286c6e
glimagesink: make it actually honor show-preroll-frame property
...
https://bugzilla.gnome.org/show_bug.cgi?id=730802
2014-05-27 11:28:27 +01:00
Matthew Waters
37c08c58c5
gl/eglimage: add eglimage context feature
...
Allows us to selectively use EGLImages only when available
https://bugzilla.gnome.org/show_bug.cgi?id=728234
2014-05-20 23:37:52 +10:00
Sebastian Dröge
8070b4e043
glimagesink: Check if context creation failed before trying to use it
...
Otherwise we will cause assertions everywhere by passing NULL to functions
and eventually crash when dereferencing a NULL pointer.
https://bugzilla.gnome.org/show_bug.cgi?id=730069
2014-05-19 12:25:51 +02:00
Matthew Waters
ce561913de
gl/download: update to be similar to the glupload semantics
2014-05-14 11:38:01 +10:00
Julien Isorce
9a917fb8a9
gleffects: use gl_vtable
2014-05-08 16:08:08 +01:00
Matthew Waters
a49a371710
gl/upload: implement lazy init
...
Rename init_format to set_format
2014-05-08 15:33:43 +10:00
Matthew Waters
a27589629d
gl: advertise GstGLMemory usage in the caps as capsfeatures
...
https://bugzilla.gnome.org/show_bug.cgi?id=729658
2014-05-07 21:48:57 +10:00
Matthew Waters
6f4fd70867
gl/sink: make sure we always initialize the upload object
...
https://bugzilla.gnome.org/show_bug.cgi?id=729542
2014-05-07 09:12:23 +10:00
Matthew Waters
dfc6745143
gl: use the bufferpool's upload when available
...
Avoids duplicating GL resources
https://bugzilla.gnome.org/show_bug.cgi?id=728872
2014-05-02 15:59:28 +10:00
Matthew Waters
5681f78362
glcolorscale: fix operation with dual GL, GLES2 libgstgl
2014-05-01 14:11:00 +10:00
Julien Isorce
56cca649d4
glcolorscale: use a shader on GLESv2
...
Otherwise you only see black frames
Fix https://bugzilla.gnome.org/show_bug.cgi?id=728947
2014-04-30 17:33:14 +01:00
Julien Isorce
a20f17e29c
glimagesink: use new helper function to avoid duplicating default shader text
2014-04-30 15:35:49 +01:00
Julien Isorce
f4626ef619
gleffects: use new helper functions to avoid duplicating the same vertex shader text
...
And also use the default fragment shader text for the identity effect
2014-04-30 15:35:49 +01:00
Julien Isorce
1525fa8bad
gl: use gst_gl_platform_from_string because we support gl shareList on all platforms
2014-04-28 15:59:06 +01:00
Julien Isorce
3db1e3e1ed
gl: fails glimagesink when shader compilation went wrong
...
Those shaders are fixed and very simple so it should not fail
but it's worth to handle a such case.
2014-04-24 16:57:01 +01:00
Julien Isorce
673b813ab3
gl: call glClearColor before glClear
2014-04-24 16:57:01 +01:00
Sebastian Dröge
e50f264411
glimagesink: Use the pixel-aspect-ratio adjusted width/height when centering the frame in the display area
...
Makes sure we actually keep the display aspect ratio
2014-04-23 11:10:28 +02:00
Sebastian Dröge
ebab5b0a43
glimagesink: By default keep the display aspect ratio
...
Also the default for the pixel-aspect-ratio should be 1/1, not 0/1.
2014-04-23 10:58:12 +02:00
Sebastian Dröge
0662248347
gltestsrc: Unref context when creation failed and guard against that in fill()
2014-04-23 10:27:23 +02:00
Sebastian Dröge
89d2bb75d6
glimagesink: Call gst_object_unref() on the GstGL GObjects again
...
While they're plain GObjects it does not hurt to call gst_object_unref()
on them and potentially allows to debug reference leaks a bit easier.
2014-04-23 10:24:55 +02:00
Sebastian Dröge
38ebfb2da8
glimagesink: If creating a context or upload failed, destroy it
...
Fixes deadlocks in error cases when later code assumes the broken
context is actually usable.
https://bugzilla.gnome.org/show_bug.cgi?id=728761
2014-04-23 10:00:48 +02:00
Vincent Penquerc'h
467d9267a2
gl: a couple spelling/grammar fixes
2014-04-21 13:23:46 +01:00
Vincent Penquerc'h
7a3e141204
gl: guard against using a NULL window pointer
...
Coverity 1195145
2014-04-21 13:23:46 +01:00
Matthew Waters
364b01aca9
glimagesink: remove unused texture
2014-04-13 22:16:45 +10:00
Matthew Waters
d4a72b61c0
glimagesink: move upload into _prepare()
2014-04-13 22:14:52 +10:00
Sebastian Dröge
e9dbcb69cd
gl: Set glimagesink rank to SECONDARY
...
This is a full-featured video sink now and especially should be
used instead of osxvideosink on OSX if available.
2014-04-12 22:25:14 +02:00
Sebastian Dröge
0bd53c9ccb
glimagesink: First handle GL window setup, then create the context and its thread
2014-04-12 17:01:09 +02:00
Matthew Waters
15d0c04933
gl/mem: allocate the memory per plane
...
This patch provides the basic infrastructure required for this.
Upload and Download has been ported to this.
Has the nice effect of allowing GstGLMemory to be our
refcounted texture object for any texture type (not just RGBA).
Should not lose any features/video formats.
2014-04-11 10:37:06 +10:00
Matthew Waters
95abfda139
gl: add colorconvert object that converts between color spaces/formats
...
Currently used by both upload and download objects separately.
2014-04-11 10:37:05 +10:00
Vincent Penquerc'h
9eab659d1d
gl: pass large structure by const pointer, not value
...
Avoids large pointless memcpy.
Coverity 206236, 206237
2014-04-09 10:31:19 +01:00