platform/upstream/gstreamer.git
8 years agoglmosaic: fix shader leak
Guillaume Desmottes [Thu, 19 May 2016 13:55:31 +0000 (16:55 +0300)]
glmosaic: fix shader leak

gst_gl_mosaic_init_shader() is called twice with test_glmosaic so the
first shader was leaked.

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

8 years agogl: win32: Unparent internal window before destroying it
Xavier Claessens [Mon, 16 May 2016 21:11:53 +0000 (17:11 -0400)]
gl: win32: Unparent internal window before destroying it

For some reason DestroyWindow() deadlock if it's called from
parent window's KeyPress event.

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

8 years agogl: win32: Don't steal parent focus when creating internal window
Xavier Claessens [Mon, 16 May 2016 19:26:53 +0000 (15:26 -0400)]
gl: win32: Don't steal parent focus when creating internal window

This fix regression introduced by 0acc18c60f6f962cc6553f6047fdb64891bab544.

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

8 years agovideoaggregator: Don't wait if input buffer is after output
Olivier Crête [Sat, 14 May 2016 09:56:59 +0000 (11:56 +0200)]
videoaggregator: Don't wait if input buffer is after output

If the input buffer is after the end of the output buffer, then waiting
for more data won't help. We will never get an input buffer for this point.

This fixes compositing of streams from rtspsrc.

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

8 years agoahc: fix potential NULL deref
Martin Kelly [Thu, 19 May 2016 16:25:57 +0000 (09:25 -0700)]
ahc: fix potential NULL deref

This bug was found via cppcheck static analysis.

If android.hardware.Camera.getParameters returns NULL, then object will
be NULL, and we won't allocate params. This means that the GST_DEBUG
statement referencing params->object will be invalid. Fix this by
exiting early if android.hardware.Camera.getParameters returns NULL.

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

8 years agoahc: fix typo in doc blurb
Martin Kelly [Thu, 19 May 2016 18:33:52 +0000 (11:33 -0700)]
ahc: fix typo in doc blurb

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

8 years agoadaptivedemux: fix pending tags leak
Guillaume Desmottes [Wed, 18 May 2016 13:55:38 +0000 (16:55 +0300)]
adaptivedemux: fix pending tags leak

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

8 years agokmssink: chain up finalize method
Guillaume Desmottes [Wed, 18 May 2016 09:30:05 +0000 (12:30 +0300)]
kmssink: chain up finalize method

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

8 years agoexamples: opencv: typo fix
Martin Kelly [Wed, 18 May 2016 19:33:51 +0000 (12:33 -0700)]
examples: opencv: typo fix

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

8 years agolv2: support CVPorts
Stefan Sauer [Thu, 19 May 2016 04:29:15 +0000 (21:29 -0700)]
lv2: support CVPorts

CVPorts are ports that take a buffer. For now we just fill the buffers with
the control value.

8 years agolv2: use _OBJECT log variants and lower log level when processing
Stefan Sauer [Thu, 19 May 2016 04:26:50 +0000 (21:26 -0700)]
lv2: use _OBJECT log variants and lower log level when processing

8 years agodvbsrc: move ISDB-T bandwidth check to _is_valid_bandwidth()
Reynaldo H. Verdejo Pinochet [Tue, 17 May 2016 21:33:04 +0000 (14:33 -0700)]
dvbsrc: move ISDB-T bandwidth check to _is_valid_bandwidth()

Allows test to be used for delivery system auto-detection.

Additionally, add 0 (auto) as valid value.

8 years agodvbsrc: add '0' as a valid value for bandwidth
Reynaldo H. Verdejo Pinochet [Tue, 17 May 2016 21:19:30 +0000 (14:19 -0700)]
dvbsrc: add '0' as a valid value for bandwidth

Underlying API considers this the BANDWIDTH_HZ equivalent
to the old BANDWIDTH_AUTO for BANDWIDTH.

8 years agodvbsrc: factor out and reuse DVB-T/T2 bandwidth checks
Reynaldo H. Verdejo Pinochet [Tue, 17 May 2016 20:53:54 +0000 (13:53 -0700)]
dvbsrc: factor out and reuse DVB-T/T2 bandwidth checks

Use new utility function as an additional check for delivery
system auto-detection.

8 years agodvb/parsechannels: recognize additional bandwidths at zap parsing
Reynaldo H. Verdejo Pinochet [Tue, 17 May 2016 19:06:45 +0000 (12:06 -0700)]
dvb/parsechannels: recognize additional bandwidths at zap parsing

Previously ignored 1.712, 5 and 10 MHz values are also valid

8 years agovideoaggregator: canonicalise function names
Tim-Philipp Müller [Mon, 16 May 2016 11:27:50 +0000 (12:27 +0100)]
videoaggregator: canonicalise function names

Had to be done at some point:
gst_videoaggregator_* -> gst_video_aggregator_*
Also fix up some function names with typos.

8 years agolv2: cleanup the predicates
Stefan Sauer [Mon, 16 May 2016 06:31:33 +0000 (23:31 -0700)]
lv2: cleanup the predicates

Use the defines from the headers and get rid of our own namespace defines.
Replace the 'role' prop with 'designation'.

8 years agolv2: tweak enum logging
Stefan Sauer [Mon, 16 May 2016 06:27:22 +0000 (23:27 -0700)]
lv2: tweak enum logging

Log more details when we find a bad scalepoint and downgrade the logging of the
good enum valzes.

8 years agolv2: generate enums from scalepoints
Stefan Sauer [Mon, 16 May 2016 05:05:43 +0000 (22:05 -0700)]
lv2: generate enums from scalepoints

Plugins can provide a set of named values for a control port. Ideally only those
values are set for the property. Check if all scalepoints are integers and if so
generate an enum type.

8 years agolv2: reduce log spam for property bounds
Stefan Sauer [Mon, 16 May 2016 02:45:26 +0000 (19:45 -0700)]
lv2: reduce log spam for property bounds

Only complain about bad bounds, if the plugin actually set those. Otherwise
silently adjust our defaults.

8 years agolv2: remove lv2_symbol_pred
Stefan Sauer [Mon, 16 May 2016 00:58:51 +0000 (17:58 -0700)]
lv2: remove lv2_symbol_pred

We're not actually using it.

8 years agolv2: remove leftover FIME
Stefan Sauer [Mon, 16 May 2016 00:54:06 +0000 (17:54 -0700)]
lv2: remove leftover FIME

8 years agodvbsrc: special case detection when DVB-T and T2 seem valid
Reynaldo H. Verdejo Pinochet [Sun, 15 May 2016 07:41:12 +0000 (00:41 -0700)]
dvbsrc: special case detection when DVB-T and T2 seem valid

There is no way to tell one over the other when parameters
seem valid for DVB-T and DVB-T2 and the adapter supports
both. Reason to go with the former here is that, from
experience, most DVB-T2 channels out there seem to use
parameters that are not valid for DVB-T, like QAM_256

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

8 years agodvbsrc: add transmission mode check for DTMB
Reynaldo H. Verdejo Pinochet [Sun, 15 May 2016 06:32:49 +0000 (23:32 -0700)]
dvbsrc: add transmission mode check for DTMB

8 years agodvb/parsechannels: use proper fe_spectral_inversion enum identifiers
Reynaldo H. Verdejo Pinochet [Fri, 13 May 2016 08:54:56 +0000 (01:54 -0700)]
dvb/parsechannels: use proper fe_spectral_inversion enum identifiers

8 years agodvbsrc: explicitly disable stream filter for invalid ids
Reynaldo H. Verdejo Pinochet [Fri, 13 May 2016 08:25:08 +0000 (01:25 -0700)]
dvbsrc: explicitly disable stream filter for invalid ids

8 years agodvb/parsechannels: do not assume DVB-T from zap file alone
Reynaldo H. Verdejo Pinochet [Fri, 13 May 2016 07:50:45 +0000 (00:50 -0700)]
dvb/parsechannels: do not assume DVB-T from zap file alone

DVB-T/T2 have the same number of fields so we were
wrongly assuming DVB-T for DVB-T2 broadcasts. Not
setting the delivery system here allows for dvbsrc
to make an informed guess based on the channel
parameters.

8 years agodvbsrc: consider transmission mode for delsys autodetection
Reynaldo H. Verdejo Pinochet [Fri, 13 May 2016 07:12:33 +0000 (00:12 -0700)]
dvbsrc: consider transmission mode for delsys autodetection

8 years agodvbsrc: factor out transmission mode check against delsys
Reynaldo H. Verdejo Pinochet [Fri, 13 May 2016 07:04:08 +0000 (00:04 -0700)]
dvbsrc: factor out transmission mode check against delsys

8 years agodvbsrc: improve delivery system autodetection
Reynaldo H. Verdejo Pinochet [Thu, 12 May 2016 23:43:09 +0000 (16:43 -0700)]
dvbsrc: improve delivery system autodetection

8 years agodvbsrc: add modulation checks for DVB-T and T2
Reynaldo H. Verdejo Pinochet [Thu, 12 May 2016 21:12:09 +0000 (14:12 -0700)]
dvbsrc: add modulation checks for DVB-T and T2

8 years agoladspa: use _OBJECT log variants for plugin_init
Stefan Sauer [Sun, 15 May 2016 21:46:40 +0000 (14:46 -0700)]
ladspa: use _OBJECT log variants for plugin_init

Also trim leading whitespae.

8 years agolv2: add registry caching
Stefan Sauer [Sun, 15 May 2016 21:45:15 +0000 (14:45 -0700)]
lv2: add registry caching

Use the plugin_cache extra data to avoid introspecting over and over again.

8 years agolv2: implemnt the map-extension
Stefan Sauer [Sat, 14 May 2016 19:35:15 +0000 (12:35 -0700)]
lv2: implemnt the map-extension

This is the most used one and at the same time easy to implement sing QGQuark.

8 years agolvs: add require_feature checks
Stefan Sauer [Sat, 14 May 2016 19:34:10 +0000 (12:34 -0700)]
lvs: add require_feature checks

Plugins can report what host features they need. Since we start to implement host feature
check which plugins we can no suuport.

8 years agocompositor: Check if we get a valid display ratio
Edward Hervey [Sun, 15 May 2016 12:34:33 +0000 (14:34 +0200)]
compositor: Check if we get a valid display ratio

As is done everywhere else, and avoids setting bogus values
And remove useless *<val> checks (we always provide valid values and
it's an internal function).

CID #1320700

8 years agortmpsrc: Remove dead assignments
Edward Hervey [Sun, 15 May 2016 12:16:55 +0000 (14:16 +0200)]
rtmpsrc: Remove dead assignments

* read is only used within the while loop
* todo and bsize only need to be assigned once

8 years agoplayer: Add uri-loaded signal that is fired whenever a new URI is actually loaded
Sebastian Dröge [Sun, 15 May 2016 12:11:10 +0000 (15:11 +0300)]
player: Add uri-loaded signal that is fired whenever a new URI is actually loaded

This allows knowing the "boundary" from which on all following signals are for
the new URI.

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

8 years agoopencv/facedetect: fix the build with opencv 3.1.0
Matthew Waters [Sat, 14 May 2016 16:05:45 +0000 (17:05 +0100)]
opencv/facedetect: fix the build with opencv 3.1.0

    - add using namespace std; for std::vector
    - use the cpp header imgproc.hpp file for the cv::ellipse function instead of
      the C header
    - Mat no longer takes IplImage in it's constructors, use the cvarrtomat()
      function instead.

    Fixes a couple of build errors:

    gstfacedetect.cpp:140:30: error: ‘vector’ does not name a type
     structure_and_message (const vector < Rect > &rectangles, const gchar * name,
                                  ^~~~~~
    gstfacedetect.cpp:140:37: error: expected ‘,’ or ‘...’ before ‘<’ token
     structure_and_message (const vector < Rect > &rectangles, const gchar * name,
                                         ^
    gstfacedetect.cpp: In function ‘void structure_and_message(int)’:
    gstfacedetect.cpp:143:13: error: ‘rectangles’ was not declared in this scope
       Rect sr = rectangles[0];

    [...]

    gstfacedetect.cpp: In function ‘void
    gst_face_detect_run_detector(GstFaceDetect*, cv::CascadeClassifier*, gint, gint,
    cv::Rect, std::vector<cv::Rect_<int> >&)’:
    gstfacedetect.cpp:562:31: error: no matching function for call to
    ‘cv::Mat::Mat(IplImage*&, cv::Rect&)’
         Mat roi (filter->cvGray, r);

    [...]

    gstfacedetect.cpp: In function ‘GstFlowReturn
    gst_face_detect_transform_ip(GstOpencvVideoFilter*, GstBuffer*, IplImage*)’:
    gstfacedetect.cpp:594:44: error: no matching function for call to
    ‘cv::Mat::Mat(cv::Mat, bool)’
         Mat mtxOrg (cv::cvarrToMat (img), false);

    [...]

    gstfacedetect.cpp:734:79: error: ‘ellipse’ was not declared in this scope
             ellipse (mtxOrg, center, axes, 0, 0, 360, Scalar (cr, cg, cb), 3, 8,
    0);

8 years agobuild: add removed example dir to CRUFT_DIRS
Tim-Philipp Müller [Sun, 15 May 2016 10:20:21 +0000 (11:20 +0100)]
build: add removed example dir to CRUFT_DIRS

8 years agodocs: Update for git master
Sebastian Dröge [Sun, 15 May 2016 10:33:53 +0000 (13:33 +0300)]
docs: Update for git master

8 years agorawparse: Add unaligned raw audio parsing to audioparse and add new element
Carlos Rafael Giani [Fri, 4 Mar 2016 21:10:47 +0000 (22:10 +0100)]
rawparse: Add unaligned raw audio parsing to audioparse and add new element

This helps in cases where raw audio data is being delivered, but the
buffers do not come in sample aligned sizes. The new unalignedaudioparse
bin can be autoplugged and configures an internal audioparse element to
align the data. audioparse itself gets support for audio/x-unaligned-raw
input caps; the output caps then contain the same information, except that
the name is changed to audio/x-raw (since audioparse aligns the data).
This ensures that souphttpsrc ! audioparse still works.

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

8 years agogldisplay: demote no platform display debug to info
Matthew Waters [Sun, 15 May 2016 10:14:41 +0000 (13:14 +0300)]
gldisplay: demote no platform display debug to info

Avoids confusing everyone with a warning that's not always fatal.

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

8 years ago.gitignore: remove non-existent directory
Matthew Waters [Sun, 15 May 2016 09:31:38 +0000 (12:31 +0300)]
.gitignore: remove non-existent directory

Partially reverts cdf91c455d4057a9d234766510bd2e8a44e1ed05

8 years agompegdemux: Handle system header when scanning for timestamps.
Jan Schmidt [Sun, 15 May 2016 09:05:48 +0000 (19:05 +1000)]
mpegdemux: Handle system header when scanning for timestamps.

When scanning for SCR / PTS / DTS, handle the case where
the pack header is followed by the optional system header,
so we can correctly collect timestamps in such cases.

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

8 years agompegdemux: Fix backward timestamp scan on small files.
Jan Schmidt [Sun, 15 May 2016 09:04:20 +0000 (19:04 +1000)]
mpegdemux: Fix backward timestamp scan on small files.

When the file size is smaller than the configured 4MB scan
limit for timestamps, don't underflow the guard variable
when checking if it's time to stop.

Limit the backward SCR scan to the same 4MB as the PTS scan.

Add some comments.

8 years agompegdemux: don't do bogus adjustments on seek if we have no first_pts
Tim-Philipp Müller [Fri, 13 May 2016 12:27:37 +0000 (13:27 +0100)]
mpegdemux: don't do bogus adjustments on seek if we have no first_pts

Fixes bogus segment and gap events with start=GST_CLOCK_TIME_NONE if
we failed to find a first_pts.

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

8 years agoconfigure: check for shm_open() in OpenBSD
Alex-P. Natsios [Sat, 14 May 2016 13:59:14 +0000 (16:59 +0300)]
configure: check for shm_open() in OpenBSD

In OpenBSD there is no "actual" librt that programs can link with,
instead the system/base libc provides the functions one would
customarily find there.

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

8 years agogltransformation: use the affine transformation meta if available downstream
Matthew Waters [Sat, 14 May 2016 13:32:06 +0000 (16:32 +0300)]
gltransformation: use the affine transformation meta if available downstream

We can avoid a render pass if downstream supports the affine transformation meta
and increase the performance of some pipelines involving gltransformation.

Implemented by checking for the affine transformation in the allocation query
from downstream and combining our matrix with that of upstream's (or creating
our own).

8 years agogl: take the affine transformation in NDC
Matthew Waters [Sat, 14 May 2016 13:27:26 +0000 (16:27 +0300)]
gl: take the affine transformation in NDC

Provide a function to get the affine matrix in the meta in terms of NDC
coordinates and use as a standard opengl matrix.

Also advertise support for the affine transformation meta in the allocation
query.

8 years agoglbasemixer: actually attempt to propose an allocation upstream
Matthew Waters [Sat, 14 May 2016 12:50:57 +0000 (15:50 +0300)]
glbasemixer: actually attempt to propose an allocation upstream

We were always failing the allocation query as a flag was never being set to
signal a successful negotiation.  Fix by setting the required flag on a
successful caps event from upstream.

8 years agolv2: add a source plugin
Stefan Sauer [Thu, 12 May 2016 17:52:06 +0000 (10:52 -0700)]
lv2: add a source plugin

Update the readme with a working example and list what feature are supported.

8 years agolv2: add support for host features
Stefan Sauer [Thu, 12 May 2016 06:12:07 +0000 (23:12 -0700)]
lv2: add support for host features

Implement a log handler as the first one.

8 years agovkswapper: check the error of the presentation for out of date
Matthew Waters [Fri, 13 May 2016 12:24:35 +0000 (15:24 +0300)]
vkswapper: check the error of the presentation for out of date

allows us to resize the swapchain correctly.

8 years agompegtsbase: remove unused variables: upstream_live and queried_latency
Damian Ziobro [Thu, 12 May 2016 18:44:26 +0000 (19:44 +0100)]
mpegtsbase: remove unused variables: upstream_live and queried_latency

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

8 years agodvbsrc: improve debug output from _open_frontend()
Reynaldo H. Verdejo Pinochet [Wed, 11 May 2016 22:45:47 +0000 (15:45 -0700)]
dvbsrc: improve debug output from _open_frontend()

* Clarify message on delsys info gathering
* Combine redundant INFO/DEBUG pair

8 years agodvbsrc: fix invalid dereference of delsys data
Reynaldo H. Verdejo Pinochet [Wed, 11 May 2016 22:26:24 +0000 (15:26 -0700)]
dvbsrc: fix invalid dereference of delsys data

Use GPOINTER_TO_INT to read GINT_TO_POINTER stored
data.

8 years agoamcaudiodec: Set layout=interleaved in raw audio caps
Sebastian Dröge [Wed, 11 May 2016 20:48:21 +0000 (23:48 +0300)]
amcaudiodec: Set layout=interleaved in raw audio caps

Otherwise the GAP event fallback negotiation will fail to produce complete
srcpad caps, and thus fail.

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

8 years agodecklinkvideosrc: Fix previous commit
Edward Hervey [Wed, 11 May 2016 14:42:35 +0000 (16:42 +0200)]
decklinkvideosrc: Fix previous commit

The frames queue might return nothing (be empty) if we're flushing.

Move the assertion to after the flushing check

8 years agolv2: skip plugins that need host features
Stefan Sauer [Wed, 11 May 2016 05:04:48 +0000 (22:04 -0700)]
lv2: skip plugins that need host features

We haven't implemented this yet and those plugin would fail when we instantiate
them.

8 years agolv2: add classification from metadata
Stefan Sauer [Wed, 11 May 2016 04:11:41 +0000 (21:11 -0700)]
lv2: add classification from metadata

This helps apps to structure the element collection.

8 years agolv2: extract helper code into lv2utils
Stefan Sauer [Fri, 8 Apr 2016 05:53:44 +0000 (07:53 +0200)]
lv2: extract helper code into lv2utils

This is a preparaton for adding lv2-sources and -sinks.

8 years agoladspa: code cleanup
Stefan Sauer [Tue, 10 May 2016 19:24:03 +0000 (12:24 -0700)]
ladspa: code cleanup

Whitespace cleanup and unify codeing style.

8 years agoladspa: simplify the code
Stefan Sauer [Tue, 10 May 2016 19:22:04 +0000 (12:22 -0700)]
ladspa: simplify the code

Remove a local var and just use the parameter value.

8 years agoapplemedia: fix core_video_meta init registration
Philippe Normand [Tue, 10 May 2016 16:14:36 +0000 (18:14 +0200)]
applemedia: fix core_video_meta init registration

8 years ago.gitignore: Ignore tests/examples/gl/gtk generated files
Nirbheek Chauhan [Tue, 10 May 2016 11:16:43 +0000 (16:46 +0530)]
.gitignore: Ignore tests/examples/gl/gtk generated files

And another test binary.

8 years agoopenjpeg: Port to 2.1 and require a pkg-config file for 2.0 and 2.1
Nirbheek Chauhan [Tue, 10 May 2016 10:54:08 +0000 (16:24 +0530)]
openjpeg: Port to 2.1 and require a pkg-config file for 2.0 and 2.1

The port was trivial, and according to the NEWS file nothing else has changed,
but it is possible that other API was changed without proper notification.

OpenJPEG upstream has shipped a pkg-config file for the past 4 years, and all
distros should be shipping it by now.

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

8 years agodecklinkvideosrc: fix use-after-free in error code path
Tim-Philipp Müller [Tue, 10 May 2016 08:40:38 +0000 (09:40 +0100)]
decklinkvideosrc: fix use-after-free in error code path

8 years agodecklinkvideosrc: remove unnecessary checks for non-NULL frame
Tim-Philipp Müller [Tue, 10 May 2016 08:38:28 +0000 (09:38 +0100)]
decklinkvideosrc: remove unnecessary checks for non-NULL frame

We can't get a NULL frame here.

CID 1359923

8 years agodvbsrc: abort at open frontend failure
Reynaldo H. Verdejo Pinochet [Mon, 9 May 2016 22:23:32 +0000 (15:23 -0700)]
dvbsrc: abort at open frontend failure

8 years agoapplemedia: Ship all headers in tarballs
Sebastian Dröge [Mon, 9 May 2016 09:50:47 +0000 (12:50 +0300)]
applemedia: Ship all headers in tarballs

Some were missing from noinst_HEADERS.

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

8 years agodvbsrc: smarten-up delsys autodetection logic
Reynaldo H. Verdejo Pinochet [Wed, 4 May 2016 23:32:19 +0000 (16:32 -0700)]
dvbsrc: smarten-up delsys autodetection logic

When there's no explicit delivery system information
for a channel in the channel configuration file and
the user hasn't selected one via setting the delsys
property, we *guessed* it by selecting the last
supported delsys reported by the driver. This change
provides the basis for smarter delsys auto detection
and implements a rule for DVB-T2. Rules for other
delivery systems can be added in _guess_delsys() in
a similar way.

Additionally: Store list of adapter-supported
delivery systems instead of querying the driver each
time this information is needed.

Related to:

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

8 years agodvbsrc: remove remaining polling logic from _tune_fe()
Reynaldo H. Verdejo Pinochet [Tue, 3 May 2016 22:00:55 +0000 (15:00 -0700)]
dvbsrc: remove remaining polling logic from _tune_fe()

No need to do any polling here.

8 years agouridownloader: Take the ownership of the src element
Carlos Garcia Campos [Fri, 6 May 2016 08:51:39 +0000 (10:51 +0200)]
uridownloader: Take the ownership of the src element

The URI downloader is creating the source element with
gst_element_factory_make() that returns a floating reference that nobody
is consuming. This is causing problems in WebKit, where the smart
pointers used to take references of the source elment get confused and
end up consuming the floating reference and then releasing the element,
which usually crashes because the URI downloader still tries to use its
src element. See https://bugs.webkit.org/show_bug.cgi?id=144040.
This commit adds two helper functions to ensure and destroy the source
element, to make the code simpler and less error prone. The ensure
method takes care of checking if we can reuse the existing one or we
need to create a new one, taking always its ownership. The destroy
method simply avoids duplicated code to set the source to NULL state and
then unref it.

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

8 years agoadaptivedemux: fix threading issues in gst_adaptive_demux_wait_until function
Alex Ashley [Fri, 29 Apr 2016 11:31:01 +0000 (12:31 +0100)]
adaptivedemux: fix threading issues in gst_adaptive_demux_wait_until function

The gst_adaptive_demux_wait_until() function can be woken up either
by its end_time being reached, or from other threads that want to
interrupt the waiting thread.

If the thread is interrupted, it needs to cancel its async clock callback
by unscheduling the clock callback. However, the callback task might already
have been activated, but is waiting for the mutex to become available. In this
case, the call to unschedule does not stop the callback from executing.

The solution to this second issue is to use a reference counted object that
is decremented by both the gst_adaptive_demux_wait_until() function and the
call to gst_clock_id_wait_async (). In this way, the GstAdaptiveDemuxTimer
object is only deleted when both the gst_adaptive_demux_wait_until() function
and the async callback are finished with the object.

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

8 years agoandroidmeida: replace with new surfacetexture for ahcsrc
Justin Kim [Thu, 3 Mar 2016 06:50:49 +0000 (15:50 +0900)]
androidmeida: replace with new surfacetexture for ahcsrc

GstAmcSurfaceTexture is more clear and simple than GstAGSurfaceTexture.

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

8 years agovulkan/build: add the build directory to the list of includes
Matthew Waters [Thu, 5 May 2016 13:53:05 +0000 (23:53 +1000)]
vulkan/build: add the build directory to the list of includes

Fixes out of tree builds from tarballs.

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

8 years agovkswapper: fix up display synchronization
Matthew Waters [Thu, 5 May 2016 13:18:11 +0000 (23:18 +1000)]
vkswapper: fix up display synchronization

Use the semaphores in the correct place, before and after the submission for
acquiring and presenting the swapchain buffer.

Waiting on the fence that only signals the command buffer completion rather than
the completion of the presentation is racy with the destruction of the vulkan
buffers associated with that image.  Wait on the device to be idle instead after
presenting.

8 years agovkswapper: use gst_video_sink_center_rect for positioning the video
Matthew Waters [Thu, 5 May 2016 08:00:25 +0000 (18:00 +1000)]
vkswapper: use gst_video_sink_center_rect for positioning the video

Don't try to reimplement it badly.

8 years agompegdemux: fix description
Tim-Philipp Müller [Thu, 5 May 2016 09:44:22 +0000 (10:44 +0100)]
mpegdemux: fix description

8 years agovideodiff: fix supported formats in template caps
Tim-Philipp Müller [Thu, 5 May 2016 09:41:53 +0000 (10:41 +0100)]
videodiff: fix supported formats in template caps

8 years agovideodiff: fill in FIXME metadata and docs with description
Tim-Philipp Müller [Thu, 5 May 2016 09:40:37 +0000 (10:40 +0100)]
videodiff: fill in FIXME metadata and docs with description

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

8 years agogl/egl: replace gsteglimagememory with an EGLImage wrapper
Matthew Waters [Wed, 4 May 2016 02:17:59 +0000 (12:17 +1000)]
gl/egl: replace gsteglimagememory with an EGLImage wrapper

That can be passed to GstGLMemoryEGL.

This also ports the dmabuf uploader to GstEGLImage and GstGLMemoryEGL.

8 years agogl: implement GstGLMemoryEGL
Gwang Yoon Hwang [Thu, 21 Jan 2016 13:18:17 +0000 (22:18 +0900)]
gl: implement GstGLMemoryEGL

Because current GstEGLImageMemory does not inherit GstGLMemory, GLUpload
allocates additional GLMemory and upload the decoded contents from the decoder
which uses EGLImage (e.g. gst-omx in RPi).

This work adds GstGLMemoryEGL to avoid this overhead. Decoders allocate
GstGLMemoryEGL and decode its contents to the EGLImage of GstGLMemoryEGL.  And
GLUpload uses this memory without allocation of additional textures and blit
operations.

[Matthew Waters]: gst-indent the sources and fix a critical retreiving the egl
display from the memory.

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

8 years agoglmemory: add wrapped data pointers to setup_buffer
Matthew Waters [Tue, 3 May 2016 15:16:51 +0000 (01:16 +1000)]
glmemory: add wrapped data pointers to setup_buffer

Allows creating wrapped memories with GstGLAllocationParams.

The wrapped pointers will be set in the parameters before being passed
to the memory allocation function.

8 years agoglbasememory: take a pointer as the wrapped gpu handle
Matthew Waters [Tue, 3 May 2016 14:19:44 +0000 (00:19 +1000)]
glbasememory: take a pointer as the wrapped gpu handle

Allows passing arbitrary data to wrap the the specific memory implementation
which is required for some memory implementations.

8 years agoapplemedia: vtdec: output sysmem by default
Alessandro Decina [Wed, 4 May 2016 01:30:11 +0000 (11:30 +1000)]
applemedia: vtdec: output sysmem by default

8 years agodirectsoundsrc: Convert Windows strings to UTF8 before comparing against UTF8 strings
Sebastian Dröge [Mon, 2 May 2016 08:30:43 +0000 (11:30 +0300)]
directsoundsrc: Convert Windows strings to UTF8 before comparing against UTF8 strings

The device name and descriptions returned are in the locale encoding, not
UTF8. Our device name property is in UTF8 though, so we need to convert.

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

8 years agocompositor: Set blend functions in ::negotiated_caps() instead of ::fixate_caps()
Sebastian Dröge [Tue, 3 May 2016 08:11:24 +0000 (11:11 +0300)]
compositor: Set blend functions in ::negotiated_caps() instead of ::fixate_caps()

The latter should not change any state but just fixate the caps, while the
former is always called when srcpads caps are decided.

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

8 years agodecklink: Fix swapped name and nick in GEnumValues
Vivia Nikolaidou [Wed, 20 Apr 2016 12:11:44 +0000 (15:11 +0300)]
decklink: Fix swapped name and nick in GEnumValues

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

8 years agodecklink: Add initial 10bit support for YUV modes
Vivia Nikolaidou [Thu, 14 Apr 2016 15:26:33 +0000 (18:26 +0300)]
decklink: Add initial 10bit support for YUV modes

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

8 years agodecklink: Fix indentation
Sebastian Dröge [Tue, 3 May 2016 12:52:38 +0000 (15:52 +0300)]
decklink: Fix indentation

8 years agogl: fix gles3 header usage for older platforms
Matthew Waters [Tue, 3 May 2016 09:58:00 +0000 (19:58 +1000)]
gl: fix gles3 header usage for older platforms

Some platforms provide an old version of GLES2/gl2.h and GLES2/gl2ext.h that
will fail when including GLES3/gl3.h due to missing typedef's.

Seen on the RPi.

8 years agodvbsrc: avoid possible race on _output_frontend_stats()
Reynaldo H. Verdejo Pinochet [Sat, 30 Apr 2016 06:32:03 +0000 (23:32 -0700)]
dvbsrc: avoid possible race on _output_frontend_stats()

Make sure we send out our info message before we give up ownership
of the structure.

8 years agodvbsrc: var rename in _output_frontend_params()
Reynaldo H. Verdejo Pinochet [Fri, 29 Apr 2016 21:53:06 +0000 (14:53 -0700)]
dvbsrc: var rename in _output_frontend_params()

Now it matches the rest of its status peers. Underscore
was a leftover from previous times.

8 years agodvbsrc: always output known frontend status params
Reynaldo H. Verdejo Pinochet [Fri, 29 Apr 2016 21:45:22 +0000 (14:45 -0700)]
dvbsrc: always output known frontend status params

The only mandatory frontend information for our use case
is its status. Make sure we output what we know instead
of choking at the first error getting SNR, BER or any of
the other informational parameters.

8 years agodvbsrc: refactor signal locking loop
Reynaldo H. Verdejo Pinochet [Fri, 29 Apr 2016 19:06:52 +0000 (12:06 -0700)]
dvbsrc: refactor signal locking loop

Get rid of preliminar frontend status check.

8 years agodvbsrc: drop unneeded polling step on _tune_fe()
Reynaldo H. Verdejo Pinochet [Fri, 29 Apr 2016 18:18:53 +0000 (11:18 -0700)]
dvbsrc: drop unneeded polling step on _tune_fe()

Additional waiting was not needed. Specially considering
it came after a successful READ_STATUS ioctl and was
followed by an EINTR-resilent retry.

8 years agompegtsmux: effectively check if there is a language
Thiago Santos [Fri, 29 Apr 2016 20:19:19 +0000 (17:19 -0300)]
mpegtsmux: effectively check if there is a language

'language' is an array and not a pointer.

CID 1358835

8 years agoplayer: Add required paths via pkg-config for gstreamer-base-1.0 and gstreamer-video...
Sebastian Dröge [Fri, 29 Apr 2016 10:54:01 +0000 (13:54 +0300)]
player: Add required paths via pkg-config for gstreamer-base-1.0 and gstreamer-video-1.0 for gobject-introspection

The GstBase-1.0.gir and GstVideo-1.0.gir files are required by GstPlayer.
Uninstalled builds fail if these files cannot be found.

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