platform/upstream/gst-plugins-bad.git
6 years agowebrtc: Don't deadlock on block pads on shutdown
Jan Schmidt [Tue, 26 Jun 2018 17:05:55 +0000 (03:05 +1000)]
webrtc: Don't deadlock on block pads on shutdown

When changing state downward, we can't set pads
to inactive if they are blocked, it will deadlock
trying to acquire the streaming lock.

Just calling the parent state change function
will do the correct things to unblock probes and
set the pad inactive, so let it do that and
remove the probes after the parent state change
function has run

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

6 years agowinks: Update for g_type_class_add_private() deprecation in recent GLib
Tim-Philipp Müller [Sat, 23 Jun 2018 22:17:26 +0000 (00:17 +0200)]
winks: Update for g_type_class_add_private() deprecation in recent GLib

Untested

6 years agomsdk: Update for g_type_class_add_private() deprecation in recent GLib
Tim-Philipp Müller [Sat, 23 Jun 2018 22:17:26 +0000 (00:17 +0200)]
msdk: Update for g_type_class_add_private() deprecation in recent GLib

Untested.

6 years agolibs: Update for g_type_class_add_private() deprecation in recent GLib
Tim-Philipp Müller [Sat, 23 Jun 2018 22:17:26 +0000 (00:17 +0200)]
libs: Update for g_type_class_add_private() deprecation in recent GLib

6 years agovideoaggregator: Update for g_type_class_add_private() deprecation in recent GLib
Tim-Philipp Müller [Sat, 23 Jun 2018 22:17:26 +0000 (00:17 +0200)]
videoaggregator: Update for g_type_class_add_private() deprecation in recent GLib

6 years agogl: Update for g_type_class_add_private() deprecation in recent GLib
Tim-Philipp Müller [Sat, 23 Jun 2018 22:17:26 +0000 (00:17 +0200)]
gl: Update for g_type_class_add_private() deprecation in recent GLib

6 years agovulkan: Update for g_type_class_add_private() deprecation in recent GLib
Tim-Philipp Müller [Sat, 23 Jun 2018 22:17:26 +0000 (00:17 +0200)]
vulkan: Update for g_type_class_add_private() deprecation in recent GLib

6 years agosoundtouch: Update for g_type_class_add_private() deprecation in recent GLib
Tim-Philipp Müller [Sat, 23 Jun 2018 22:17:26 +0000 (00:17 +0200)]
soundtouch: Update for g_type_class_add_private() deprecation in recent GLib

6 years agodtls: Update for g_type_class_add_private() deprecation in recent GLib
Tim-Philipp Müller [Sat, 23 Jun 2018 22:17:26 +0000 (00:17 +0200)]
dtls: Update for g_type_class_add_private() deprecation in recent GLib

6 years agowebrtc: Update for g_type_class_add_private() deprecation in recent GLib
Tim-Philipp Müller [Sat, 23 Jun 2018 22:17:26 +0000 (00:17 +0200)]
webrtc: Update for g_type_class_add_private() deprecation in recent GLib

6 years agouvch264src: get rid of unnecessary private struct
Tim-Philipp Müller [Sat, 23 Jun 2018 22:07:59 +0000 (00:07 +0200)]
uvch264src: get rid of unnecessary private struct

6 years agojpegformat: get rid of unnecessary private structs
Tim-Philipp Müller [Sat, 23 Jun 2018 21:51:37 +0000 (23:51 +0200)]
jpegformat: get rid of unnecessary private structs

6 years agoext/closedcaption/misc.h: Transform into UTF-8
Olivier Crête [Thu, 21 Jun 2018 12:49:01 +0000 (08:49 -0400)]
ext/closedcaption/misc.h: Transform into UTF-8

6 years agodecklink: Fix warning about HRESULT not being unsigned int
Nirbheek Chauhan [Wed, 20 Jun 2018 06:08:17 +0000 (11:38 +0530)]
decklink: Fix warning about HRESULT not being unsigned int

6 years agotsdemux: Don't set invalid seqnum on segment event
Nicolas Dufresne [Tue, 19 Jun 2018 03:06:18 +0000 (23:06 -0400)]
tsdemux: Don't set invalid seqnum on segment event

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

6 years agopitch: remove trailing whitespaces from previous commit
Mathieu Duponchelle [Mon, 18 Jun 2018 21:42:04 +0000 (23:42 +0200)]
pitch: remove trailing whitespaces from previous commit

6 years agopitch: Flush only if there are unprocessed samples
Suhas Nayak [Mon, 18 Jun 2018 02:09:10 +0000 (07:39 +0530)]
pitch: Flush only if there are unprocessed samples

Otherwise we end up trying to flush before
sample rate of SoundTouch is set

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

6 years agotests: Make sure to provide the KEY_UNIT flag always together with the SNAP flags...
Sebastian Dröge [Mon, 18 Jun 2018 09:18:07 +0000 (12:18 +0300)]
tests: Make sure to provide the KEY_UNIT flag always together with the SNAP flags in seeks

SNAP flags alone make no sense and nowadays cause warnings.

6 years agopitch: preserve seek event seqnums
Mathieu Duponchelle [Sat, 16 Jun 2018 16:23:41 +0000 (18:23 +0200)]
pitch: preserve seek event seqnums

This was wreaking havoc when used with a downstream audiomixer.

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

6 years agopitch: fix latency reporting
Mathieu Duponchelle [Sat, 16 Jun 2018 16:21:58 +0000 (18:21 +0200)]
pitch: fix latency reporting

When max is GST_CLOCK_TIME_NONE in the query, it should not
be set in the query handler, this otherwise could lead to
impossible situations, where the minimum latency ended up
greater than the maximum.

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

6 years agopitch: Fix single input buffer followed by EOS
Mathieu Duponchelle [Sat, 16 Jun 2018 16:19:39 +0000 (18:19 +0200)]
pitch: Fix single input buffer followed by EOS

The flush function immediately returned when pitch->next_buffer_offset
was 0.

This is clearly wrong, as next_buffer_offset can be 0 when a single
input buffer has been received, and no output buffer has been produced
before receiving EOS.

Simply remove that condition.

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

6 years agovideoaggregator: Fix string leak
Seungha Yang [Fri, 15 Jun 2018 13:48:42 +0000 (22:48 +0900)]
videoaggregator: Fix string leak

gst_video_colorimetry_to_string() returns allocated memory which
must be freed.

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

6 years agoandroidmedia: Invert the transform matrix from the decoder
Jan Schmidt [Tue, 6 Mar 2018 13:07:29 +0000 (00:07 +1100)]
androidmedia: Invert the transform matrix from the decoder

The transform from mediacodec applies to the texture coords, but
GStreamer affine meta applies to the video geometry, which is the
opposite - so invert it to get display correct for decoders
that require transforming

6 years agovulkaninstance: add missing precondition to _open()
Matthew Waters [Thu, 8 Feb 2018 06:02:17 +0000 (17:02 +1100)]
vulkaninstance: add missing precondition to _open()

6 years agotsdemux: Don't query duration if program isn't active
Edward Hervey [Tue, 12 Jun 2018 09:14:25 +0000 (11:14 +0200)]
tsdemux: Don't query duration if program isn't active

6 years agogst_webrtc_session_description_new: fix annotations
Mathieu Duponchelle [Mon, 11 Jun 2018 16:34:24 +0000 (18:34 +0200)]
gst_webrtc_session_description_new: fix annotations

6 years agovideoaggregator: log an ERROR if we're going to return a flow error
Tim-Philipp Müller [Mon, 11 Jun 2018 12:48:09 +0000 (13:48 +0100)]
videoaggregator: log an ERROR if we're going to return a flow error

6 years agomsdk: vpp: remove mfxExtVPPDoUse from vpp filters.
Wang,Fei [Thu, 7 Jun 2018 23:31:54 +0000 (15:31 -0800)]
msdk: vpp: remove mfxExtVPPDoUse from vpp filters.

According to msdk spec, there are two ways to enable filters:
1: Filters can be enabled by adding a filter ID
to mfxExtVPPDoUse. In this case, default filter parameters are used
2: Add filter configuration structures directly to mfxVideoParam.

Using 1 with 2 is optional but legal. Unfortunately it won't work
with some specific use cases like Detail/EdgeEnhancement.
Let's stick with option2 which works fine for all VPP operations.

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

6 years agomsdk: vpp: set passthrough from set_caps method for code clarity
Sreerenj Balachandran [Thu, 7 Jun 2018 23:30:23 +0000 (15:30 -0800)]
msdk: vpp: set passthrough from set_caps method for code clarity

Call passthrough setting method from set_caps so that
msdk initialize subroutine looks more clear.

6 years agomskd: vpp: error out gracefully instead of segfaulting if Init failed
Sreerenj Balachandran [Thu, 7 Jun 2018 23:29:29 +0000 (15:29 -0800)]
mskd: vpp: error out gracefully instead of segfaulting if Init failed

Since we do the MSDK initializing in set_caps(), a FALSE
return may still cause the invokation of set_caps() again
and this will leads to buffer allocation and other mess-up.
So make sure the msdk initialized correctly before trying
to do any buffer allocation.

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

6 years agomsdk: vpp: Add filters to VideoParm before doing the Query
Sreerenj Balachandran [Thu, 7 Jun 2018 23:28:44 +0000 (15:28 -0800)]
msdk: vpp: Add filters to VideoParm before doing the Query

Make sure all the enabled filter structures are added in the
mfxVideoParm before doing the VPPQuery so that msdk
can do the input param validation

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

6 years agoexamples: Don't install non-prefixed examples
Nicolas Dufresne [Wed, 6 Jun 2018 18:32:56 +0000 (14:32 -0400)]
examples: Don't install non-prefixed examples

6 years agoexamples: Build waylandsink example
Nicolas Dufresne [Wed, 6 Jun 2018 18:31:43 +0000 (14:31 -0400)]
examples: Build waylandsink example

6 years agompegtsdemux: Fix SEGMENT seqnum propagation
Edward Hervey [Wed, 6 Jun 2018 05:51:19 +0000 (07:51 +0200)]
mpegtsdemux: Fix SEGMENT seqnum propagation

* If the seek was handled upstream, use that SEGMENT seqnum
* Use the proper invalid default value

6 years agovdpau: Run gst-indent
Edward Hervey [Wed, 6 Jun 2018 05:50:21 +0000 (07:50 +0200)]
vdpau: Run gst-indent

6 years agomsdk: vpp: fix the filter count in mfxExtVPPDoUse
Sreerenj Balachandran [Wed, 6 Jun 2018 01:01:13 +0000 (17:01 -0800)]
msdk: vpp: fix the filter count in mfxExtVPPDoUse

Repostion the mfxExtVPPDoUse enabling code
so that it will get the filter algorithm count correctly.

6 years agowebrtc: Fix wrong parent classes for DTLSTransport and ICETransport
Thibault Saunier [Tue, 5 Jun 2018 18:11:13 +0000 (14:11 -0400)]
webrtc: Fix wrong parent classes for DTLSTransport and ICETransport

Those are GObjects not GstBins

6 years agoplayer: Fix duration-changed CRITICAL warning if duration did not actually change
Lyon Wang [Mon, 4 Jun 2018 08:35:41 +0000 (16:35 +0800)]
player: Fix duration-changed CRITICAL warning if duration did not actually change

Check if duration is changed before emitting duration-changed signal

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

6 years agodvb: Fix typo in comment termination
Jan Schmidt [Fri, 1 Jun 2018 07:07:19 +0000 (17:07 +1000)]
dvb: Fix typo in comment termination

6 years agodvb: update my email address
Alessandro Decina [Fri, 1 Jun 2018 06:37:13 +0000 (16:37 +1000)]
dvb: update my email address

6 years agodvb: camconditionalaccess: fix wrong license headers
Alessandro Decina [Fri, 1 Jun 2018 06:30:12 +0000 (16:30 +1000)]
dvb: camconditionalaccess: fix wrong license headers

Update the license blurb in camconditionalaccess.[hc] from GPL to LGPL.
The plugin is LGPL and the GPL header in those two files was just a
copy/paste mistake.

6 years agogitignore: Add h265parser test
Edward Hervey [Fri, 1 Jun 2018 06:20:21 +0000 (08:20 +0200)]
gitignore: Add h265parser test

6 years agocodecparsers: mpeg2: don't mess the StartCode only packets
Sreerenj Balachandran [Fri, 1 Jun 2018 02:21:58 +0000 (18:21 -0800)]
codecparsers: mpeg2: don't mess the StartCode only packets

It is completely legal to have packets with zero sizes.
Zero-sized packet indicates header with only Start Code.
One eg: is user data packet. The patch allows having
GstMpegVideoPacket with zero sizes.

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

6 years agomsdk: vpp: don't use NV12 as vpp default output for DMABuf usecase
Sreerenj Balachandran [Thu, 31 May 2018 00:27:37 +0000 (16:27 -0800)]
msdk: vpp: don't use NV12 as vpp default output for DMABuf usecase

Using NV12 layout in dmabuf mode giving mis-aligned
VPP output with the media-driver. Keep the NV12 support
(so that we can file the bug agianst msdk or mediadriver),
but lower the ordering so that BGRA picks as default.

NV12 issue can be reproduced with explicit capfilter:
vidoetestsrc ! msdkvpp ! video/x-raw\(memory:DMABuf\),format=NV12 ! glimagesink

6 years agomsdk: enc: Add supprot for dmabuf-import
Sreerenj Balachandran [Thu, 31 May 2018 00:26:27 +0000 (16:26 -0800)]
msdk: enc: Add supprot for dmabuf-import

MediaSDK requires all the input buffers to be
pre-allocated during init phase and this won't work with
current design of GStreamer or gst-msdk. But this can be
done in future once we have a solution for:
https://bugzilla.gnome.org/show_bug.cgi?id=795747

There is a workaround possible as per
https://github.com/Intel-Media-SDK/MediaSDK/issues/155#issuecomment-381790504
by faking the mem-id during MFXInit.
This patch enabling it in gst-msdk by replacing the MemID of mfxSurface
with dmabuf-backed vasurface dynamically.

Important: v4l2 ! msdkenc won't work without a copy because
of the GMMLib (https://github.com/intel/gmmlib) memory restrictions.

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

6 years agomsdk: vpp: Add supprot for dmabuf-import
Sreerenj Balachandran [Thu, 31 May 2018 00:24:24 +0000 (16:24 -0800)]
msdk: vpp: Add supprot for dmabuf-import

MediaSDK requires all the input and output buffers to be
pre-allocated during init phase and this won't work with
current design of GStreamer or gst-msdk. But this can be
done with https://bugzilla.gnome.org/show_bug.cgi?id=795747

There is a workaround possible as per
https://github.com/Intel-Media-SDK/MediaSDK/issues/155#issuecomment-381790504
by faking the mem-id during MFXInit.
This patch do this in gst-msdk by replacing the MemID of mfxSurface
with dmabuf-backed vasurface dynamically.

Important: v4l2 ! msdkvpp won't work without a copy because
of the GMMLib (https://github.com/intel/gmmlib) memory restrictions.

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

6 years agomsdk: Add method to replace internal VASurface of mfxFrameSurface
Sreerenj Balachandran [Thu, 31 May 2018 00:23:44 +0000 (16:23 -0800)]
msdk: Add method to replace internal VASurface of mfxFrameSurface

Added a utility method to replace the MemID (interanl VASurfaceID)
associated with the mfxFrameSurface. This is usefull for dmabuf-import
where we need to replace the memID dynamically

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

6 years agomsdk: Add method to export dmabuf to VASurface
Sreerenj Balachandran [Thu, 31 May 2018 00:22:49 +0000 (16:22 -0800)]
msdk: Add method to export dmabuf to VASurface

Exporting DRM_PRIME fd to VASurface requires direct
invocation of VA api VACreateSurface with
VASurfaceAttribExternalBufferDescriptor and other
necessary surface attributes.

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

6 years agowebrtcbin: copy sticky events on our ghostpads
Mathieu Duponchelle [Tue, 29 May 2018 11:03:54 +0000 (13:03 +0200)]
webrtcbin: copy sticky events on our ghostpads

This lets users call gst_pad_get_current_caps on newly-added
pads to easily determine what to plug them into.

We cannot copy sticky events unconditionally in core,
see #719437

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

6 years agoadaptivedemux: Set connection-speed value as current download rate if set
Hosang Lee [Mon, 10 Jul 2017 07:56:26 +0000 (16:56 +0900)]
adaptivedemux: Set connection-speed value as current download rate if set

If connection-speed property is in use, this value should be used as the
current download rate since subclasses might read it to figure out
which playlist variant they will use.

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

6 years agoclosedcaption: Fix compilation without debugging
Edward Hervey [Mon, 28 May 2018 13:55:57 +0000 (15:55 +0200)]
closedcaption: Fix compilation without debugging

6 years agoceaccoverlay: New CEA-708 Closed Caption decoder and overlayer
Edward Hervey [Wed, 11 Mar 2015 10:00:08 +0000 (18:00 +0800)]
ceaccoverlay: New CEA-708 Closed Caption decoder and overlayer

This new element allows decoding and overlaying CEA-708 Closed Caption
streams over video.

* Supports CDP and cc_data closedcaption/x-cea-708 streams
* Uses pango to render CC stream
* Support GstVideoOverlayComposition meta if downstream supports is

Tested on various test files.

Remains to be fixed/improved:
* Switch to GstByteReader (for code safety)
* Switch to GString (instead of manual pango string construction)
* Move pango/rendering code outside of main 708 decoder file (so
  that actual CC parser/decoder can be (re)used in other scenarios).

Initial patches and improvements by:
* CableLabs RUIH-RI Team <ruihri@cablelabs.com>
* Steve Maynard <steve@secondstryke.com>
* cjun.wang" <cjun.wang@samsung.com>

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

6 years agoclosedcaption: fix meson build
Tim-Philipp Müller [Mon, 28 May 2018 13:16:48 +0000 (14:16 +0100)]
closedcaption: fix meson build

6 years agoclosedcaption: Add new "line 21 VBI" CC decoder
Edward Hervey [Mon, 19 Mar 2018 09:56:31 +0000 (10:56 +0100)]
closedcaption: Add new "line 21 VBI" CC decoder

Allows detecting and extracting CEA608 closed caption present on
the VBI of analog NTSC SD signals.

6 years agoclosedcaption: zvbi: Add gst-debug category to zvbi code
Edward Hervey [Mon, 19 Mar 2018 09:55:06 +0000 (10:55 +0100)]
closedcaption: zvbi: Add gst-debug category to zvbi code

And adapt their logging system to go through it

6 years agoclosedcaption: zvbi: Disable unused legacy bit slicer
Edward Hervey [Mon, 19 Mar 2018 09:53:52 +0000 (10:53 +0100)]
closedcaption: zvbi: Disable unused legacy bit slicer

The code only uses the new 'optimized' bit slicer

6 years agoclosedcaption: zvbi: Enforce strict line21 CC detection
Edward Hervey [Mon, 19 Mar 2018 09:52:08 +0000 (10:52 +0100)]
closedcaption: zvbi: Enforce strict line21 CC detection

zvbi switched to a lot more flexible CC detection in VBI.

The problem is that it returns a *lot* of non-VBI lines as containing
CC which isn't the case.

6 years agoclosedcaption: zvbi: Comment out bogus redefinition
Edward Hervey [Thu, 22 Mar 2018 14:35:45 +0000 (15:35 +0100)]
closedcaption: zvbi: Comment out bogus redefinition

All this code should be converted to glib eventually, but for now
just comment out a function which isn't even used

6 years agoclosedcaption: zvbi: Remove dead code
Edward Hervey [Tue, 20 Mar 2018 08:01:25 +0000 (09:01 +0100)]
closedcaption: zvbi: Remove dead code

* RGB8 is never used
* some inline functions were never used

6 years agoclosedcaption: Include zvbi raw vbi decoder code
Edward Hervey [Thu, 15 Mar 2018 06:07:16 +0000 (07:07 +0100)]
closedcaption: Include zvbi raw vbi decoder code

Current code from zapping/zvbi as of 2018-03-14. Files copied
are all LGPL v2+.

Changes from original zvbi code:
* Switch to gst-debug logging system
* Use glib for endianness detection
* Fix compilation warnings

6 years agoclosedcaption: add meson build files
Tim-Philipp Müller [Mon, 28 May 2018 10:09:45 +0000 (11:09 +0100)]
closedcaption: add meson build files

6 years agoext: New ccextractor element
Edward Hervey [Thu, 8 Mar 2018 14:22:47 +0000 (15:22 +0100)]
ext: New ccextractor element

Allows extracting GstVideoCaptionMeta from a stream and outputs
it to a standalone stream.

Part of a new 'ext' closedcaption plugin, since more features are
going to be added, which will depend on external dependencies such
as pango.

6 years agowebrtcbin: rtpstorage takes a 64-bit integer for "size-time" property
Tim-Philipp Müller [Sun, 27 May 2018 19:34:50 +0000 (20:34 +0100)]
webrtcbin: rtpstorage takes a 64-bit integer for "size-time" property

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

6 years agodirectfb: don't error out for warnings in system headers
Tim-Philipp Müller [Fri, 25 May 2018 18:49:34 +0000 (19:49 +0100)]
directfb: don't error out for warnings in system headers

On debian system headers trigger compiler warnings like these,
don't error out on them:
/usr/include/directfb/direct/os/linux/glibc/waitqueue.h:95:1: note: previous definition of ‘direct_waitqueue_signal’ was here

6 years agogitignore: Add new webrtc example
Edward Hervey [Mon, 28 May 2018 08:59:01 +0000 (10:59 +0200)]
gitignore: Add new webrtc example

6 years agowasapisink: recover from low buffer levels in shared mode
Christoph Reiter [Wed, 23 May 2018 19:15:09 +0000 (21:15 +0200)]
wasapisink: recover from low buffer levels in shared mode

In case the wasapi buffer levels got low in shared mode we would still wait until
more buffer is available until writing something in it, which means we could never
catch up and recover.

Instead only wait for a new buffer in case the existing one is full and always write
what we can. Also don't loop until all data is written since the base class can handle
that for us and under normal circumstances this doesn't happen anyway.

This only works in shared mode, as in exclusive mode we have to exactly
fill the buffer and always have to wait first.

This fixes noisy (buffer underrun) playback with the wasapisink under load.

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

6 years agowasapisink: fix a rounding error when calculating the buffer frame count
Christoph Reiter [Thu, 24 May 2018 09:04:08 +0000 (11:04 +0200)]
wasapisink: fix a rounding error when calculating the buffer frame count

The calculation for the frame count in the non-aligned case resulted in
a one too low buffer frame count.

This resulted in:
1) exclusive mode not working as the frame count has to match
   exactly there.
2) Buffer underruns in shared mode as the current write() code doesn't
   handle catching up to low buffer levels (fixed in the next commit)

To fix just use the wasapi API to get the buffer size which will always
be correct.

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

6 years agowasapisink: fix missing unlock in case IAudioClient_Start fails
Christoph Reiter [Wed, 23 May 2018 19:10:00 +0000 (21:10 +0200)]
wasapisink: fix missing unlock in case IAudioClient_Start fails

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

6 years agowasapi: use FAILED to detect errors
Christoph Reiter [Tue, 22 May 2018 20:58:22 +0000 (22:58 +0200)]
wasapi: use FAILED to detect errors

S_FALSE is a valid return value which does not indicate an error.
For example IAudioClient_Stop() returns S_FALSE when it is already stopped.
Use the FAILED macro instead which just checks if an error occured or not.

This fixes spurious warnings when using the wasapisink element.

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

6 years agowasapi: Don't pass CoTaskMemFree to g_clear_pointer
Christoph Reiter [Tue, 22 May 2018 20:12:34 +0000 (22:12 +0200)]
wasapi: Don't pass CoTaskMemFree to g_clear_pointer

CoTaskMemFree has a different calling convention than GDestroyNotify
and things crash at least with MinGW.

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

6 years agomeson: fix libnice fallback options
Tim-Philipp Müller [Mon, 21 May 2018 13:42:56 +0000 (14:42 +0100)]
meson: fix libnice fallback options

6 years agomeson: add 'nls' option to disable translations
Tim-Philipp Müller [Mon, 21 May 2018 11:07:04 +0000 (12:07 +0100)]
meson: add 'nls' option to disable translations

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

6 years agowebrtc: add some default options for libnice fallback
Tim-Philipp Müller [Sat, 19 May 2018 11:24:40 +0000 (12:24 +0100)]
webrtc: add some default options for libnice fallback

The tests are not very reliable, so disable for now.

6 years agompegts: Add GIR generation array anotations
Russel Winder [Fri, 18 May 2018 17:42:43 +0000 (18:42 +0100)]
mpegts: Add GIR generation array anotations

For function parameters that are known to be arrays.

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

6 years agodvb: Fix string copy wiht strlen() argument
Edward Hervey [Sat, 19 May 2018 09:03:08 +0000 (11:03 +0200)]
dvb: Fix string copy wiht strlen() argument

This is a new warning introduced by gcc 8

We already check just before that we have enough space, just do a regular
memcpy with the full string size.

camswclient.c:87:3: error: ‘strncpy’ specified bound depends on the length of the source argument [-Werror=stringop-overflow=]

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

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

6 years agonvdec/nvenc: Bump up supported CUDA Toolkit version
Seungha Yang [Thu, 17 May 2018 12:36:51 +0000 (21:36 +0900)]
nvdec/nvenc: Bump up supported CUDA Toolkit version

Add CUDA 9.2 to configure.ac

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

6 years agonvenc: Fix build warning error
Seungha Yang [Thu, 17 May 2018 12:49:25 +0000 (21:49 +0900)]
nvenc: Fix build warning error

'cuDeviceComputeCapability' was deprecated as of CUDA 5.0

gstnvenc.c: In function ‘gst_nvenc_create_cuda_context’:
gstnvenc.c:290:9: error: ‘cuDeviceComputeCapability’ is deprecated [-Werror=deprecated-declarations]
         && cuDeviceComputeCapability (&maj, &min, cdev) == CUDA_SUCCESS) {
         ^

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

6 years agovideoaggregator: Remove custom get_next_time implementation
Olivier Crête [Mon, 23 Apr 2018 17:30:38 +0000 (13:30 -0400)]
videoaggregator: Remove custom get_next_time implementation

GstAggregator now has the same thing in the simple implementation.

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

6 years agomsdk: Add conditional build for vp9 decoder
Sreerenj Balachandran [Wed, 16 May 2018 00:33:00 +0000 (16:33 -0800)]
msdk: Add conditional build for vp9 decoder

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

6 years agomsdk: dec: Add VP9 decoder
Sreerenj Balachandran [Wed, 16 May 2018 00:32:22 +0000 (16:32 -0800)]
msdk: dec: Add VP9 decoder

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

6 years agomsdk: allow building against open sourced msdk
Sreerenj Balachandran [Wed, 16 May 2018 00:31:02 +0000 (16:31 -0800)]
msdk: allow building against open sourced msdk

Building against mfx_dispatcher is used to search for
headers in PREFIX/include/mfx/ only (commit: 62f04e801bd7e247102ac67df889bee33ab74ff7),
but it is just PREFIX/include with open source msdk version.

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

6 years agodashdemux: Fix sync of updated manifest from previous one
Seungha Yang [Fri, 11 May 2018 06:49:05 +0000 (15:49 +0900)]
dashdemux: Fix sync of updated manifest from previous one

_get_next_fragment_timestamp() returns relative timestamp to period start.
But gst_mpd_client_stream_seek() uses absolute MPD timeline.

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

6 years agoadaptivedemux: Support period change in live playlist
Seungha Yang [Thu, 10 May 2018 14:08:10 +0000 (23:08 +0900)]
adaptivedemux: Support period change in live playlist

Regardless of LIVE or VOD, "a manifest has next period but
currently EOSed" state is meaning that it's time to advance period.

Previous behavior of adpativedemux, however, was able to period
advancing only for VOD case, since the adaptivedemux tried to
update and wait new manifest without respecting existence of the next period.

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

6 years agosrtp: Add "roc" caps field to the gst-launch example
Olivier Crête [Fri, 11 May 2018 18:54:35 +0000 (20:54 +0200)]
srtp: Add "roc" caps field to the gst-launch example

The currrent example was broken since 1.8.3 it seems.

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

6 years agodecklink: Fix crash with closed-captions signal and 10-bit input
Vivia Nikolaidou [Fri, 11 May 2018 14:39:35 +0000 (17:39 +0300)]
decklink: Fix crash with closed-captions signal and 10-bit input

Only free the parser if there is one. If the format hadn't changed but
had always been 10-bit, there might genuinely be no parser.

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

6 years agodecklinkvideosrc: Don't check for closed captions when there's no signal
Vivia Nikolaidou [Fri, 11 May 2018 09:30:35 +0000 (12:30 +0300)]
decklinkvideosrc: Don't check for closed captions when there's no signal

Otherwise the gst_decklink_video_format_from_type() call spams the logs
with one "Unknown pixel format 0x0" line per frame.

6 years agoopencv: Fix memcpy within C++
Edward Hervey [Fri, 11 May 2018 07:54:22 +0000 (09:54 +0200)]
opencv: Fix memcpy within C++

Explicitly cast to void* because GCC 8 is (rightfully) upset that this is
"writing to an object of type ‘...’ with no trivial copy-assignment".

Caused by the new "class-memaccess" warning

6 years agowebrtcbin: implement support for FEC and RTX
Mathieu Duponchelle [Wed, 29 Nov 2017 16:57:52 +0000 (17:57 +0100)]
webrtcbin: implement support for FEC and RTX

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

6 years agomsdk:dec: Add new propery to dump frames in decoded order
Sreerenj Balachandran [Mon, 7 May 2018 22:12:10 +0000 (14:12 -0800)]
msdk:dec: Add new propery to dump frames in decoded order

The new property "output-order" can be set to either "display" order
which is the default where frames will be outputting in display order,
or "decoded-order" which will be outputting the frames in decoded order.

The "decoded order" output is generally useful for debugging. But there
are few
customers who use it for low-latency streaming. For eg if the customer
already knows that the stream doesn't have b-frames (which means no
algorithm requires for display order calculation), then they can use
"decoded-order"
output to skip some of the DPB logic to avoid the frame accumulation at
start-up.

The root cause of the above issue is a bit of unclarity in h264 spec +
lazy implementation of many H264 encoders; This is well handled in
gstreamer-vaapi using "low-latency" property:
https://bugzilla.gnome.org/show_bug.cgi?id=762509

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

6 years agomsdk: dec: inform msdk if the buffer contains a complete frame
Sreerenj Balachandran [Mon, 7 May 2018 22:11:34 +0000 (14:11 -0800)]
msdk: dec: inform msdk if the buffer contains a complete frame

For packetized input, inform the msdk that the buffer has
a complete frame or complementary field pairs. For decoding,
this means that the decoder can proceed with this buffer without
waiting for the start of the next frame, which effectively reduces
decoding latency.

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

6 years agomsdk: dec: reset async depth to one
Sreerenj Balachandran [Mon, 7 May 2018 22:11:14 +0000 (14:11 -0800)]
msdk: dec: reset async depth to one

Currently we use an async depth of 4 as default (based on
recommendations
in msdk apps), which indicates how many asynchronous operations an
application performs
before the application explicitly synchronizes the result. As a result,
we
queue four frames in decoder which might not be good approach for
live streaming.

This patch reset the async-depth to 1 as default so that we do sync for
each frame we decode without queuing. Customer can play with already
exposed "async-depth" property for other use cases

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

6 years agovideoaggregator: Set video-meta option on buffer pool configuration correctly
Sebastian Dröge [Mon, 7 May 2018 14:53:32 +0000 (17:53 +0300)]
videoaggregator: Set video-meta option on buffer pool configuration correctly

CID 1435451

6 years agovideoaggregator: First override set/get_property vfuncs, then install properties
Sebastian Dröge [Mon, 7 May 2018 07:17:16 +0000 (09:17 +0200)]
videoaggregator: First override set/get_property vfuncs, then install properties

Gives assertions otherwise.

6 years agogdp: ignore timestamp of event
Kyrylo Polezhaiev [Tue, 2 Feb 2016 17:18:26 +0000 (19:18 +0200)]
gdp: ignore timestamp of 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 agovideoaggregator: Some more documentation fixes
Sebastian Dröge [Sun, 6 May 2018 14:49:43 +0000 (16:49 +0200)]
videoaggregator: Some more documentation fixes

6 years agovideoaggregator: expose converter-config on convert pads
Mathieu Duponchelle [Sun, 6 May 2018 14:44:47 +0000 (16:44 +0200)]
videoaggregator: expose converter-config on convert pads

This in order to allow users control over the conversion
process, for example the scaling method.

6 years agovideoaggregator: Fix up documentation some more
Sebastian Dröge [Sun, 6 May 2018 14:43:32 +0000 (16:43 +0200)]
videoaggregator: Fix up documentation some more

6 years agovideoaggregator: Clean up header and update docs a bit
Sebastian Dröge [Sun, 6 May 2018 14:22:01 +0000 (16:22 +0200)]
videoaggregator: Clean up header and update docs a bit

6 years agovideoaggregator: Rename get_output_buffer() to create_output_buffer()
Sebastian Dröge [Sun, 6 May 2018 14:05:28 +0000 (16:05 +0200)]
videoaggregator: Rename get_output_buffer() to create_output_buffer()

For consistency with GstAudioAggregator.