platform/upstream/gstreamer.git
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

6 years agomeson: gl: fix 'invalid keyword argument' meson warnings
Tim-Philipp Müller [Fri, 20 Apr 2018 10:42:16 +0000 (11:42 +0100)]
meson: gl: fix 'invalid keyword argument' meson warnings

Required is not a valid kwarg for cc.has_header()

6 years agortpbasedepayload: condition the sending of gap events
Mathieu Duponchelle [Fri, 6 Apr 2018 18:02:13 +0000 (20:02 +0200)]
rtpbasedepayload: condition the sending of gap events

The default implementation for packet loss handling previously
always sent a gap event.

While this is correct as long as we know the packet that was
lost was actually a media packet, with ULPFEC this becomes
a bit more complicated, as we do not know whether the packet
that was lost was a FEC packet, in which case it is better
to not actually send any gap events in the default implementation.

Some payloaders can be more clever about, for example VP8 can
use the picture-id, and the M and S bits to determine whether
the missing packet was inside an encoded frame or outside,
and thus whether if it was a media packet or a FEC packet,
which is why ulpfecdec still lets these lost events go through,
though stripping them of their seqnum, and appending a new
"might-have-been-fec" field to them.

This is all a bit terrible, but necessary to have ULPFEC
integrate properly with the rest of our RTP stack.

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

6 years agoappsink: Reuse sample object in pull_sample if possible
Mathieu Duponchelle [Tue, 10 Apr 2018 22:57:43 +0000 (00:57 +0200)]
appsink: Reuse sample object in pull_sample if possible

Simple optimization to reduce memory allocations.

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

6 years agoparsebin: Post STREAM_COLLECTION on EVENT_STREAM_COLLECTION
Thibault Saunier [Wed, 18 Apr 2018 19:06:07 +0000 (16:06 -0300)]
parsebin: Post STREAM_COLLECTION on EVENT_STREAM_COLLECTION

Otherwise decodebin won't get notified about STREAM_COLLECTION comming
from the sources and thus will never get informored about it. Without
being informed about the stream collection decodebin won't be able to
select any streams. It ends up not creating any output for the streams
defined from outside parserbin.

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

6 years agoegl: fix build when using RPi EGL
Omar Akkila [Wed, 18 Apr 2018 14:28:42 +0000 (10:28 -0400)]
egl: fix build when using RPi EGL

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

6 years agomeson: move some dependency checks to the top level
Mathieu Duponchelle [Wed, 18 Apr 2018 15:22:45 +0000 (17:22 +0200)]
meson: move some dependency checks to the top level

The newly-added build definitions for test/icles relied
on dependencies that were only defined when the examples
are enabled, thus breaking meson build -Ddisable_examples=true

6 years agovideo: Don't corrupt caption GstMeta
Edward Hervey [Mon, 16 Apr 2018 15:04:06 +0000 (17:04 +0200)]
video: Don't corrupt caption GstMeta

the meta initialization function is provided *after* the base implementation
fields have been set so do *NOT* reset them otherwise it would result
in corrupted GstMeta.

Instead explicitely set our fields to the default values we actually want.

6 years agoAutomatic update of common submodule
Tim-Philipp Müller [Mon, 16 Apr 2018 09:52:51 +0000 (10:52 +0100)]
Automatic update of common submodule

From f0c2dc9 to ed78bee

6 years agogl: Define default value for GST_GL_HAVE_WINDOW_GBM
Víctor Manuel Jáquez Leal [Mon, 16 Apr 2018 09:10:45 +0000 (11:10 +0200)]
gl: Define default value for GST_GL_HAVE_WINDOW_GBM

Thus, silent compiler's warning:
"GST_GL_HAVE_WINDOW_GBM" is not defined, evaluates to 0 [-Wundef]

6 years agotag: fix some GIR annotations
Mark Nauwelaerts [Fri, 13 Apr 2018 18:18:56 +0000 (20:18 +0200)]
tag: fix some GIR annotations

Mostly related to out and array parameters.

6 years agotests: make getaddrinfo suppression more generic
Tim-Philipp Müller [Fri, 13 Apr 2018 00:23:38 +0000 (01:23 +0100)]
tests: make getaddrinfo suppression more generic

So it works for me on debian sid.

6 years agovalgrind supps: ignore leaks where pango is the first frame
Mathieu Duponchelle [Thu, 12 Apr 2018 23:05:23 +0000 (01:05 +0200)]
valgrind supps: ignore leaks where pango is the first frame

6 years agovalgrind supps: ignore intentional leak in GL test
Mathieu Duponchelle [Thu, 12 Apr 2018 23:02:27 +0000 (01:02 +0200)]
valgrind supps: ignore intentional leak in GL test

6 years agovalgrind supps: conditional moves in nvidia-glcore
Mathieu Duponchelle [Thu, 12 Apr 2018 20:34:22 +0000 (22:34 +0200)]
valgrind supps: conditional moves in nvidia-glcore

Not much we can do here

6 years agovalgrind supps: getaddrinfo leaks when resolving addresses
Mathieu Duponchelle [Thu, 12 Apr 2018 20:33:27 +0000 (22:33 +0200)]
valgrind supps: getaddrinfo leaks when resolving addresses

https://lists.debian.org/debian-glibc/2016/03/msg00243.html

6 years agoaudioaggregator: unref converted buffer after gst_buffer_replace
Mathieu Duponchelle [Thu, 12 Apr 2018 20:24:26 +0000 (22:24 +0200)]
audioaggregator: unref converted buffer after gst_buffer_replace

6 years agoalsamidisrc: unref buffer_list before early return
Mathieu Duponchelle [Thu, 12 Apr 2018 20:23:50 +0000 (22:23 +0200)]
alsamidisrc: unref buffer_list before early return

6 years agotests/audiomixer: fix caps leak
Mathieu Duponchelle [Thu, 12 Apr 2018 19:49:40 +0000 (21:49 +0200)]
tests/audiomixer: fix caps leak