platform/upstream/gst-plugins-base.git
10 years agoglvideomixer: skip input frames with an alpha of 0
Matthew Waters [Wed, 24 Sep 2014 04:29:37 +0000 (14:29 +1000)]
glvideomixer: skip input frames with an alpha of 0

10 years agogl: download whenever we have sysmem capsfeatures
Matthew Waters [Wed, 24 Sep 2014 03:13:19 +0000 (13:13 +1000)]
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

10 years agoglupload: provide the output buffer that is rendered into
Matthew Waters [Sun, 21 Sep 2014 11:36:49 +0000 (21:36 +1000)]
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

10 years agogl: Removed unreachable break, unused variable
Sanjay NM [Fri, 19 Sep 2014 10:02:33 +0000 (15:32 +0530)]
gl: Removed unreachable break, unused variable

https://bugzilla.gnome.org/show_bug.cgi?id=736957

10 years agoglmixer: do not leak pool in error cases
Ognyan Tonchev [Tue, 16 Sep 2014 09:41:16 +0000 (11:41 +0200)]
glmixer: do not leak pool in error cases

https://bugzilla.gnome.org/show_bug.cgi?id=736729

10 years agoglmixer: unref the GstGLUpload in the pad if freed while running
Matthew Waters [Tue, 19 Aug 2014 07:01:36 +0000 (17:01 +1000)]
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.

10 years agoglvideomixer: avoid gl resource race condition between different thread
Wang Xin-yu (王昕宇) [Fri, 15 Aug 2014 03:51:21 +0000 (23:51 -0400)]
glvideomixer: avoid gl resource race condition between different thread

https://bugzilla.gnome.org/show_bug.cgi?id=734830

10 years agoglvideomixer: don't clobber unnecessary GstVideoInfo fields
Matthew Waters [Tue, 19 Aug 2014 04:44:29 +0000 (14:44 +1000)]
glvideomixer: don't clobber unnecessary GstVideoInfo fields

otherwise we might clobber other important fields such as the frame rate.

10 years agoglvideomixer: get the attribute from the correct shader
Matthew Waters [Tue, 19 Aug 2014 04:43:42 +0000 (14:43 +1000)]
glvideomixer: get the attribute from the correct shader

10 years agovideoaggregator: push the caps event as soon as we receive it
Matthew Waters [Thu, 7 Aug 2014 09:54:36 +0000 (19:54 +1000)]
videoaggregator: push the caps event as soon as we receive it

Along with the required mandatory dependent events.

Some elements need to perform an allocation query inside
::negotiated_caps().  Without the caps event being sent prior,
downstream elements will be unable to answer and will return
an error.

https://bugzilla.gnome.org/show_bug.cgi?id=732662

10 years agoopengl: update element docs for 1.x
Tim-Philipp Müller [Sun, 10 Aug 2014 17:07:28 +0000 (18:07 +0100)]
opengl: update element docs for 1.x

10 years agovideoaggregator: Unref allowed caps after usage
Sebastian Rasmussen [Sat, 9 Aug 2014 09:17:44 +0000 (11:17 +0200)]
videoaggregator: Unref allowed caps after usage

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734522

10 years agoglvideomixer: add a background property
Matthew Waters [Thu, 7 Aug 2014 09:18:49 +0000 (19:18 +1000)]
glvideomixer: add a background property

That's compatible with the compositor/videomixer property

https://bugzilla.gnome.org/show_bug.cgi?id=731954

10 years agogl: fix multi gl object leaks
Wang Xin-yu (王昕宇) [Wed, 23 Jul 2014 02:25:31 +0000 (10:25 +0800)]
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

10 years agogl: Move GstGLMixer to the plugin for now
Sebastian Dröge [Fri, 11 Jul 2014 07:41:05 +0000 (09:41 +0200)]
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

10 years agovideoaggregator: Fix some more the locking logic in update_src_caps
Thibault Saunier [Sun, 6 Jul 2014 21:30:53 +0000 (23:30 +0200)]
videoaggregator: Fix some more the locking logic in update_src_caps

We need the GST_OBJECT_LOCK only to iterate the sinkpads, nothing else.

https://bugzilla.gnome.org/show_bug.cgi?id=732750

10 years agovideoaggregator: fix broken locking in update_src_caps function
Tim-Philipp Müller [Sun, 6 Jul 2014 21:16:48 +0000 (22:16 +0100)]
videoaggregator: fix broken locking in update_src_caps function

We would unlock an already-unlocked mutex that we never re-locked.

https://bugzilla.gnome.org/show_bug.cgi?id=732750

10 years agovideoaggregator: reset QoS on segment event
Vincent Penquerc'h [Tue, 1 Jul 2014 11:52:39 +0000 (12:52 +0100)]
videoaggregator: reset QoS on segment event

https://bugzilla.gnome.org/show_bug.cgi?id=732540

10 years agobadvideo: Rename videoconvert functions to prevent conflicts with static linking
Sebastian Dröge [Sat, 28 Jun 2014 15:01:52 +0000 (17:01 +0200)]
badvideo: Rename videoconvert functions to prevent conflicts with static linking

https://bugzilla.gnome.org/show_bug.cgi?id=728443

10 years agocompositor: tests: Fix pad leak
Thiago Santos [Sat, 28 Jun 2014 12:43:48 +0000 (09:43 -0300)]
compositor: tests: Fix pad leak

Remember to unref requested pad

10 years agovideoaggregator: fix a refcount error when keeping the buffer
Matthew Waters [Thu, 26 Jun 2014 14:09:08 +0000 (00:09 +1000)]
videoaggregator: fix a refcount error when keeping the buffer

We take a ref on the pad's buffer at the beginning so we need to
unref when we are done in all cases.

10 years agogl: enable glvideomixer on GLES2
Julien Isorce [Sun, 22 Jun 2014 12:14:27 +0000 (13:14 +0100)]
gl: enable glvideomixer on GLES2

10 years agoglvideomixer: bas output width/height on the pad properties
Matthew Waters [Wed, 25 Jun 2014 02:00:34 +0000 (12:00 +1000)]
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

10 years agoglvideomixer: don't clobber already allocated shader
Matthew Waters [Wed, 25 Jun 2014 00:18:48 +0000 (10:18 +1000)]
glvideomixer: don't clobber already allocated shader

10 years agocompositor: Fix Makefile CFLAGS/LIBADD ordering
Edward Hervey [Tue, 24 Jun 2014 06:01:21 +0000 (08:01 +0200)]
compositor: Fix Makefile CFLAGS/LIBADD ordering

We want to use the libraries from -bad if/when present

10 years agovideoaggregator: don't clobber already heap allocated video frame
Matthew Waters [Mon, 23 Jun 2014 12:40:23 +0000 (22:40 +1000)]
videoaggregator: don't clobber already heap allocated video frame

CID # 1223440

10 years agovideoaggregator: fix up the parent chaining for dispose and finalize
Matthew Waters [Mon, 23 Jun 2014 12:36:23 +0000 (22:36 +1000)]
videoaggregator: fix up the parent chaining for dispose and finalize

10 years agoRelease 1.3.3
Sebastian Dröge [Sun, 22 Jun 2014 17:22:28 +0000 (19:22 +0200)]
Release 1.3.3

10 years agolibs:video: Properly declare APIs as UNSTABLE
Thibault Saunier [Sat, 21 Jun 2014 14:52:51 +0000 (16:52 +0200)]
libs:video: Properly declare APIs as UNSTABLE

10 years agolibs: videoaggregato: Do not import videoconvert.h in gstvideoaggregatorpad.h
Thibault Saunier [Fri, 20 Jun 2014 20:02:07 +0000 (22:02 +0200)]
libs: videoaggregato: Do not import videoconvert.h in gstvideoaggregatorpad.h

+ Add a Private structure to the GstVideoAggregatorPad
+ Add some padding

10 years agogl:glvideomixer: Add the Compositor in the element metadata class
Thibault Saunier [Fri, 20 Jun 2014 09:10:45 +0000 (11:10 +0200)]
gl:glvideomixer: Add the Compositor in the element metadata class

So it is possible to pick one compositing element from the registry

10 years agocompositor: Add a new compositor based on the new GstVideoAggregator base class
Mathieu Duponchelle [Thu, 22 May 2014 17:46:02 +0000 (19:46 +0200)]
compositor: Add a new compositor based on the new GstVideoAggregator base class

It is a replacement for videomixer with a similare API

Co-Authored by: Thibault Saunier <tsaunier@gnome.org>

https://bugzilla.gnome.org/show_bug.cgi?id=731919

10 years agogl: Port glmixer to the GstVideoAggregator baseclass
Thibault Saunier [Tue, 10 Jun 2014 09:26:53 +0000 (11:26 +0200)]
gl: Port glmixer to the GstVideoAggregator baseclass

https://bugzilla.gnome.org/show_bug.cgi?id=731921

10 years agovideoaggregator: Create a new GstVideoAggregator baseclass
Mathieu Duponchelle [Tue, 3 Jun 2014 17:00:34 +0000 (19:00 +0200)]
videoaggregator: Create a new GstVideoAggregator baseclass

This base class has been added to a newly created libgstbadvideo library

Co-Authored by: Thibault Saunier <tsaunier@gnome.org>

https://bugzilla.gnome.org/show_bug.cgi?id=731918

10 years agoglvideomixer: silence incorrect number of arguments in format warning
Matthew Waters [Sun, 15 Jun 2014 05:18:46 +0000 (15:18 +1000)]
glvideomixer: silence incorrect number of arguments in format warning

10 years agoglvideomixer: wire up the alpha pad property
Matthew Waters [Sun, 15 Jun 2014 03:59:07 +0000 (13:59 +1000)]
glvideomixer: wire up the alpha pad property

10 years agoglvideomixer: support input frame scaling
Matthew Waters [Sun, 15 Jun 2014 03:44:04 +0000 (13:44 +1000)]
glvideomixer: support input frame scaling

10 years agoglvideomixer: add positioning of input streams
Matthew Waters [Sun, 15 Jun 2014 02:26:21 +0000 (12:26 +1000)]
glvideomixer: add positioning of input streams

https://bugzilla.gnome.org/show_bug.cgi?id=729798

10 years agogl: test for frame NULLness before dereferencing it
Vincent Penquerc'h [Tue, 8 Apr 2014 15:23:50 +0000 (16:23 +0100)]
gl: test for frame NULLness before dereferencing it

Coverity 1195172, 1195171

10 years agogl: fix array initialization
Matthew Waters [Wed, 2 Apr 2014 12:05:11 +0000 (23:05 +1100)]
gl: fix array initialization

10 years agogl: fix assignment of temporary variables
Matthew Waters [Wed, 2 Apr 2014 11:43:41 +0000 (22:43 +1100)]
gl: fix assignment of temporary variables

10 years agomove gl elements to ext subdirectory
Matthew Waters [Sun, 16 Mar 2014 10:23:16 +0000 (11:23 +0100)]
move gl elements to ext subdirectory