platform/upstream/gst-plugins-base.git
6 years agogl/tests: matrix use the affine matrix setter to convert matrices
Matthew Waters [Thu, 21 Jun 2018 07:47:09 +0000 (17:47 +1000)]
gl/tests: matrix use the affine matrix setter to convert matrices

Removes some duplicated matrices that didn't really need to be
hardcoded.

6 years agoglcontextegl: dump the list of EGLConfig's available
Matthew Waters [Thu, 21 Jun 2018 07:36:39 +0000 (17:36 +1000)]
glcontextegl: dump the list of EGLConfig's available

6 years agogl: use dependency fallbacks to get at a possible gl-headers subproject
Matthew Waters [Mon, 18 Jun 2018 12:24:13 +0000 (22:24 +1000)]
gl: use dependency fallbacks to get at a possible gl-headers subproject

We would make the subproject conditional on the wrap-mode=nodownload
however get_option('wrap-mode') or similar is not available from
meson.build files as the wrap-mode is meant to be used automatically.

Instead use the dependency fallback mechanism to get at the subproject
where possible i.e. when downloading is allows and only add the compat
includes when we have a valid internal dependency from the gl-headers
subproject.

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

6 years agooggdemux: Make sure that events are writable before changing their seqnum
Sebastian Dröge [Mon, 18 Jun 2018 10:28:15 +0000 (13:28 +0300)]
oggdemux: Make sure that events are writable before changing their seqnum

6 years agogl/tests: add extension/version parsing checks
Matthew Waters [Fri, 15 Jun 2018 03:14:12 +0000 (13:14 +1000)]
gl/tests: add extension/version parsing checks

6 years agodiscoverer: Don't crash when running with -v if channel-mask==0 and >7 channels
Vivia Nikolaidou [Wed, 13 Jun 2018 12:29:46 +0000 (15:29 +0300)]
discoverer: Don't crash when running with -v if channel-mask==0 and >7 channels

For e.g. 16-channel audio, if the channel mask is 0 (which it usually
is), gst_audio_channel_positions_from_mask would get confused,
ultimately leading into a crash.

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

6 years agovideoencoder: Keep the segment position in sync
Edward Hervey [Wed, 13 Jun 2018 11:19:54 +0000 (13:19 +0200)]
videoencoder: Keep the segment position in sync

If the start of the segment is modified, the position should be
modified accordingly

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

6 years agosdp: Add new constructor, sdp_message_from_text
Mathieu Duponchelle [Mon, 11 Jun 2018 16:32:28 +0000 (18:32 +0200)]
sdp: Add new constructor, sdp_message_from_text

Helper function for bindings, in python for example
users can now replace:

res, msg = GstSdp.SDPMessage.new()
GstSdp.sdp_message_parse_buffer(bytes(text.encode()), msg)

with:

res, msg = GstSdp.SDPMessage.new_from_text(text)

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

6 years agovideopool: Removed unused private caps member
Nicolas Dufresne [Mon, 11 Jun 2018 17:51:47 +0000 (13:51 -0400)]
videopool: Removed unused private caps member

6 years agoRevert "gl/meson: add support for using bundled headers in a subproject"
Tim-Philipp Müller [Thu, 7 Jun 2018 16:42:35 +0000 (17:42 +0100)]
Revert "gl/meson: add support for using bundled headers in a subproject"

This reverts commit 82c43ff9a32f1c1d113cd6e1e8d046b7ab64422d.

Reverting for the time being, since it trips up build bots
that don't have network connectivity.

We ideally shouldn't have a subproject that's used unconditionally.

6 years agoglalpha: fix compilation with msvc
Matthew Waters [Thu, 7 Jun 2018 03:58:43 +0000 (13:58 +1000)]
glalpha: fix compilation with msvc

It doesn't define M_PI

6 years agogl/meson: add support for using bundled headers in a subproject
Matthew Waters [Wed, 6 Jun 2018 07:27:15 +0000 (17:27 +1000)]
gl/meson: add support for using bundled headers in a subproject

This is most useful when building on windows which does not ship the
necessary OpenGL headers.

6 years agogl: add subproject for necessary GL headers for building
Matthew Waters [Thu, 7 Jun 2018 03:48:10 +0000 (13:48 +1000)]
gl: add subproject for necessary GL headers for building

Originally for windows with the GL/glext.h and GL/wglext.h but can be
extended for other headers

6 years agoaudiobasesink: Improve clock skew corrections.
Thomas Bluemel [Wed, 1 Nov 2017 16:25:49 +0000 (10:25 -0600)]
audiobasesink: Improve clock skew corrections.

The external time should be moved only as much as needed
to get back to the ideal center point, so that the clock
is still allowed to drift both directions after the correction.
This reduces excessive back and forth corrections that were
caused by the assumption of a linear drift.

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

6 years agogl/meson: force the gl dependency to use pkg-config
Matthew Waters [Wed, 6 Jun 2018 07:24:26 +0000 (17:24 +1000)]
gl/meson: force the gl dependency to use pkg-config

Meson has an internal override for dependency('gl') which we do not want
to use as it assumes too many things.  Force meson to only search for
gl.pc.

6 years agogl/meson: don't define GST_EXPORTS
Matthew Waters [Mon, 4 Jun 2018 12:34:04 +0000 (22:34 +1000)]
gl/meson: don't define GST_EXPORTS

The intended use (msvc) doesn't currently like it and will fail to
resolve symbols at runtime.

6 years agogldownloadelement: fix build with msvc
Matthew Waters [Mon, 4 Jun 2018 12:32:03 +0000 (22:32 +1000)]
gldownloadelement: fix build with msvc

msvc doesn't like #ifdef inside macro expansion

6 years agogl/utils: Fix NDC conversion matrices for column-majorness
Matthew Waters [Wed, 23 May 2018 16:49:54 +0000 (02:49 +1000)]
gl/utils: Fix NDC conversion matrices for column-majorness

The matrices were converting the wrong values with non-diagonal-only matrices.
e.g. a typical yflip matrix in [-1,1]^3 such as
 1  0  0  0
 0 -1  0  0
 0  0  1  0
 0  0  0  1

Would have actually required a matrix like this in [0,1]^3
 1  0  0  0
 0 -1  0  0
 0  0  1  0
 0 -2  0  1

Which is
1. not consistent with our multiplication convention and would require
   transposing matrices or changing our multiplication order (from what is
   generally used on opengl matrix guides/tutorials).
2. Produces incorrect values when input with actual vertices accounting for
   the difference in multiplication order.  e.g. some vertices multiplied by
   the yflip matrix using vertex * yflip(== transpose(yflip) * vertex):

     vertex:       -> result:           expected:
     vec4(1,0,1,1) -> vec4(1,-2,1,1)    vec4(1,1,1,1)
     vec4(1,1,1,1) -> vec4(1,-3,1,1)    vec4(1,0,1,1)

With the updated values, we now get the expected values.

Includes a test for this behaviour and the example above

6 years agoplaysink: Properly propagate SEGMENT seqnum
Edward Hervey [Tue, 5 Jun 2018 15:30:47 +0000 (17:30 +0200)]
playsink: Properly propagate SEGMENT seqnum

When flushing chains, make sure the FLUSH events have seqnum
that are consistent with the current SEGMENT seqnum

6 years agostreamsynchronizer: Properly propagate seqnum on EOS event
Edward Hervey [Tue, 5 Jun 2018 15:29:53 +0000 (17:29 +0200)]
streamsynchronizer: Properly propagate seqnum on EOS event

6 years agortpbasedepayload: Properly propagate segment seqnum
Edward Hervey [Tue, 5 Jun 2018 15:24:55 +0000 (17:24 +0200)]
rtpbasedepayload: Properly propagate segment seqnum

This wasn't done previously and the outgoing SEGMENT events had
seqnums which weren't consistent with the upstream ones

6 years agooggdemux: Properly relay seqnum of segments
Edward Hervey [Tue, 5 Jun 2018 15:24:05 +0000 (17:24 +0200)]
oggdemux: Properly relay seqnum of segments

Not all cases were handled regarding properly propagating the
seqnum of SEGMENT events on all downstream segment-related events

6 years agosubparse: Don't read beyond array
Edward Hervey [Wed, 30 May 2018 09:39:40 +0000 (11:39 +0200)]
subparse: Don't read beyond array

If num_open_tags is 0, we shouldn't try to get the "last" open tag
since there isn't any.

6 years agoogg: Avoid undefined granule shift
Edward Hervey [Wed, 30 May 2018 08:56:12 +0000 (10:56 +0200)]
ogg: Avoid undefined granule shift

A granule is a 64bit signed integer, shifting by 63 or more is
undefined and most likely an indication that the stream is
corrupted or invalid.

Detected by oss-fuzz

6 years agodocs: Fix typos
Tim-Philipp Müller [Tue, 22 May 2018 12:59:58 +0000 (13:59 +0100)]
docs: Fix typos

6 years agolibs: g-ir-scanner: do not hardcode libtool path
Antoine Jacoutot [Fri, 18 Apr 2014 08:37:57 +0000 (10:37 +0200)]
libs: g-ir-scanner: do not hardcode libtool path

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

6 years agomeson: rename gtkdoc option to gtk_doc
Tim-Philipp Müller [Mon, 21 May 2018 22:12:22 +0000 (23:12 +0100)]
meson: rename gtkdoc option to gtk_doc

6 years agomeson: add install_plugins_helper option
Tim-Philipp Müller [Mon, 21 May 2018 10:35:05 +0000 (11:35 +0100)]
meson: add install_plugins_helper option

6 years agovideo: fix some GIR array annotations
Mark Nauwelaerts [Mon, 21 May 2018 07:18:24 +0000 (09:18 +0200)]
video: fix some GIR array annotations

6 years agoaudio: fix some GIR array annotations
Mark Nauwelaerts [Mon, 21 May 2018 07:18:09 +0000 (09:18 +0200)]
audio: fix some GIR array annotations

6 years agomeson: gl: remove non-headers from gl_prototype_headers
Christoph Reiter [Sun, 20 May 2018 11:37:07 +0000 (13:37 +0200)]
meson: gl: remove non-headers from gl_prototype_headers

This made the meson build install those files, while they aren't
installed with the autotools build.

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

6 years agomeson: use cdata.set_quoted() in more places
Tim-Philipp Müller [Sun, 20 May 2018 13:38:37 +0000 (14:38 +0100)]
meson: use cdata.set_quoted() in more places

6 years agomeson: add 'nls' option to disable translations
Tim-Philipp Müller [Sun, 20 May 2018 13:27:18 +0000 (14:27 +0100)]
meson: add 'nls' option to disable translations

And enable by default. Was implicitly disabled because
ENABLE_NLS was not defined.

6 years agomeson: install license-translations.dict and set LICENSE_TRANSLATIONS_PATH
Christoph Reiter [Sun, 20 May 2018 11:33:13 +0000 (13:33 +0200)]
meson: install license-translations.dict and set LICENSE_TRANSLATIONS_PATH

The autotools build installs the file and sets the LICENSE_TRANSLATIONS_PATH
macro which licences.c uses as a fallback path. Do the same with meson.

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

6 years agomeson: install the man pages for the command line tools
Christoph Reiter [Sun, 20 May 2018 11:35:52 +0000 (13:35 +0200)]
meson: install the man pages for the command line tools

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

6 years agovideo: Add NV12_10LE40 pixel format
ayaka [Sun, 29 Apr 2018 00:22:31 +0000 (20:22 -0400)]
video: Add NV12_10LE40 pixel format

This pixel format is a fully packed variant of NV12_10LE32,
a luma pixel would take 10bits in memory, without any
filled bits between pixels in a stride. The color range
follows the BT.2020 standard.

In order to get a better performance in hardware memory
operation, it may expend the stride, append zero data at the
end of echo lines.

Pack function by Nicolas Dufresne.

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

Signed-off-by: Nicolas Dufresne <nicolas@ndufresne.ca>
Signed-off-by: ayaka <ayaka@soulik.info>
6 years agolibs: g-ir-scanner: do not hardcode libtool path
Antoine Jacoutot [Fri, 18 Apr 2014 08:37:57 +0000 (10:37 +0200)]
libs: g-ir-scanner: do not hardcode libtool path

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

6 years agoplaybin3: Collect appropriate stream-type when doing stream selection
hoonhee.lee [Thu, 17 May 2018 04:54:35 +0000 (13:54 +0900)]
playbin3: Collect appropriate stream-type when doing stream selection

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

6 years agoaudioaggregator: Remove custom get_next_time implementation
Olivier Crête [Mon, 23 Apr 2018 17:27:39 +0000 (13:27 -0400)]
audioaggregator: Remove custom get_next_time implementation

GstAggregator now offers  same thing in a common implementation.

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

6 years agovideotimecode: Allow 24000/1001 frame rate
Georg Lippitsch [Wed, 13 Dec 2017 11:30:54 +0000 (12:30 +0100)]
videotimecode: Allow 24000/1001 frame rate

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

6 years agoexamples: gl: subdirs can be built independently in parallel
Tim-Philipp Müller [Sun, 13 May 2018 22:33:14 +0000 (23:33 +0100)]
examples: gl: subdirs can be built independently in parallel

6 years agoexamples: gl: sdl: link to the right in-tree libgstvideo
Pierre Labastie [Sun, 13 May 2018 22:31:22 +0000 (23:31 +0100)]
examples: gl: sdl: link to the right in-tree libgstvideo

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

6 years agosubparse: follow-up build fix after d871b1205
Philippe Normand [Sat, 12 May 2018 16:19:50 +0000 (17:19 +0100)]
subparse: follow-up build fix after d871b1205

6 years agosubparse: support for more than 32 unclosed markup tags
Philippe Normand [Sat, 12 May 2018 12:53:02 +0000 (13:53 +0100)]
subparse: support for more than 32 unclosed markup tags

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

6 years agoparsebin: remove unused macro definitions
Roland Jon [Sat, 12 May 2018 02:05:38 +0000 (10:05 +0800)]
parsebin: remove unused macro definitions

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

6 years agoexamples: Disable a specific warning
Edward Hervey [Fri, 11 May 2018 07:44:58 +0000 (09:44 +0200)]
examples: Disable a specific warning

gcc 8 checks more cases in the "parentheses" checks, and unfortunately
upstream gtk headers fails with that warning.

Make that warning non-fatal

6 years agodecodebin3: Do not modify structure of EOS event
Seungha Yang [Wed, 9 May 2018 16:54:36 +0000 (01:54 +0900)]
decodebin3: Do not modify structure of EOS event

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

6 years agourisourcebin: Do not modify structure of EOS event
Seungha Yang [Wed, 9 May 2018 16:33:55 +0000 (01:33 +0900)]
urisourcebin: Do not modify structure of EOS event

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

6 years agouridecodebin3: Fix GList leak
Seungha Yang [Wed, 9 May 2018 01:39:23 +0000 (10:39 +0900)]
uridecodebin3: Fix GList leak

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

6 years agouridecodebin3: Fix string leak
Seungha Yang [Tue, 8 May 2018 14:44:38 +0000 (23:44 +0900)]
uridecodebin3: Fix string leak

uri and suburi should be free'd

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

6 years agotagdemux: avoid timestamp field initialisation for tag event
Kyrylo Polezhaiev [Tue, 2 Feb 2016 16:19:30 +0000 (18:19 +0200)]
tagdemux: avoid timestamp field initialisation for tag event

This field is not used and will be removed in 2.0 API.

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

6 years agoglcolorbalance: Support OES textures for input/passthrough
Jan Schmidt [Tue, 27 Feb 2018 12:22:24 +0000 (23:22 +1100)]
glcolorbalance: Support OES textures for input/passthrough

glcolorbalance is in the default GL path inside glimagesink,
so has been causing an possibly-unnecessary extra texture copy
on Android for a while now. If we're just doing passthrough,
we can support OES directly. If not, they'll be transformed
to 2D textures and colourbalanced.

6 years agodecodebin3: Re-order all streams and add to collection
hoonhee.lee [Tue, 25 Apr 2017 07:35:45 +0000 (16:35 +0900)]
decodebin3: Re-order all streams and add to collection

Sort all streams from parsebins by stream type and SELECT flag
and stream-id. First video, then audio, then others.

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

6 years agotypefindfunctions: fix tap typefinder
Tim-Philipp Müller [Sun, 6 May 2018 09:09:45 +0000 (11:09 +0200)]
typefindfunctions: fix tap typefinder

If we memcmp() 12 bytes we should make sure to get
at least 12 bytes as well, and not just 8 bytes.

Thanks oss-fuzz!

6 years agoglcolorconvert: fix negotiation for a non list video format in caps
Matthew Waters [Sun, 6 May 2018 08:51:10 +0000 (18:51 +1000)]
glcolorconvert: fix negotiation for a non list video format in caps

For a single format in the caps, we were returning some weird answers,
like only RGB formats for a RGB input when we can also support YUV from
RGB.

Fixup of 3cfff727b19d450898dbe7931c53ea05bc2a9ac3 where I thought my
previous (~6month) self had got this right.  Don't trust your previous
self people!

6 years agotcp: fix markup for example pipelines in docs
Tim-Philipp Müller [Sat, 5 May 2018 16:02:16 +0000 (18:02 +0200)]
tcp: fix markup for example pipelines in docs

gtk-doc doesn't like the # it seems.

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

6 years agotypefind: Add TAP and DMP files support
Fabrizio Gennari [Sat, 16 Nov 2013 16:13:00 +0000 (16:13 +0000)]
typefind: Add TAP and DMP files support

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

6 years agomeson: Update option names to omit disable_ and with- prefixes
Nirbheek Chauhan [Sat, 5 May 2018 13:55:20 +0000 (19:25 +0530)]
meson: Update option names to omit disable_ and with- prefixes

Also yield common options to the outer project (gst-build in our case)
so that they don't have to be set manually and use array types for some
options.

6 years agoaudioaggregator: Update converters after updating with the new audioinfo/caps
Sebastian Dröge [Sat, 5 May 2018 09:29:05 +0000 (11:29 +0200)]
audioaggregator: Update converters after updating with the new audioinfo/caps

Otherwise subclasses might accidentially use the old audioinfo/caps.
None of the subclasses currently uses the audioinfo/caps, but future
subclasses might.

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

6 years agogl: allow for high resolution EAGLLayer's
Matthew Waters [Fri, 16 Mar 2018 07:57:36 +0000 (18:57 +1100)]
gl: allow for high resolution EAGLLayer's

6 years agoglformat: add test for formats
Matthew Waters [Sat, 5 May 2018 11:29:40 +0000 (21:29 +1000)]
glformat: add test for formats

6 years agoglcolorconvert: add support for ARGB64 conversion
Matthew Waters [Sat, 5 May 2018 11:21:13 +0000 (21:21 +1000)]
glcolorconvert: add support for ARGB64 conversion

6 years agogl/format: add a function to retrieve if a format is supported
Matthew Waters [Sat, 5 May 2018 11:03:25 +0000 (21:03 +1000)]
gl/format: add a function to retrieve if a format is supported

6 years agoglbasefilter: expose finding the local GL context
Matthew Waters [Thu, 3 May 2018 03:59:07 +0000 (13:59 +1000)]
glbasefilter: expose finding the local GL context

And use it to attempt to find the GL context sooner for upload and color
conversion caps transformations.

6 years agogl/memory: store the internal format as the texture format
Matthew Waters [Wed, 14 Mar 2018 07:12:21 +0000 (18:12 +1100)]
gl/memory: store the internal format as the texture format

Instead of having special cases at each GL texture creation, upload,
readback or copy for all non-8-bits-per-components.
Simply store the more specific format and retrieve the generic
component/type tuple from that.

Introduce a helper function for retrieving the generic GL format (RGBA,
RGB, RG, R, L, A) and type (BYTE, SHORT, SHORT_5_6_5) from a sized
GL format enum (RGBA8, RGB565, RG8, etc).

6 years agogl/memory/tests: split test into separate subtests
Matthew Waters [Wed, 14 Mar 2018 07:20:54 +0000 (18:20 +1100)]
gl/memory/tests: split test into separate subtests

Allows for more fine-grained notification of failures

6 years agogl: add glalpha element that is similar to the alpha element
Matthew Waters [Mon, 5 Mar 2018 06:58:11 +0000 (17:58 +1100)]
gl: add glalpha element that is similar to the alpha element

It performs similarly to the existing alpha element however performs
calculations in floating point rather than with small (guint8) integers
so some differences are to be expected.

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

6 years agovideo: Silence "restrict" issues with ORC code
Edward Hervey [Fri, 4 May 2018 08:35:36 +0000 (10:35 +0200)]
video: Silence "restrict" issues with ORC code

The problem is that even though the functions we are calling are
in-place transformation, orc automatically puts the restrict keyword
on all arguments. To silence that warning just create yet-another
variable containing the same value.

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

6 years agoCOPYING: Put LGPLv2 in there
Olivier Crête [Fri, 4 May 2018 11:36:36 +0000 (13:36 +0200)]
COPYING: Put LGPLv2 in there

There is no GPLv2 code in this repo.

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

6 years agoappsink: Handle unlock in drain query handling too
Sebastian Dröge [Wed, 2 May 2018 15:39:31 +0000 (18:39 +0300)]
appsink: Handle unlock in drain query handling too

And also handle flushing, we might otherwise wait here forever when
flushing too.

6 years agoappsink: Make sure to also handle unlock when waiting for EOS to be handled
Sebastian Dröge [Wed, 2 May 2018 15:35:23 +0000 (18:35 +0300)]
appsink: Make sure to also handle unlock when waiting for EOS to be handled

Otherwise shutting down during EOS waiting will cause a deadlock.

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

6 years agoappsrc/sink: Fix optimization for only signalling waiters if someone is actually...
Sebastian Dröge [Wed, 2 May 2018 15:11:58 +0000 (18:11 +0300)]
appsrc/sink: Fix optimization for only signalling waiters if someone is actually waiting

It is possible that both application and the stream are waiting
currently, if for example the following happens:
  1) app is waiting because no buffer in appsink
  2) appsink providing a buffer and waking up app
  3) appsink getting another buffer and waiting because it's full now
  4) app thread getting back control

Previously step 4 would overwrite that the appsink is currently waiting,
so it would never be signalled again.

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

6 years agopbutils: Avoid assertion describing raw audio caps without format
Thibault Saunier [Mon, 30 Apr 2018 15:17:22 +0000 (17:17 +0200)]
pbutils: Avoid assertion describing raw audio caps without format

We used to get:

    gst_audio_format_from_string: assertion 'format != NULL' failed

6 years agoencoding-profile: Fix deserialization of a single profile
Thibault Saunier [Mon, 23 Apr 2018 19:50:26 +0000 (16:50 -0300)]
encoding-profile: Fix deserialization of a single profile

Instead of trying to guess what profile to build, just get the possible
elements to use with the specified caps and determine the
EncodingProfile from it.

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

6 years agoencodebin: Also lock input caps when dynamic output is disabled
Thibault Saunier [Sun, 22 Apr 2018 13:49:29 +0000 (10:49 -0300)]
encodebin: Also lock input caps when dynamic output is disabled

With the way caps negotiation work in encoders, the only way to ensure
that no downstream renegotiation is done in the encoder is to also lock
upstream caps. Anyway with the current behavior upstream of encoders
*require* to handle any file format so locking upstream format should
be safe.

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

6 years agotagmux: Reset final tags for reusing element
Seungha Yang [Mon, 30 Apr 2018 10:49:20 +0000 (19:49 +0900)]
tagmux: Reset final tags for reusing element

If the output tag had been exposed, it never ever updated
even if we reset the tagmux using state change.

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

6 years agouridecodebin3: don't segfault if a pad is not a source pad when it is removed
hoonhee.lee [Wed, 25 Apr 2018 00:28:53 +0000 (09:28 +0900)]
uridecodebin3: don't segfault if a pad is not a source pad when it is removed

Ignore to handling a pad of decodebin3 which doesn't have corresponding output
when it is removed.

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

6 years agovideodecoder: add test for event order
Michael Olbrich [Fri, 20 Apr 2018 10:30:22 +0000 (12:30 +0200)]
videodecoder: add test for event order

When frames are dropped or reordered then the serialized events are
collected and pushed with the next frame. This test verifies that the
order is preserved.

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

6 years agovideodecoder: keep event order
Matthias Fend [Thu, 8 Mar 2018 10:28:58 +0000 (11:28 +0100)]
videodecoder: keep event order

Since events are pushed out in reverse order, newer events need to
be added at the front of event lists

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

6 years agodmabufallocator: adds gst_dmabuf_allocator_alloc_with_flags
Hyunjun Ko [Fri, 30 Mar 2018 06:41:15 +0000 (15:41 +0900)]
dmabufallocator: adds gst_dmabuf_allocator_alloc_with_flags

If we can guarantee the lifetime of the fd is longer than
the memory, we can use DONT_CLOSE flag not to close when release.
But it's not provided in gstdmabuf yet while gstfdmemory does.

For example, in case of using VA-API or MSDK, we would need this api.
Otherwise we should call dup to duplicate the fd.

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

6 years agoviv-fb: export viv-fb display api
Haihua Hu [Thu, 26 Apr 2018 05:01:05 +0000 (13:01 +0800)]
viv-fb: export viv-fb display api

qmlgl plugin will use this api

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

6 years agoviv-fb: install gstgldisplay_viv_fb.h into build result
Haihua Hu [Tue, 24 Apr 2018 05:48:53 +0000 (13:48 +0800)]
viv-fb: install gstgldisplay_viv_fb.h into build result

gstgldisplay_viv_fb.h is need by qmlgl plugin in gst-good package

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

6 years agomeson: fix copy'n'paste-o in app plugin build description
Tim-Philipp Müller [Wed, 25 Apr 2018 10:26:17 +0000 (11:26 +0100)]
meson: fix copy'n'paste-o in app plugin build description

6 years agoMeson: Generate pc file for all plugins in base
Xavier Claessens [Tue, 24 Apr 2018 18:05:57 +0000 (14:05 -0400)]
Meson: Generate pc file for all plugins in base

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

6 years agomeson: use -Wl,-Bsymbolic-functions where supported
Tim-Philipp Müller [Wed, 25 Apr 2018 09:57:48 +0000 (10:57 +0100)]
meson: use -Wl,-Bsymbolic-functions where supported

Just like the autotools build.

6 years agogl/cocoa: Let ARC clean up our dispatch queue if ARC is used, and otherwise do it...
Sebastian Dröge [Tue, 24 Apr 2018 22:33:43 +0000 (01:33 +0300)]
gl/cocoa: Let ARC clean up our dispatch queue if ARC is used, and otherwise do it manually

Also don't use __bridge casts if ARC is not used, as is the case on 32
bit systems.

6 years agogl/cocoa: Use NSRect instead of CGRect
Sebastian Dröge [Tue, 24 Apr 2018 22:08:58 +0000 (01:08 +0300)]
gl/cocoa: Use NSRect instead of CGRect

On 64 bit systems they're typedefs of each other but on 32 bit systems
not, and we pass the rect to an API that expects a NSRect

6 years agoRevert "video: Add NV12_10LE40 pixel format"
Nicolas Dufresne [Tue, 24 Apr 2018 21:05:17 +0000 (17:05 -0400)]
Revert "video: Add NV12_10LE40 pixel format"

This reverts commit 35d0783fca504997e1be30cfebfa8de042ea49ab.

6 years agovideo: Add NV12_10LE40 pixel format
ayaka [Sat, 25 Mar 2017 20:54:42 +0000 (04:54 +0800)]
video: Add NV12_10LE40 pixel format

This pixel format is a fully packed variant of NV12, a luma
pixel would take 10bits in memory, without any filled bits
between pixels in a stride. The color range follows
the BT.2020 standard.

In order to get a performance in hardware memory
operation, it may expend the stride, append zero data at the
end of echo lines.

Signed-off-by: ayaka <ayaka@soulik.info>
https://bugzilla.gnome.org/show_bug.cgi?id=795462

6 years agogl: fix some GIR annotations
Mark Nauwelaerts [Fri, 20 Apr 2018 19:54:23 +0000 (21:54 +0200)]
gl: fix some GIR annotations

Mostly related to out and array parameters

6 years agopbutils: fix some GIR annotations
Mark Nauwelaerts [Fri, 20 Apr 2018 19:53:17 +0000 (21:53 +0200)]
pbutils: fix some GIR annotations

Mostly related to out and array parameters

6 years agovideo: fix some GIR annotations
Mark Nauwelaerts [Fri, 20 Apr 2018 19:53:16 +0000 (21:53 +0200)]
video: fix some GIR annotations

Mostly related to out and array parameters

6 years agoaudio: fix some GIR annotations
Mark Nauwelaerts [Fri, 20 Apr 2018 19:53:16 +0000 (21:53 +0200)]
audio: fix some GIR annotations

Mostly related to out and array parameters

6 years agortsp: fix some GIR annotations
Mark Nauwelaerts [Fri, 20 Apr 2018 19:53:15 +0000 (21:53 +0200)]
rtsp: fix some GIR annotations

Mostly related to out and array parameters.

6 years agortp: fix some GIR annotations
Mark Nauwelaerts [Fri, 20 Apr 2018 19:53:10 +0000 (21:53 +0200)]
rtp: fix some GIR annotations

Mostly related to out and array parameters.

6 years agoaudioaggregator: fix filtered getcaps
Mathieu Duponchelle [Mon, 23 Apr 2018 14:32:41 +0000 (16:32 +0200)]
audioaggregator: fix filtered getcaps

In the situation described in
https://bugzilla.gnome.org/show_bug.cgi?id=795397,

downstream_caps consists of two structures, the first with
the preferred rate, if at all possible (44100), the second
containing the full range of allowed rates, as audioresample
correctly tries to negotiate passthrough caps.

As audioaggregator cannot perform rate conversion, it wants
to return a fixated rate in its getcaps implementation,
however it previously directly used the first structure in
the caps allowed downstream, without taking the filter into
consideration, to determine the rate to fixate to.

With this, we first intersect our downstream caps with the
filter, in order not to fixate to an unsupported rate.

6 years agotests: videodecoder: Fix a minor c&p mistake
Zeeshan Ali [Mon, 23 Apr 2018 10:23:41 +0000 (12:23 +0200)]
tests: videodecoder: Fix a minor c&p mistake

This completes what commit 0de0f3b2c should have already done. :)

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

6 years agotests: videodecoder: Fix a minor c&p mistake
Zeeshan Ali [Mon, 23 Apr 2018 10:23:41 +0000 (12:23 +0200)]
tests: videodecoder: Fix a minor c&p mistake

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

6 years agovideo: Safe guard info->finfo when mapping a frame
Thibault Saunier [Sat, 21 Apr 2018 04:00:28 +0000 (01:00 -0300)]
video: Safe guard info->finfo when mapping a frame

Not sure how that slept through but that case is possible and leads
to segfaults in any code path of the function right now.

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

6 years agoencoding-profile: Handle escaped '\:' in caps describing profiles
Thibault Saunier [Fri, 20 Apr 2018 14:04:44 +0000 (11:04 -0300)]
encoding-profile: Handle escaped '\:' in caps describing profiles

Otherwise it won't be possible to specify some profiles such as

    video/x-h264,profile=(string)high-4:4:4

With this patch, we can do

    video/x-h264,profile=(string)high-4\:4\:4