platform/upstream/gstreamer.git
8 years agokmssink: enable UYVY, YUY2, and YVYU (interleaved YUV 4:2:2) formats
Philipp Zabel [Fri, 12 Feb 2016 13:21:27 +0000 (14:21 +0100)]
kmssink: enable UYVY, YUY2, and YVYU (interleaved YUV 4:2:2) formats

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

8 years agokmssink: enable NV16 (chroma-interleaved YUV 4:2:2) format
Philipp Zabel [Fri, 12 Feb 2016 13:17:32 +0000 (14:17 +0100)]
kmssink: enable NV16 (chroma-interleaved YUV 4:2:2) format

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

8 years agokmssink: enable Y42B (planar YUV 4:2:2) format
Philipp Zabel [Fri, 12 Feb 2016 13:17:13 +0000 (14:17 +0100)]
kmssink: enable Y42B (planar YUV 4:2:2) format

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

8 years agokmssink: keep last rendered buffer in memory
Víctor Manuel Jáquez Leal [Fri, 4 Mar 2016 15:53:58 +0000 (16:53 +0100)]
kmssink: keep last rendered buffer in memory

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

8 years agokmssink: wait for page flip or vblank
Víctor Manuel Jáquez Leal [Sat, 20 Feb 2016 22:13:54 +0000 (23:13 +0100)]
kmssink: wait for page flip or vblank

This patch requests for drmModePageFlip() for the used CRTC, if the kernel
module suppports async page flip. If it does not, the element requests for a
vblank event. A GstPoll waits for the event to happen.

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

8 years agokmssink: add dmabuf support
Víctor Manuel Jáquez Leal [Wed, 10 Feb 2016 19:43:47 +0000 (20:43 +0100)]
kmssink: add dmabuf support

This patch will enable the import of dmabufs into a KMS buffer using
the PRIME kernel interface.

If the driver does not support prime import, the method is skipped.

It has been tested with a Freescale I.MX6 board.

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

8 years agokmssink: calculate display ratio
Víctor Manuel Jáquez Leal [Sun, 31 Jan 2016 12:12:34 +0000 (13:12 +0100)]
kmssink: calculate display ratio

Get the aspect ratio given the information provided by libdrm, and with it
calculate the display ratio.

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

8 years agokmssink: add plugin and sink element
Víctor Manuel Jáquez Leal [Wed, 20 Jan 2016 11:00:51 +0000 (12:00 +0100)]
kmssink: add plugin and sink element

This is simple video sink that use libdrm/libkms API to render frames.

The element uses planes to render through drmModeSetPlane().

It has been tested in an Exynos4412 board and in a Freescale I.MX6 board.

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

8 years agovulkan: add a wayland winsys implementation
Matthew Waters [Sun, 10 Apr 2016 07:46:15 +0000 (17:46 +1000)]
vulkan: add a wayland winsys implementation

8 years agovulkan/xcb: getProcAddress winsys functions
Matthew Waters [Sun, 10 Apr 2016 07:43:39 +0000 (17:43 +1000)]
vulkan/xcb: getProcAddress winsys functions

There's no guarantee that they will always be exposed by the vulkan loader.

8 years agovkupload: copy necessary buffer metadata
Matthew Waters [Sat, 9 Apr 2016 07:52:28 +0000 (17:52 +1000)]
vkupload: copy necessary buffer metadata

timestamps, flags, etc

8 years agolibgstgl: cocoa, eagl: use libdispatch to schedule GL calls
Alessandro Decina [Sun, 10 Apr 2016 22:34:00 +0000 (08:34 +1000)]
libgstgl: cocoa, eagl: use libdispatch to schedule GL calls

Use libdispatch instead of GMainLoop to dispatch GL calls. libdispatch is more
optimized and cuts a lot of poll()/pthread_* overhead.

8 years agoglwindow: reduce the number of GMutexes and GConds in send_message()
Alessandro Decina [Sun, 10 Apr 2016 22:02:45 +0000 (08:02 +1000)]
glwindow: reduce the number of GMutexes and GConds in send_message()

Don't create many short lived locks/conds in gst_gl_window_send_message. This is
a micro optimization to save a bunch of pthread_* calls which are expensive on
OSX/iOS and possibly other platforms.

8 years agowin32: update .def file for new gl api
Tim-Philipp Müller [Sun, 10 Apr 2016 21:18:38 +0000 (22:18 +0100)]
win32: update .def file for new gl api

8 years agovkswapper: add necessary wait stages to the submission info
Matthew Waters [Fri, 8 Apr 2016 08:34:45 +0000 (18:34 +1000)]
vkswapper: add necessary wait stages to the submission info

8 years agovkswapper: add srgb formats to our list of formats
Matthew Waters [Fri, 8 Apr 2016 08:32:41 +0000 (18:32 +1000)]
vkswapper: add srgb formats to our list of formats

intel returns them for their surface formats.

8 years agovulkan: silence a validation warning filling out the image barrier
Matthew Waters [Fri, 8 Apr 2016 08:09:53 +0000 (18:09 +1000)]
vulkan: silence a validation warning filling out the image barrier

8 years agovulkan: use the correct validation layer name
Matthew Waters [Fri, 8 Apr 2016 08:09:06 +0000 (18:09 +1000)]
vulkan: use the correct validation layer name

The threading validation layer has changed names.

8 years agodecklink: Initialize capture_time to NONE so it can be used if no video frame is...
Sebastian Dröge [Fri, 8 Apr 2016 11:07:55 +0000 (14:07 +0300)]
decklink: Initialize capture_time to NONE so it can be used if no video frame is provided but audio is

CID 1358390

8 years agovulkan: only warn on not found layers
Matthew Waters [Fri, 8 Apr 2016 07:56:50 +0000 (17:56 +1000)]
vulkan: only warn on not found layers

don't error out completely

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

8 years agovulkan: don't g_error when failing to find validation layers
Matthew Waters [Fri, 8 Apr 2016 07:41:07 +0000 (17:41 +1000)]
vulkan: don't g_error when failing to find validation layers

Aborting the application is never a good thing to do for recoverable errors.

Just warn and error out instead.

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

8 years agonvenc: add some rate control modes/properties
Matthew Waters [Fri, 8 Apr 2016 04:51:44 +0000 (14:51 +1000)]
nvenc: add some rate control modes/properties

Supported modes are constant quantizer, cbr, vbr and vbr with a minimum quantizer.

8 years agonvenc: move codec config initialization from the implementation to the base class
Matthew Waters [Thu, 7 Apr 2016 13:24:47 +0000 (23:24 +1000)]
nvenc: move codec config initialization from the implementation to the base class

Supports a better separation of configuration parameters

8 years agonvenc: add preset selection
Matthew Waters [Thu, 7 Apr 2016 12:46:08 +0000 (22:46 +1000)]
nvenc: add preset selection

Some presets are not always supported on all devices and will cause an error if
used.  Specifically, the LOSSLESS presets are known to not work everywhere.

8 years agochromaprint: emit notify::fingerprint signal when fingerprint is ready
Marcin Kolny [Wed, 16 Jul 2014 00:44:42 +0000 (02:44 +0200)]
chromaprint: emit notify::fingerprint signal when fingerprint is ready

In addition to adding the fingerprint to the tags.

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

8 years agovideoaggregator: repect the result of find_best_format in the default update_caps
Matthew Waters [Mon, 4 Apr 2016 10:55:51 +0000 (20:55 +1000)]
videoaggregator: repect the result of find_best_format in the default update_caps

We weren't using the result of find_best_format at all.

Also, move the find_best_format usage to the default update_caps() to make
sure that it is also overridable.

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

8 years agorfbsrc: Fix fallback to GstVideoBufferPool
Nicolas Dufresne [Wed, 6 Apr 2016 01:40:58 +0000 (21:40 -0400)]
rfbsrc: Fix fallback to GstVideoBufferPool

The replacement pool need to be added to the query, otherwise the
baseclass won't see it. We also need to properly remove the rejected
pools.

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

8 years agorfbsrc: Implement decide_allocation virtual
Nicolas Dufresne [Wed, 6 Apr 2016 01:07:32 +0000 (21:07 -0400)]
rfbsrc: Implement decide_allocation virtual

This way we can use the base class for buffer allocation, hence use
fill() instead of create() virtual. This also adds a strict check on the
select pool buffer size as we don't support strides and padding.

This is based on initial patch proposed by Sebastien Dröge, from which I
also fixed a buffer pool leak.

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

8 years agorfbsrc: Fix caps negotiation
Nicolas Dufresne [Tue, 5 Apr 2016 19:31:49 +0000 (15:31 -0400)]
rfbsrc: Fix caps negotiation

As we currently only use the server reported "natural" format, caps
negotiation should simply be limited to telling the base class which
format to use. Fix the negotiation by moving the associated code
into negotiate() virtual function. Also, use gst_base_src_set_caps()
rather then setting it on the pad directly. Also protect against this
method being called multiple time (we can't renegotiate for now).

This change also moves some network code that was being run during the
application state change call, to be run on the streaming thread.

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

8 years agorfbsrc: Implement unlock() method
Nicolas Dufresne [Sat, 26 Mar 2016 17:36:34 +0000 (13:36 -0400)]
rfbsrc: Implement unlock() method

This prevent stalls when we try to stop the source while waiting
for the server to send more updates.

8 years agorfbsrc: Check for connection being closed
Nicolas Dufresne [Thu, 24 Mar 2016 22:27:54 +0000 (18:27 -0400)]
rfbsrc: Check for connection being closed

Although it's not very well documented, g_input_stream_read_all() will
set the number of bytes read to 0 if the connection is closed rather
then returning an error.

8 years agorfbsrc: Check for read/write error
Nicolas Dufresne [Thu, 24 Mar 2016 22:26:46 +0000 (18:26 -0400)]
rfbsrc: Check for read/write error

Check for read/write error. This prevent undefined behaviour that rely
on unitialized buffer.

8 years agorfbsrc: Add a internal method to disconnect
Nicolas Dufresne [Thu, 24 Mar 2016 22:14:17 +0000 (18:14 -0400)]
rfbsrc: Add a internal method to disconnect

This also removes the disconnected boolean hack.

8 years agorfbsrc: Don't ignore errors
Nicolas Dufresne [Thu, 24 Mar 2016 22:14:37 +0000 (18:14 -0400)]
rfbsrc: Don't ignore errors

This prevents recursion on error. This used to happen as we
don't change the state when something fails. We end up running
and failing in the same state forever.

8 years agorfbsrc: Serialize write operations
Nicolas Dufresne [Thu, 24 Mar 2016 20:46:49 +0000 (16:46 -0400)]
rfbsrc: Serialize write operations

Currently we send key events from seperate threads. IOStream does not
allow concurrent write operations, so protect this operation using a
mutex.

8 years agorfbsrc: Add 3.7/3.8 security type negotiation
Nicolas Dufresne [Thu, 17 Mar 2016 19:24:52 +0000 (15:24 -0400)]
rfbsrc: Add 3.7/3.8 security type negotiation

8 years agorfbsrc: Port to GSocketClient
Nicolas Dufresne [Wed, 16 Mar 2016 22:48:49 +0000 (18:48 -0400)]
rfbsrc: Port to GSocketClient

Using GSocketClient we can simplify a lot the read/write operation.
This also provide an GSocketConnection (a GIOStream) which can then
be used with the GTlsClientConnection for secure connections. Note
that we use _write_all() to ensure all bytes have been read. This is
to follow the fact the none of the _send() calls check the return
value.

8 years agorfbsrc: Remove useless library wrapping
Nicolas Dufresne [Wed, 16 Mar 2016 20:49:29 +0000 (16:49 -0400)]
rfbsrc: Remove useless library wrapping

We use a sinlge .c file, simplify everything by removing that
static library.

8 years agorfbsrc: Cleanup dead code
Nicolas Dufresne [Wed, 16 Mar 2016 20:49:09 +0000 (16:49 -0400)]
rfbsrc: Cleanup dead code

Remove all the unused stuff, the include header, definition and C code
that don't contribute anything to this element.

8 years agorfbsrc: Properly fallback to 3.3
Nicolas Dufresne [Mon, 14 Mar 2016 19:08:13 +0000 (15:08 -0400)]
rfbsrc: Properly fallback to 3.3

If the major version is not 3, then the minor version provided
should be ignored, as it is meaningless for our fallback.

8 years agorfbsrc: Cleanly handle security negotiation failure
Nicolas Dufresne [Mon, 14 Mar 2016 19:05:45 +0000 (15:05 -0400)]
rfbsrc: Cleanly handle security negotiation failure

When the security cannot be negotiated, the server returns
security type of 0 (failure). In that case, the next step is
to read the error reason string.

8 years agompdparser: clamp segment durations to each other and period end
Vincent Penquerc'h [Fri, 1 Apr 2016 13:36:15 +0000 (14:36 +0100)]
mpdparser: clamp segment durations to each other and period end

5.3.2.1 in the spec.

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

8 years agodashdemux: unit testing reproducing segment duration overflow
Florin Apostol [Thu, 10 Sep 2015 12:22:58 +0000 (13:22 +0100)]
dashdemux: unit testing reproducing segment duration overflow

unit test reproducing https://bugzilla.gnome.org/show_bug.cgi?id=751792

With minor changes by Vincent Penquerc'h.

8 years agodecklinkaudiosrc: Don't accept packets without timestamps after a discont
Sebastian Dröge [Tue, 5 Apr 2016 11:49:51 +0000 (14:49 +0300)]
decklinkaudiosrc: Don't accept packets without timestamps after a discont

We have no idea which timestamps they are supposed to have so the only thing
we can do at this point is to drop them. Packets without timestamps happen if
audio was captured but no corresponding video, which shouldn't happen under
normal circumstances.

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

8 years agodecklinkaudiosrc: Don't crash when receiving video frames but no audio
Sebastian Dröge [Mon, 4 Apr 2016 19:21:30 +0000 (22:21 +0300)]
decklinkaudiosrc: Don't crash when receiving video frames but no audio

And mark these events as disconts to reset time tracking in the audio source.

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

8 years agodecklinkvideosrc: don't crash if we get NULL video frames in the callback
Tim-Philipp Müller [Sat, 8 Aug 2015 14:17:54 +0000 (15:17 +0100)]
decklinkvideosrc: don't crash if we get NULL video frames in the callback

For some reason we seem to sometimes get NULL video_frames in the
::VideoInputFrameArrived() callback, observed on Intensity Pro cards.

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

8 years agoglvideomixer: add support for the affine transformation meta
Matthew Waters [Wed, 23 Mar 2016 03:16:11 +0000 (03:16 +0000)]
glvideomixer: add support for the affine transformation meta

8 years agoglimagesink: support the affine transformation meta for any texture target
Matthew Waters [Wed, 23 Mar 2016 03:14:40 +0000 (03:14 +0000)]
glimagesink: support the affine transformation meta for any texture target

8 years agoglmixer: set the current texture to 0 before mapping
Matthew Waters [Tue, 5 Apr 2016 06:22:49 +0000 (16:22 +1000)]
glmixer: set the current texture to 0 before mapping

If we fail mapping, we don't want to use undefined video data in the subclass.

8 years agocurlsink: catch an unknown error
Patricia Muscalu [Tue, 8 Sep 2015 12:37:57 +0000 (14:37 +0200)]
curlsink: catch an unknown error

In this case the socket callback has not been called
by libcurl and the curlsink has not been notified about any
connection problems by libcurl.
This indicates that it's a bug in libcurl so catch it as
an unknown error.

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

8 years agoglmixerbin: proxy the start-time-* properties from aggregator
Matthew Waters [Mon, 4 Apr 2016 03:43:30 +0000 (13:43 +1000)]
glmixerbin: proxy the start-time-* properties from aggregator

8 years agodtls: Use unique names for internal elements to ease debugging
Santiago Carot-Nemesio [Mon, 4 Apr 2016 09:28:35 +0000 (11:28 +0200)]
dtls: Use unique names for internal elements to ease debugging

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

8 years agoaggregator: remove duplicated test of flow_return in pad_chain_internal
Aurélien Zanelli [Sun, 3 Apr 2016 15:56:06 +0000 (17:56 +0200)]
aggregator: remove duplicated test of flow_return in pad_chain_internal

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

8 years agodirectsoundsrc: add missing -lole32
Kouhei Sutou [Sun, 3 Apr 2016 09:06:20 +0000 (18:06 +0900)]
directsoundsrc: add missing -lole32

CLSIDFromString() requires ole32.dll.
See https://msdn.microsoft.com/en-us/library/windows/desktop/ms680589%28v=vs.85%29.aspx

CLSIDFromString() is introduced at
f9464ce3549c2b3948a582464631ba4f8dd0d5e7 .

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

8 years agogdpdepay: Query for buffer allocator before using default
Christoffer Stengren [Thu, 31 Mar 2016 09:21:35 +0000 (11:21 +0200)]
gdpdepay: Query for buffer allocator before using default

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

8 years agointerlace: Allow interlaced sink caps, do passthrough
Vivia Nikolaidou [Tue, 22 Mar 2016 17:27:39 +0000 (19:27 +0200)]
interlace: Allow interlaced sink caps, do passthrough

Allow interlace to receive already interlaced content, if compatible with its
configuration. In that case, it will just do passthrough.

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

8 years agoREADME: update to 1.0 and lilv
Stefan Sauer [Fri, 1 Apr 2016 19:24:34 +0000 (21:24 +0200)]
README: update to 1.0 and lilv

8 years agolv2filter: remove the variable for the registry klass tag
Stefan Sauer [Fri, 1 Apr 2016 16:33:13 +0000 (18:33 +0200)]
lv2filter: remove the variable for the registry klass tag

Just pass the string when registering.

8 years agolv2filter: remove copy and paste of doc blob
Stefan Sauer [Fri, 1 Apr 2016 16:31:36 +0000 (18:31 +0200)]
lv2filter: remove copy and paste of doc blob

This doc block is already in gstlv2.c.

8 years agoopencv: segmentation: Ported to OpenCV version 3.1
Vanessa Chipirras Navalon [Fri, 1 Apr 2016 10:59:19 +0000 (12:59 +0200)]
opencv: segmentation: Ported to OpenCV version 3.1

Add namespace bgsegm, replacement functions and Template class for new
OpenCV versions because these functions have been removed. cvarrToMat() is
added because it is compatible with all versions of OpenCV and the use of
class Mat constructor is eliminated, it is also deprecated in 3.X versions.

Use the namespace cv because some functions are called many times.

This patch keeps compatibility with 2.4

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

8 years agocodecparser: vp9: move persistent fields from GstVp9FrameHdr to GstVp9Parser
Sreerenj Balachandran [Fri, 1 Apr 2016 11:12:08 +0000 (14:12 +0300)]
codecparser: vp9: move persistent fields from GstVp9FrameHdr to GstVp9Parser

The subsampling_x, subsampling_y, bit_depth, color_space and color_range
fileds are moved from GstVp9FrameHdr to the global GstVp9Parser structure.
These fields are only present in keyframe or intra-only frame, no need to
duplicate them for inter-frames. This is an ABI change.

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

8 years agoopencv: textoverlay: Ported to OpenCV version 3.1
Vanessa Chipirras Navalon [Fri, 1 Apr 2016 10:08:53 +0000 (12:08 +0200)]
opencv: textoverlay: Ported to OpenCV version 3.1

imgproc_c.h is added because CvFont struct needs it in any 3.x version.
We use this structure in GstOpencvTextOverlay. This keeps compatibility
with 2.4.

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

8 years agoh264parse: constrained-baseline is a subset of baseline
Sebastian Dröge [Fri, 1 Apr 2016 08:56:20 +0000 (11:56 +0300)]
h264parse: constrained-baseline is a subset of baseline

We get into this code path if the profile is already constrained-baseline and
downstream does not support constrained-baseline. So we should try baseline
and the other compatible profiles.

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

8 years agoeglimage: perform eglCreateImage in the gl thread
Matthew Waters [Tue, 22 Mar 2016 07:19:03 +0000 (07:19 +0000)]
eglimage: perform eglCreateImage in the gl thread

while calling eglCreateImage without a GL context current in the executing
thread works on the RPi, some other implementations will return errors.

Marshall the eglCreateImage to the GL thread to appease these implementations.

8 years agoglviewconvert: support outputting to multiple draw buffers on GLES3
Matthew Waters [Fri, 1 Apr 2016 03:58:56 +0000 (14:58 +1100)]
glviewconvert: support outputting to multiple draw buffers on GLES3

A similar change that was done to glcolorconvert adding the necessary shader
mangling.

8 years agoglcolorconvert: implement multiple render targets for GLES3
Matthew Waters [Thu, 31 Mar 2016 08:50:28 +0000 (19:50 +1100)]
glcolorconvert: implement multiple render targets for GLES3

There are numerous slight differences required between Desktop GL and GLES3 for
multiple render targets.

1. gl_FragData doesn't exist at all and one is required to use
   'layout (location = ?) out ...' instead.
2. gl_FragColor doesn't exist, same as 1
3. texture2D() has been deprecated

Fortunately most of these have been taken care of with GL3 and the shader
mangling already exists so just expand the conditions they are used in.  The
gl_FragData issue requires a new mangle pass though.  We also use this new
pass on desktop GL for consistency.

8 years agotests: mssdemux: do not use gst_object_unref for pure GObject*
Thiago Santos [Thu, 31 Mar 2016 21:23:22 +0000 (18:23 -0300)]
tests: mssdemux: do not use gst_object_unref for pure GObject*

Deallocate GObject* with g_object_unref instead of gst_object_unref.

Even if it works now, it is confusing and in the future it might
not work if any GstObject specifics are added.

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

8 years agodashdemux: tests: use g_object_unref for test data
Florin Apostol [Tue, 16 Feb 2016 13:55:54 +0000 (13:55 +0000)]
dashdemux: tests: use g_object_unref for test data

The GstDashDemuxTestCase object is allocated using g_object_newv
but in many places was being deallocated using gst_object_unref.
This was caused by commit ae3ed25025e34ea9b09df59d22d7ebd7294560bc.

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

8 years agomotioncells: fully construct MotionCells
Luis de Bethencourt [Thu, 31 Mar 2016 15:08:12 +0000 (16:08 +0100)]
motioncells: fully construct MotionCells

Some members of MotionCells were not being initialized in the constructor.
Protect from potential garbage memory usage by fully initializing it.
Moving m_frameSize out of the class because it is only used in
performDetectionMotionCells().

CID 1197704

8 years agogl/build: add missing '\' at the end of the line in MakeFile.am
Matthew Waters [Thu, 31 Mar 2016 13:23:25 +0000 (00:23 +1100)]
gl/build: add missing '\' at the end of the line in MakeFile.am

Otherwise the following elements aren't included in the correct variable.

Fixes error in 'make distcheck' failing to find gstgltestsrc.h

8 years agogl/tests/pipelines: add custom _CFLAGS and LDADD
Matthew Waters [Thu, 31 Mar 2016 12:07:17 +0000 (23:07 +1100)]
gl/tests/pipelines: add custom _CFLAGS and LDADD

As is done everywhere else.

From what I can gather from make -C tests/check V=1 $(GST_PLUGINS_BAD_CFLAGS) is
required in order to find in-tree headers as well as srcdir != builddir
configurations.

8 years agogl/tests: only build the simple-launch-lines test if we have GL
Matthew Waters [Thu, 31 Mar 2016 11:20:01 +0000 (22:20 +1100)]
gl/tests: only build the simple-launch-lines test if we have GL

8 years agoglcolorconvert: don't use the predefined variable name sample
Matthew Waters [Thu, 31 Mar 2016 09:00:37 +0000 (20:00 +1100)]
glcolorconvert: don't use the predefined variable name sample

Using 'sample' as a variable name is an error in GLES3

8 years agogl/examples: fix switchvideooverlay for wayland
Matthew Waters [Tue, 22 Mar 2016 12:10:24 +0000 (23:10 +1100)]
gl/examples: fix switchvideooverlay for wayland

and call XInitThreads() for X11

8 years agogl/examples: remove duplicated videooverlay example
Matthew Waters [Mon, 21 Mar 2016 04:25:21 +0000 (15:25 +1100)]
gl/examples: remove duplicated videooverlay example

filtervideooverlay proved the exact same example (only with a extra glfiltercube).

8 years agogl/examples/3d: additions for wayland support
Matthew Waters [Mon, 21 Mar 2016 04:23:41 +0000 (15:23 +1100)]
gl/examples/3d: additions for wayland support

8 years agogl/tests: add missing test to the build system
Matthew Waters [Thu, 17 Mar 2016 12:51:44 +0000 (23:51 +1100)]
gl/tests: add missing test to the build system

Also update it for the current api

8 years agogldifferencematte: port to gl3/gles2
Matthew Waters [Thu, 17 Mar 2016 12:50:00 +0000 (23:50 +1100)]
gldifferencematte: port to gl3/gles2

8 years agogltestsrc: port to gles2/gl3
Matthew Waters [Fri, 26 Feb 2016 09:55:47 +0000 (20:55 +1100)]
gltestsrc: port to gles2/gl3

This makes gltestsrc work everywhere \o/

- workaround RPi returning invalid values for positive coords in the
  checker shader
- reduce the number of iterations in the mandelbrot shader for gles2

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

8 years agogltestsrc: port smpte pattern to shaders
Matthew Waters [Fri, 26 Feb 2016 05:57:47 +0000 (16:57 +1100)]
gltestsrc: port smpte pattern to shaders

Loosely based on patch by
Lubosz Sarnecki <lubosz.sarnecki@collabora.co.uk>

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

8 years agogltestsrc: implement the circular method
Matthew Waters [Fri, 26 Feb 2016 01:02:15 +0000 (12:02 +1100)]
gltestsrc: implement the circular method

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

8 years agogltestsrc: add a generic src framework
Matthew Waters [Thu, 25 Feb 2016 10:18:31 +0000 (21:18 +1100)]
gltestsrc: add a generic src framework

Any unsupported pattern (circular) results in an error

8 years agoglsterosplit: remove internal glupload/glcolorconvert
Matthew Waters [Mon, 29 Feb 2016 09:15:24 +0000 (20:15 +1100)]
glsterosplit: remove internal glupload/glcolorconvert

They are provided separately as elements and no other element contains the
internal references to glupload/glcolorconvert.

8 years agogl: add support for building against GLES3 headers
Matthew Waters [Thu, 31 Mar 2016 08:43:04 +0000 (19:43 +1100)]
gl: add support for building against GLES3 headers

with a fallback to GLES2 headers if available.

8 years agoglmemory: add checking the read implementation format/type on gles2 platforms
Matthew Waters [Thu, 31 Mar 2016 08:38:12 +0000 (19:38 +1100)]
glmemory: add checking the read implementation format/type on gles2 platforms

By default, reading GL_RED or GL_RG us unsupported by glReadPixels unless
exposed through GL_COLOR_READ_IMPLEMENTATION_FORMAT/TYPE.  This allows
downloading multiple-planar video frames where possible.

8 years agoglbasememory: rollback map state when subclass map fails
Matthew Waters [Thu, 31 Mar 2016 08:35:09 +0000 (19:35 +1100)]
glbasememory: rollback map state when subclass map fails

Otherwise our state doesn't reflect reality.

8 years agoglmemorypbo: unmap pbo memory on pbo read error
Matthew Waters [Thu, 31 Mar 2016 08:31:00 +0000 (19:31 +1100)]
glmemorypbo: unmap pbo memory on pbo read error

Otherwise we are returning failure with a dangling map!

Also only unset the NEED_DOWNLOAD flag in download_transfer() if the read actually
succeeds.

8 years agoglshader: add glBindFragDataLocation
Matthew Waters [Thu, 31 Mar 2016 08:25:32 +0000 (19:25 +1100)]
glshader: add glBindFragDataLocation

There are some cases where it's needed for binding in/out variables in shaders.
e.g. glsl 150 (gl 3.2) doesn't support the 'layout (location = ?)' specifiers in
the shader source so we have to bind them ourselves.

8 years agoadaptivedemux: Handle find_stream_for_pad() without g_assert_not_reached() if no...
Sebastian Dröge [Thu, 31 Mar 2016 09:20:30 +0000 (12:20 +0300)]
adaptivedemux: Handle find_stream_for_pad() without g_assert_not_reached() if no pad is found

Happens e.g. if a RECONFIGURE event is sent from downstream while we're
switching pads at this very moment. The old pad is gone and the stream has a
new pad.

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

8 years agonvenc: add support for building against version 6 of the SDK
Matthew Waters [Wed, 30 Mar 2016 14:21:42 +0000 (01:21 +1100)]
nvenc: add support for building against version 6 of the SDK

While mostly API compatible, the ABI has changed so binaries will not work
across header versions (and ultimately nvidia driver releases).

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

8 years agoopencv: pyramidsegment: delete element
Vanessa Chipirras Navalon [Wed, 30 Mar 2016 21:34:59 +0000 (22:34 +0100)]
opencv: pyramidsegment: delete element

cvPyrSegmentation() has been deprecated in OpenCV 3.0, and there isn't any
function to replace it. Deleting this element so we can support OpenCV 3.1
without build issues.

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

8 years agoopencv: gstcvsmooth: Ported to OpenCV version 3.1
Vanessa Chipirras Navalon [Tue, 26 Jan 2016 15:52:37 +0000 (16:52 +0100)]
opencv: gstcvsmooth: Ported to OpenCV version 3.1

cvarrToMat() is added because it is compatible with all versions of Opencv
and the use the class constructor Mat is eliminated because is deprecated
in 3.X versions. This keeps compatibility with 2.4.

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

8 years agoopencv: grabcut: Ported to OpenCV version 3.1
Vanessa Chipirras Navalon [Wed, 27 Jan 2016 09:05:13 +0000 (10:05 +0100)]
opencv: grabcut: Ported to OpenCV version 3.1

cvarrToMat() is added because it is compatible with all versions of Opencv
and using the class Mat constructor is eliminated, because is deprecated
in 3.X versions. The use the using namespace cv because is called some
functions many times. This keeps compatibility with 2.4.

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

8 years agoopencv: faceblur: Ported to OpenCV version 3.1
Vanessa Chipirras Navalon [Wed, 27 Jan 2016 14:37:39 +0000 (15:37 +0100)]
opencv: faceblur: Ported to OpenCV version 3.1

cvarrToMat() is added because it is compatible with all versions of Opencv
and the use of the class constructor Mat is eliminated because is deprecated
in 3.X versions. Included 'using namespace std' because it is needed for the
Vector class in 3.X versions. This keeps compatibility with 2.4.

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

8 years agoopencv: handdetect: Ported to OpenCV version 3.1
Vanessa Chipirras Navalon [Wed, 27 Jan 2016 14:51:37 +0000 (15:51 +0100)]
opencv: handdetect: Ported to OpenCV version 3.1

cvarrToMat() is added because it is compatible with all versions of Opencv
and the use of the class constructor Mat is eliminated because is deprecated
in 3.X versions. Included 'using namespace std' because it is needed for the
vector class in 3.X versions. This keeps compatibility with 2.4.

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

8 years agoopencv: retinex: Ported to OpenCV version 3.1
Vanessa Chipirras Navalon [Wed, 27 Jan 2016 15:51:13 +0000 (16:51 +0100)]
opencv: retinex: Ported to OpenCV version 3.1

cvarrToMat() is added because it is compatible with all versions of Opencv
and using the class constructor Mat is eliminated because is deprecated
in 3.X versions. This keeps compatibility with 2.4.

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

8 years agoopencv: disparity: Ported to OpenCV version 3.1
Vanessa Chipirras Navalon [Thu, 28 Jan 2016 15:19:46 +0000 (16:19 +0100)]
opencv: disparity: Ported to OpenCV version 3.1

'METHOD_VAR', 'METHOD_GC' is removed because there aren't equivalent functions
in new OpenCV versions. 'img_right_as_cvMat_rgb', 'img_left_as_cvMat_rgb' and
'depth_map_as_cvMat2' variables is removed because these aren't used.
cvarrToMat() is added because it is compatible with all versions of Opencv
and using the class Mat constructor is eliminated, because is deprecated
in 3.X versions. The use 'using namespace cv' because is called some
functions many times. This keeps compatibility with 2.4.

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

8 years agoopencv: skindetect: Ported to OpenCV version 3.1
Vanessa Chipirras Navalon [Mon, 1 Feb 2016 12:58:49 +0000 (13:58 +0100)]
opencv: skindetect: Ported to OpenCV version 3.1

cvCVPixToPlane() has been deprecated in OpenCV 3.0, and there is
function to replace it cvSplit(). The include compat.hpp is deleted because
in 3.X versions doen't exist and it isn't necessary for 2.4.X versions
in this element. This keeps compatibility with 2.4.

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

8 years agoopencv: Ported to OpenCV version 3.1 OpenCV
Vanessa Chipirras Navalon [Thu, 28 Jan 2016 16:40:51 +0000 (17:40 +0100)]
opencv: Ported to OpenCV version 3.1 OpenCV

configure.ac was changed to work with new versions of OpenCV 3.X.
A new include is added gstopencvutils.cpp because it contains
the previous. This keeps compatibility with 2.4.

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

8 years agoahcsrc: There's no point in read-only CONSTRUCT properties
Sebastian Dröge [Wed, 30 Mar 2016 07:34:07 +0000 (10:34 +0300)]
ahcsrc: There's no point in read-only CONSTRUCT properties

And creating one is causing assertions. Also get rid of the other CONSTRUCT
property as it's a) unneeded for default initialization and b) you're not
supposed to use constructor properties when creating element instances and the
GStreamer API doesn't provide direct ways for doing so.

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