Matthew Waters
c337aab991
glupload: rearchitecture for non GLMemory inputs/outputs
...
Allows other memory types to be implemented/returned/used by the caller.
2014-11-23 17:13:36 +11:00
Matthew Waters
d28854a625
glmixer: add read-only context property
2014-11-17 18:50:04 +11:00
Matthew Waters
f9c8268247
gl: remove the width/height fields from the caps to support frame resizing
...
It was previously only occuring with sysmem caps features
https://bugzilla.gnome.org/show_bug.cgi?id=739334
2014-11-11 14:23:55 +11:00
Matthew Waters
83c34503af
glmixer: advertise support for changing input caps mid-stream
...
https://bugzilla.gnome.org/show_bug.cgi?id=739334
2014-10-31 21:29:25 +11:00
Matthew Waters
eb11906f01
glmixer: don't get the current caps from GstVideoInfo for the srcpad
...
It's missing the caps features needed.
2014-10-30 23:08:00 +11:00
Wang Xin-yu (王昕宇)
b151f564c2
glmixer:fix incorrect parameter passed to handle_set_context
2014-10-29 20:43:31 +11:00
Matthew Waters
33584480b5
glmixer: override the caps query in order to 'convert' capsfeatures
...
Otherwise, it is only possible for the sink pads and the src pads to
have the exact same caps features. We can convert from any feature
to another feature so support that.
2014-10-24 00:35:22 +11:00
Matthew Waters
6687d39734
glmixer: override the accept caps query in order to 'convert' capsfeatures
...
Otherwise, it is only possible for the sink pads and the src pads to
have the exact same caps features. We can convert from any feature
to another feature so support that.
2014-10-23 23:58:33 +11:00
Matthew Waters
340542edc7
gl: propogate other-context using GstContext
2014-10-23 23:58:33 +11:00
Matthew Waters
be214eac0f
glmixer: fixup eglimage include path
2014-10-21 06:04:10 +11:00
Matthew Waters
7b4db67f6c
glbufferpool: add the GstVideoGLTextureUploadMeta buffer pool option
2014-10-21 02:00:09 +11:00
Matthew Waters
8bf2acba1d
videoaggregator: operate on caps rather than video info
...
Otherwise the CapsFeatures will be lost along with the possibility
of multiple output types and formats.
https://bugzilla.gnome.org/show_bug.cgi?id=738129
2014-10-21 01:14:36 +11:00
Sebastian Dröge
318b55e3ae
glmixer: Call the pad's parent class finalize method
2014-10-13 13:27:55 +02:00
Sebastian Dröge
21275caae5
glmixer: Only finalize the other context in finalize()
...
Otherwise we change a value of a property when going to READY state,
which is unexpected behaviour.
2014-10-13 13:27:11 +02:00
Sebastian Dröge
a92ffca745
glmixer: Add other-context property
2014-10-13 11:57:22 +02:00
Matthew Waters
65ed8ecf07
glvideomixer: update element documentation
2014-09-30 20:39:36 +10:00
Matthew Waters
bc399a0403
glvideomixer: fix blending with low-alpha sources
...
We also need to apply the blend paramaters to the alpha channel otherwise
the output of the blend will appear black at low alpha values (< 0.2).
2014-09-26 01:59:43 +10:00
Matthew Waters
e0476bf014
glvideomixer: skip input frames with an alpha of 0
2014-09-24 14:31:19 +10:00
Matthew Waters
e0459f1b65
gl: download whenever we have sysmem capsfeatures
...
Otherwise we could pass on a RGBA formatted buffer and downstream would
misinterpret that as some other video format.
Fixes pipelines of the form
gleffects ! tee ! xvimagesink
2014-09-24 13:16:30 +10:00
Matthew Waters
03c21f78b6
glupload: provide the output buffer that is rendered into
...
Allows callers to properly reference count the buffers used for
rendering.
Fixes a redraw race in glimagesink where the previous buffer
(the one used for redraw operations) is freed as soon as the next
buffer is uploaded.
1. glimagesink uploads in _prepare() to texture n
1.1 glupload holds buffer n
2. glimagesink _render()s texture n
3. glimagesink uploads texture n+1
3.1 glupload free previous buffer which deletes texture n
3.2 glupload holds buffer n+1
4. glwindow resize/expose
5. glimagesink redraws with texture n
The race is that the buffer n (the one used for redrawing) is freed as soon as
the buffer n+1 arrives. There could be any amount of time and number of
redraws between this event and when buffer n+1 is actually rendered and thus
replaces buffer n as the redraw source.
https://bugzilla.gnome.org/show_bug.cgi?id=736740
2014-09-21 21:36:49 +10:00
Sanjay NM
a45a5f0101
gl: Removed unreachable break, unused variable
...
https://bugzilla.gnome.org/show_bug.cgi?id=736957
2014-09-19 21:48:14 +10:00
Ognyan Tonchev
0dbce9c6ab
glmixer: do not leak pool in error cases
...
https://bugzilla.gnome.org/show_bug.cgi?id=736729
2014-09-16 12:48:01 +03:00
Matthew Waters
7a0155e735
glmixer: unref the GstGLUpload in the pad if freed while running
...
Dynamic pipelines that get and release the sink pads will finalize
the pad without going through gst_gl_mixer_stop() which is where the
upload object is usually freed. Don't leak objects in such case.
2014-08-19 17:01:36 +10:00
Wang Xin-yu (王昕宇)
51b23bbff7
glvideomixer: avoid gl resource race condition between different thread
...
https://bugzilla.gnome.org/show_bug.cgi?id=734830
2014-08-19 17:00:58 +10:00
Matthew Waters
a555c32f30
glvideomixer: don't clobber unnecessary GstVideoInfo fields
...
otherwise we might clobber other important fields such as the frame rate.
2014-08-19 14:44:29 +10:00
Matthew Waters
3fe5412357
glvideomixer: get the attribute from the correct shader
2014-08-19 14:43:42 +10:00
Tim-Philipp Müller
0ab1136f4e
opengl: update element docs for 1.x
2014-08-10 18:07:28 +01:00
Matthew Waters
5cddc44b0a
glvideomixer: add a background property
...
That's compatible with the compositor/videomixer property
https://bugzilla.gnome.org/show_bug.cgi?id=731954
2014-08-07 19:21:02 +10:00
Wang Xin-yu (王昕宇)
e9bf900d33
gl: fix multi gl object leaks
...
1. fix FBO leaks in decide_allocation
2. fix texture leaks in decide_allocation and reset
3. fix texture leaks in FBO incomplete error path
2014-07-24 11:46:56 +10:00
Sebastian Dröge
8c7916d4ec
gl: Move GstGLMixer to the plugin for now
...
It depends on GstAggregator and we don't want to install headers
for that yet.
https://bugzilla.gnome.org/show_bug.cgi?id=732207
2014-07-11 09:41:05 +02:00
Julien Isorce
b0a0974ea7
gl: enable glvideomixer on GLES2
2014-06-25 06:55:11 +01:00
Matthew Waters
7f2000a7a5
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
0646c33970
glvideomixer: don't clobber already allocated shader
2014-06-25 10:19:42 +10:00
Thibault Saunier
1f1283b4d8
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
59a7205ae0
gl: Port glmixer to the GstVideoAggregator baseclass
...
https://bugzilla.gnome.org/show_bug.cgi?id=731921
2014-06-20 19:53:33 +02:00
Matthew Waters
b1a11258b1
glvideomixer: silence incorrect number of arguments in format warning
2014-06-15 15:18:46 +10:00
Matthew Waters
fabdcd1dfc
glvideomixer: wire up the alpha pad property
2014-06-15 13:59:07 +10:00
Matthew Waters
ec7df9773f
glvideomixer: support input frame scaling
2014-06-15 13:44:04 +10:00
Matthew Waters
e3a48cb9d6
glvideomixer: add positioning of input streams
...
https://bugzilla.gnome.org/show_bug.cgi?id=729798
2014-06-15 12:28:45 +10:00
Vincent Penquerc'h
c2fbe354c1
gl: test for frame NULLness before dereferencing it
...
Coverity 1195172, 1195171
2014-04-08 16:25:51 +01:00
Matthew Waters
58206849b5
gl: fix array initialization
2014-04-02 23:05:11 +11:00
Matthew Waters
665cc2ba21
gl: fix assignment of temporary variables
2014-04-02 22:43:41 +11:00
Matthew Waters
32621be708
move gl elements to ext subdirectory
2014-03-16 11:23:16 +01:00