Guillaume Desmottes
fae93514e4
glmixer: unref owned caps when finalizing the mixer
...
Fix a caps leak with the
validate.file.glvideomixer.simple.play_15s.synchronized scenario.
https://bugzilla.gnome.org/show_bug.cgi?id=747915
Signed-off-by: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2015-04-17 14:28:37 +01:00
Guillaume Desmottes
481b1c921e
glmixer: pass the proper free function to frames and buffers array
...
'array_buffers' contain borrowed GstBuffer and so shouldn't have a free
function. 'frames' is the one containing GstGLMixerFrameData and so should use
_free_glmixer_frame_data as free function.
Fix GstGLMixerFrameData leaks with the
validate.file.glvideomixer.simple.play_15s.synchronized scenario.
https://bugzilla.gnome.org/show_bug.cgi?id=747913
Signed-off-by: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2015-04-17 14:28:25 +01:00
Sebastian Dröge
917c395403
gldownloadelement: Download *from* OpenGL, not into
2015-04-17 15:20:12 +02:00
Matthieu Bouron
f283d72636
gluploadelement: Unref GstGLUpload object and caps in ::stop()
...
Fix leak of the GstGLUpload object.
https://bugzilla.gnome.org/show_bug.cgi?id=748033
2015-04-17 14:17:55 +02:00
Sebastian Dröge
c1cac829ef
gl: Remove some empty ::finalize() implementations
2015-04-17 14:09:47 +02:00
Sebastian Dröge
9ee29626c4
gldownloadelement: Fix element description
2015-04-17 14:06:03 +02:00
Sebastian Dröge
758fea90aa
gldownloadelement: Remove unused ::finalize() implementation
2015-04-17 14:05:44 +02:00
Sebastian Dröge
53ed701974
glcolorconvertelement: Also unref caps in ::stop() already
...
They are not useful anymore afterwards, so keeping them until ::finalize()
might only cause someone to use them later and then fail.
2015-04-17 14:04:14 +02:00
Guillaume Desmottes
17446a420c
glcolorconvertelement: fix GstGLColorConvert leak
...
convert->convert was never unreffed.
This can be reproduce with the
validate.file.glvideomixer.simple.play_15s.synchronized scenario.
https://bugzilla.gnome.org/show_bug.cgi?id=747911
2015-04-17 14:04:14 +02:00
Sebastian Dröge
25561db099
glimagesink: Disconnect mouse/key event signal handlers from window when shutting down context
2015-04-06 20:28:22 -07:00
Sebastian Dröge
a72e204eae
glimagesink: Guard against disconnecting invalid signal ids
2015-04-06 20:24:06 -07:00
Edward Hervey
90028d68fe
glvideomixer: Don't use context if not present
...
Avoids assertions at runtime
2015-03-31 16:31:18 +02:00
Anton Obzhirov
4504356dda
gleffects: port all effects to GLES2.0
...
https://bugzilla.gnome.org/show_bug.cgi?id=745955
2015-03-30 19:06:44 +01:00
Nicola Murino
0719c8c766
glimagesink: fix caps leak
...
https://bugzilla.gnome.org/show_bug.cgi?id=746541
2015-03-21 16:52:08 +00:00
Víctor Manuel Jáquez Leal
d925e7fd19
glupload: move meta-data copy into gst-gl library
...
In some upload implementations the out buffer has more than one references,
turning the buffer not writable, so it won't be possible to modify its
meta-data.
This patch moves the meta-data copy before increasing the reference of the out
buffer.
https://bugzilla.gnome.org/show_bug.cgi?id=746173
2015-03-14 19:53:02 +00:00
Julien Isorce
f8fca66fb9
glimagesink: keep window invisible when sharing output
...
https://bugzilla.gnome.org/show_bug.cgi?id=739681
2015-03-14 17:56:39 +00:00
Julien Isorce
0150255a46
glimagesink: provide GstSample in client-draw signal
...
Instead of prividing texture and size directly.
And apply changes to examples.
https://bugzilla.gnome.org/show_bug.cgi?id=739681
2015-03-14 17:56:21 +00:00
Matthew Waters
fa61e8e4ce
glsyncmeta: make context to wait and set sync explicit
...
otherwise we may wait on a sync object in same context by accident
2015-03-14 16:53:46 +00:00
Nicolas Dufresne
ac89e53173
glimagesink: Add NULL check in error case
...
Other context may be NULL if something went wrong. Avoid trying to unref
a NULL pointer.
2015-03-14 12:58:22 +00:00
Matthew Waters
0c8ede8565
glupload/colorconvert: only copy timestamps if the input buffer != output
2015-03-14 10:39:06 +00:00
Matthew Waters
a29a18cc3a
glshader: attribute locations are -1 on error
2015-03-13 17:41:17 +00:00
Jan Schmidt
450dc5f697
GL: Remove annoying printf in the filterbin class_init
2015-03-14 02:54:18 +11:00
Matthew Waters
2ba6bb9b93
glimagesink: add pixel-aspect-ratio property on the bin
2015-03-13 12:43:13 +00:00
Matthew Waters
4be45e5f30
glimagesink: forward ALL the properties on the bin
2015-03-13 12:30:20 +00:00
Matthew Waters
067d5c45d2
gluploadelement: properly unref buffers that are the same as the input
...
basetransform doesn't unref equal input and output buffers
2015-03-13 12:30:20 +00:00
Matthew Waters
34485c9976
gl: get the context from basemixer/basefilter
2015-03-13 12:30:20 +00:00
Matthew Waters
91b7642c48
gl: retreive the gldisplay/app gl context as soon as possible
...
fixes the usage of gst_gl_display_filter_gl_api
2015-03-13 12:30:20 +00:00
Matthew Waters
dbe8ae4d98
caopengllayersink: implement as a bin like glimagesink
2015-03-12 16:45:51 +00:00
Matthew Waters
66ccdab09a
gl/cocoa: avoid deadlock when creating context on the main thread.
...
Make window/view creation async so that it is possible to
gst_gl_context_create from the main thread.
2015-03-12 16:45:51 +00:00
Matthew Waters
ef0bd30c87
gl: store the list of contexts within gldisplay
...
Removes the reliance on the allocation query to propogate GL contexts.
Allows thread safely getting a context for the a specific thread.
2015-03-12 16:45:51 +00:00
Matthew Waters
2f2470488b
glimagesink: unset the current shader after rendering
...
fixes gltestsrc ! glimagesink when gltestsrc doesn't use a shader
2015-03-12 16:45:51 +00:00
Matthew Waters
5495397c81
gltestsrc: remove usage of gldownload library object
2015-03-12 16:45:51 +00:00
Matthew Waters
776d190f59
gl: new glsrcbin element
2015-03-12 16:45:51 +00:00
Matthew Waters
0fb56738a1
glvideomixer: implement with glmixerbin
...
The relevant properties are forwarded to/from the containing bin
and sink pads.
2015-03-12 16:45:51 +00:00
Matthew Waters
d5a692bdb0
glmixer: remove usage of upload/download objects
2015-03-12 16:45:51 +00:00
Matthew Waters
9e605fca6c
gl: new glmixerbin element
2015-03-12 16:45:51 +00:00
Matthew Waters
8a0017e21d
glimagesink: implement as a bin
...
glupload ! glcolorconvert ! sink
Some properties are manually forwarded. The rest are available using
GstChildProxy.
The two signals are forwarded as well.
2015-03-12 16:45:50 +00:00
Matthew Waters
b0600aca97
gl: new glsinkbin element
...
similar to glfilterbin but for sinks
2015-03-12 16:45:50 +00:00
Matthew Waters
7fe908bc02
gl: new element glfilterbin
...
It encapsulates a confiurable GL processing element in the
upload/colorconvert/download dance required to transparently process
the majority of GstBuffer's.
2015-03-12 16:45:50 +00:00
Matthew Waters
a7cbc04aba
gl: add new gldownloadelement
...
Simply transforms caps to/from raw/glmemory capsfeatures
2015-03-12 16:45:50 +00:00
Matthew Waters
3514600bf3
gl: add a new glcolorconvert element based on the glcolorconvert library object
2015-03-12 16:45:50 +00:00
Matthew Waters
efaca13d11
gl: add a new glupload element based on the glupload library object
2015-03-12 16:45:50 +00:00
Matthew Waters
45d85a0570
gl: add a new glbasemixer class below glmixer
...
It deals with propagating the gl display/contexts throughout the
application/pipeline
2015-03-12 16:45:50 +00:00
Nicolas Dufresne
2d5d2eabef
glmixer: Don't share our downstream pool with upstream
...
Pool cannot have multiple owner. This can lead to spurious
pool was flushing error.
https://bugzilla.gnome.org/show_bug.cgi?id=74570
2015-03-06 20:12:09 -05:00
Nicolas Dufresne
fb4d769425
glimagesink: Only cache pool, don't manage it
...
GLImage does not use any kind of internal pool. There was some
remaining code and comment stating that it was managing the
pool, and it was in fact setting the active state when doing
to ready state.
* Only create the pool if requested and in propose_allocation
* Cache the pool to avoid reallocation on spurious reconfigure
* Don't try to deactivate the pool (we don't own it)
https://bugzilla.gnome.org/show_bug.cgi?id=745705
2015-03-06 19:25:16 -05:00
Sebastian Dröge
b81823e7db
gl: Remove format info in glcolorconvert's transform_caps function instead of on every caller
...
... and let glmixer actually transform the caps it is supposed to transform
instead of inventing new caps.
2015-03-06 18:53:13 +01:00
Nicolas Dufresne
eff94f929d
gloverlay: Fix upside down and miss-aligned JPEG
...
LibJPEG uses macroblock of 8x8 sample. In this element we use RGB and
Y444, two 24bit formats that are stored in 32bit pixels. This mean we
have 32x32 bytes macroblocks. For this reason, we need to allocate
our buffer slightly larger. We also need to pass the line pointer in
the right order, otherwise the image endup upside-down.
https://bugzilla.gnome.org/show_bug.cgi?id=745109
2015-03-03 15:26:13 -05:00
Xavier Claessens
128c2a141a
gltransformation: normalize translations
...
https://bugzilla.gnome.org/show_bug.cgi?id=744763
* Lubosz: use maxfloat for transformation range
2015-03-03 14:05:21 -05:00
Xavier Claessens
80f97eaee7
gltransformation: Fix doc typo
...
https://bugzilla.gnome.org/show_bug.cgi?id=744763
2015-03-03 14:05:21 -05:00
Nicolas Dufresne
b8f168cd65
glmemory: Add GstAllocationParams and alignment support
...
This implements support for GstAllocationParams and memory alignments.
The parameters where simply ignored which could lead to crash on
certain platform when used with libav and no luck.
https://bugzilla.gnome.org/show_bug.cgi?id=744246
2015-02-28 14:32:39 -05:00