platform/upstream/gstreamer.git
5 years agoadaptivedemux: remove some deadlocks using webkitwebsrc.
Charlie Turner [Tue, 2 Jul 2019 11:27:40 +0000 (12:27 +0100)]
adaptivedemux: remove some deadlocks using webkitwebsrc.

WebKit's websrc depends on the main-thread for download completion
rendezvous. This exposed a number of deadlocks in adaptivedemux due to
it holding the MANIFEST_LOCK during network requests, and also needing
to hold it to change_state and resolve queries, which frequently occur
during these download windows.

Make demux->running MT-safe so that it can be accessed without using the
MANIFEST_LOCK. In case a source is downloading and requires a MT-thread
notification for completion of the fragment download, a state change
during this download window will deadlock unless we cancel the downloads
and ensure they are not restarted before we finish the state-change.

Also make demux->priv->have_manifest MT-safe. A duration query happening
in the window described above can deadlock for the same reason. Other
src queries (like SEEKING) that happen in this window also could
deadlock, but I haven't hit this scenario.

Increase granularity of API_LOCK'ing in change_state as well. We need to
cancel downloads before trying to take this lock, since sink events
(EOS) will hold it before starting a fragment download.

5 years agowebrtcbin: fix GInetAddress leak
Ilya Smelykh [Mon, 29 Jul 2019 07:56:16 +0000 (14:56 +0700)]
webrtcbin: fix GInetAddress leak

5 years agodtls: fix generated cert dtls agent leak
Ilya Smelykh [Thu, 25 Jul 2019 13:03:02 +0000 (20:03 +0700)]
dtls: fix generated cert dtls agent leak

The generated certificate dtls agent was refed two times on the first call.

5 years agodtls: fix dtls connection object leak
Ilya Smelykh [Thu, 25 Jul 2019 10:00:14 +0000 (10:00 +0000)]
dtls: fix dtls connection object leak

5 years agokmssink: Fix implicit declaration build error
Seungha Yang [Tue, 16 Jul 2019 16:05:32 +0000 (01:05 +0900)]
kmssink: Fix implicit declaration build error

ffs() and strcmp() require string.h

gstkmssink.c:255:28: error: implicit declaration of function ‘ffs’ [-Werror=implicit-function-declaration]
       crtc_id = res->crtcs[ffs (crtcs_for_connector) - 1];
                            ^~~

gstkmssink.c:590:10: error: implicit declaration of function ‘strcmp’ [-Werror=implicit-function-declaration]
     if (!strcmp (property->name, prop_name)) {
          ^~~~~~

5 years agoFix -Werror=return-type error in configure.
Martin Liska [Mon, 15 Jul 2019 14:05:05 +0000 (16:05 +0200)]
Fix -Werror=return-type error in configure.

5 years agoaiff: Fix infinite loop in header parsing.
Martin Theriault [Mon, 15 Jul 2019 19:48:08 +0000 (15:48 -0400)]
aiff: Fix infinite loop in header parsing.

5 years agonvdec: Fix possible frame drop on EOS
Seungha Yang [Thu, 20 Dec 2018 03:37:43 +0000 (12:37 +0900)]
nvdec: Fix possible frame drop on EOS

On eos, baseclass videoencoder call finish() vfunc instead of drain()

5 years agosrt: Remove msg-size property
Olivier Crête [Mon, 8 Jul 2019 19:51:43 +0000 (15:51 -0400)]
srt: Remove msg-size property

Remove the now unused property

5 years agosrtsrc: Receive one frame per gstbuffer
Olivier Crête [Mon, 8 Jul 2019 19:50:59 +0000 (15:50 -0400)]
srtsrc: Receive one frame per gstbuffer

Don't aggregate the received data, just receive it one packet at a
time. So it keeps the packetization boundaries

5 years agosrt: Fix listener crash if no URI is specified
Nicolas Dufresne [Sat, 6 Jul 2019 20:15:40 +0000 (16:15 -0400)]
srt: Fix listener crash if no URI is specified

5 years agosrt: Use macro instead of duplicating a default value
Nicolas Dufresne [Sat, 6 Jul 2019 19:53:26 +0000 (15:53 -0400)]
srt: Use macro instead of duplicating a default value

5 years agosrt: Fix confusing typo in FIXME comment
Nicolas Dufresne [Sat, 6 Jul 2019 19:45:20 +0000 (15:45 -0400)]
srt: Fix confusing typo in FIXME comment

SRT does not support IPv6, but the comment said IPv4 which was the
opposite of the following code.

5 years agodtlsagent: Clear the certificate upon finalize
Juan Navarro [Tue, 25 Jun 2019 18:37:57 +0000 (20:37 +0200)]
dtlsagent: Clear the certificate upon finalize

Cleaning this up was likely just forgotten

5 years agodtlsdec: Avoid duplicate ref when passing certificate property
Juan Navarro [Tue, 25 Jun 2019 18:37:38 +0000 (20:37 +0200)]
dtlsdec: Avoid duplicate ref when passing certificate property

The agent itself will take a ref on the property setter, so we'll be
left with two references to the certificate object, when actually there
should be only one

5 years agomeson: bluez: Early terminate configure on Windows
Seungha Yang [Mon, 20 May 2019 14:19:19 +0000 (23:19 +0900)]
meson: bluez: Early terminate configure on Windows

This plugin is for linux bluetooth stack. So the early termination can save
configure time on Windows (i.e., we can avoid glib subproject fallback)

5 years agodecklink: Correctly ensure >=16 byte alignment for the buffers we allocate
Sebastian Dröge [Thu, 20 Jun 2019 05:59:22 +0000 (08:59 +0300)]
decklink: Correctly ensure >=16 byte alignment for the buffers we allocate

We'll ensure at least 64 byte alignment for AVX2 but 16 byte alignment
is what is required by the decklink SDK.

Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/986

5 years agowebrtcbin: fix DTLS when receivebin is set to DROP
Mathieu Duponchelle [Wed, 19 Jun 2019 17:43:14 +0000 (19:43 +0200)]
webrtcbin: fix DTLS when receivebin is set to DROP

Regression introduced by b4bdcf15b7237eb5c5943c4f746701a477333000

This commit prevents the handshake from reaching dtlsdec when
the receive state of the receive bin is set to DROP (for example
when transceivers are sendonly).

This preserves the intent of the commit, by blocking the bin
at its sinks until the receive state is no longer BLOCK, but
makes sure the handshake still goes through, by only dropping
data at the src pads, as was the case before.

5 years agozbar: Include running-time, stream-time and duration in the messages
Sebastian Dröge [Wed, 19 Jun 2019 10:31:39 +0000 (13:31 +0300)]
zbar: Include running-time, stream-time and duration in the messages

The timestamp/PTS alone is meaningless without the segment and usually
applications care about the running-time or stream-time.

This also keeps the messages in sync with the spectrum and level
elements.

5 years agouvch264src: Make sure we set our segment
Thibault Saunier [Tue, 11 Jun 2019 16:10:13 +0000 (12:10 -0400)]
uvch264src: Make sure we set our segment

We were not setting self->segment and we are using it
when notifying downstream that we handled a REQUEST_KEY_UNIT
event, leading to all sort of criticals.

5 years agoavwait: Allow start and end timecode to be set back to NULL
Sebastian Dröge [Wed, 5 Jun 2019 08:46:49 +0000 (11:46 +0300)]
avwait: Allow start and end timecode to be set back to NULL

And check everywhere if they're NULL before accessing them.

5 years agoavwait: Don't print warnings for every buffer passed
Vivia Nikolaidou [Tue, 2 Oct 2018 08:25:14 +0000 (11:25 +0300)]
avwait: Don't print warnings for every buffer passed

5 years agowaylandsink: Workaround gnome-shell bug
Nicolas Dufresne [Fri, 24 May 2019 00:24:40 +0000 (20:24 -0400)]
waylandsink: Workaround gnome-shell bug

Use a timeout to limit that amount of time we wait after the compositor
for the initial configure event. Compositor are support to emit a
configure event before any wl_buffer can be attached. The problem is
that Weston strongly enforce this, while gnome-shell simply does not
emit such an event.

5 years agoavwait: Protect properties and some other code with the mutex
Sebastian Dröge [Mon, 20 May 2019 13:15:08 +0000 (16:15 +0300)]
avwait: Protect properties and some other code with the mutex

These variables are all accessed from multiple threads.

Also fix some minor leaks in error code paths.

5 years agoavwait: Insert some empty lines to give the code some space to breath
Sebastian Dröge [Mon, 20 May 2019 12:45:50 +0000 (15:45 +0300)]
avwait: Insert some empty lines to give the code some space to breath

5 years agoavwait: Allow setting start timecode after end timecode and the other way around
Sebastian Dröge [Mon, 20 May 2019 12:30:28 +0000 (15:30 +0300)]
avwait: Allow setting start timecode after end timecode and the other way around

This might be necessary temporarily for changing the previous settings.
Make it an actual error if the settings are like this while processing a
buffer.

5 years agowayland/wlbuffer: just return if used_by_compositor is true when attach
Haihua Hu [Thu, 18 Oct 2018 05:35:04 +0000 (13:35 +0800)]
wayland/wlbuffer: just return if used_by_compositor is true when attach

When buffer is used by compositor, we don't need attach it and hold one
more reference. Just check used_by_compositor, just return if it is true.
Assert error log is not need, this is normal behavior.

5 years agoproxy: Forward queries/events sent directly to the element correctly
Sebastian Dröge [Tue, 21 May 2019 13:17:40 +0000 (16:17 +0300)]
proxy: Forward queries/events sent directly to the element correctly

5 years agoproxy: Set SOURCE flag on the source and SINK flag on the sink
Sebastian Dröge [Tue, 21 May 2019 13:03:21 +0000 (16:03 +0300)]
proxy: Set SOURCE flag on the source and SINK flag on the sink

So that they are properly recognized as such.

5 years agoivfparse: Check the data size against IVF_FRAME_HEADER_SIZE
Haihao Xiang [Wed, 22 May 2019 04:25:38 +0000 (12:25 +0800)]
ivfparse: Check the data size against IVF_FRAME_HEADER_SIZE

It is parsing frame data and so should check the data size against the
frame header size instead of the file header size. If don't, it is
possible to drop the last frame because IVF_FILE_HEADER_SIZE is greater
than IVF_FRAME_HEADER_SIZE

5 years agomsdk: fix the typo for gst_msdkvp9dec_debug
Haihao Xiang [Fri, 26 Apr 2019 00:40:28 +0000 (08:40 +0800)]
msdk: fix the typo for gst_msdkvp9dec_debug

5 years agosrt: set cancellation in locked section
Mark Nauwelaerts [Wed, 1 May 2019 17:22:17 +0000 (19:22 +0200)]
srt: set cancellation in locked section

... to avoid race with wait which uses it with 'flushing' flag state semantics.

5 years agosrt: avoid srtsrc segfault upon downward state change
Mark Nauwelaerts [Wed, 1 May 2019 17:01:03 +0000 (19:01 +0200)]
srt: avoid srtsrc segfault upon downward state change

... when it has not yet been connected to.

Also, a condition variable is not a semaphore, so a lock/wait/unlock
sequence is inherently racy without any state checking.  So switch to
a different lock and check the intended state.

5 years agosrt: initialize list access within locked region
Mark Nauwelaerts [Wed, 1 May 2019 16:58:30 +0000 (18:58 +0200)]
srt: initialize list access within locked region

5 years agosrt: post error when failing to start
Mark Nauwelaerts [Sun, 21 Apr 2019 15:17:14 +0000 (17:17 +0200)]
srt: post error when failing to start

... as appropriate for a subsequent state change failure

5 years agosrt: downgrade regular message to log level
Mark Nauwelaerts [Sun, 21 Apr 2019 14:47:30 +0000 (16:47 +0200)]
srt: downgrade regular message to log level

5 years agomeson: Fix typo in gsm header file name
Niklas Hambüchen [Wed, 1 May 2019 17:16:58 +0000 (19:16 +0200)]
meson: Fix typo in gsm header file name

This was wrong since commit c360ceea4deb5d56c94126e31b9614734e8c1a7e.

Also fix incorrect indentation (tab instead of spaces).

Found using hermetic builds with Nix:

    https://github.com/NixOS/nixpkgs/pull/54398#discussion_r280125735

5 years agomeson: Fix missing GSM_HEADER_IN_SUBDIR logic
Niklas Hambüchen [Wed, 1 May 2019 17:40:03 +0000 (19:40 +0200)]
meson: Fix missing GSM_HEADER_IN_SUBDIR logic

Until now, this hadn't been translated from autoconf yet.

5 years agowebrtc: Add g_autoptr() support for public types
Niels De Graef [Wed, 8 May 2019 13:46:26 +0000 (15:46 +0200)]
webrtc: Add g_autoptr() support for public types

5 years agoopenh264enc: Fix compilation with openh264 v2.0
Víctor Manuel Jáquez Leal [Wed, 8 May 2019 11:35:25 +0000 (13:35 +0200)]
openh264enc: Fix compilation with openh264 v2.0

As OpenH264 increased its version to 2.0 the guard for structure
member is not valid.

This patch will fix the compilation with gst-build and openh264.

5 years agomeson: Allow CUDA_PATH fallback on linux
Seungha Yang [Wed, 8 May 2019 10:26:03 +0000 (19:26 +0900)]
meson: Allow CUDA_PATH fallback on linux

That's what we've supported via autotools build

Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/966

5 years agomeson: fix build with opencv=enabled and opencv4. Fixes #964
Christoph Reiter [Sun, 5 May 2019 20:11:16 +0000 (22:11 +0200)]
meson: fix build with opencv=enabled and opencv4. Fixes #964

Having the opencv feature enabled would lead to the opencv3 dependency
being required which failed with only opencv4 being available.

Instead don't require anything and error out at the end if the feature was enabled
but no dependency was found.

5 years agomeson: Add support for the colormanagement plugin
Thibault Saunier [Sun, 5 May 2019 23:27:15 +0000 (19:27 -0400)]
meson: Add support for the colormanagement plugin

Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/965

5 years agoautotools: gstsctp: set LDFLAGS
Christoph Reiter [Sun, 5 May 2019 10:34:23 +0000 (12:34 +0200)]
autotools: gstsctp: set LDFLAGS

This fixes the mingw build which failed because of "-no-undefined" missing.

5 years agonvenc/nvdec: Add NVIDIA SDK headers to noinst_HEADERS
Niels De Graef [Thu, 2 May 2019 12:29:03 +0000 (14:29 +0200)]
nvenc/nvdec: Add NVIDIA SDK headers to noinst_HEADERS

The tarballs that were being spun for 1.16 don't contain these headers
due to this small oversight, so let's add them.

5 years agoh264parse: Fix typo when setting multiview mode and flags
Xavier Claessens [Wed, 1 May 2019 23:29:16 +0000 (19:29 -0400)]
h264parse: Fix typo when setting multiview mode and flags

5 years agoplayer: Fix various Since markers in the docs
Sebastian Dröge [Tue, 23 Apr 2019 11:33:05 +0000 (14:33 +0300)]
player: Fix various Since markers in the docs

5 years agolibs: Fix various Since markers
Sebastian Dröge [Tue, 23 Apr 2019 12:09:17 +0000 (15:09 +0300)]
libs: Fix various Since markers

5 years agoopencv: allow compilation against 4.1.x
Nicola Murino [Tue, 23 Apr 2019 07:06:13 +0000 (09:06 +0200)]
opencv: allow compilation against 4.1.x

5 years agoci: use template from 1.16 branch
Tim-Philipp Müller [Thu, 2 May 2019 11:35:26 +0000 (12:35 +0100)]
ci: use template from 1.16 branch

5 years agoRelease 1.16.0
Tim-Philipp Müller [Thu, 18 Apr 2019 23:28:55 +0000 (00:28 +0100)]
Release 1.16.0

5 years agoUpdate docs
Tim-Philipp Müller [Thu, 18 Apr 2019 23:28:55 +0000 (00:28 +0100)]
Update docs

5 years agoUpdate translations
Tim-Philipp Müller [Thu, 18 Apr 2019 23:28:52 +0000 (00:28 +0100)]
Update translations

5 years agomsdk: fix the build error with libva 2.4.0
Haihao Xiang [Wed, 17 Apr 2019 01:12:52 +0000 (09:12 +0800)]
msdk: fix the build error with libva 2.4.0

This fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/949

5 years agowebrtcdsp/meson.build: don't forget to set c++11 mode
Dan Kegel [Sat, 13 Apr 2019 20:50:25 +0000 (13:50 -0700)]
webrtcdsp/meson.build: don't forget to set c++11 mode

5 years agomeson: Remove redundant env set operation
Nirbheek Chauhan [Sat, 13 Apr 2019 06:04:22 +0000 (11:34 +0530)]
meson: Remove redundant env set operation

This is immediately overriden 4 lines later, and starting with Meso
0.50.1 this will lead to a noisy warning.

5 years agosctp: Create plugin with $(GST_PLUGIN_LDFLAGS)
Sebastian Dröge [Fri, 12 Apr 2019 07:22:56 +0000 (10:22 +0300)]
sctp: Create plugin with $(GST_PLUGIN_LDFLAGS)

Otherwise we don't create a plugin but a proper shared library with
version information, i.e. libgstsctp.so.0.0.0.

5 years agoRelease 1.15.90
Tim-Philipp Müller [Wed, 10 Apr 2019 23:32:40 +0000 (00:32 +0100)]
Release 1.15.90

5 years agoUpdate docs
Tim-Philipp Müller [Wed, 10 Apr 2019 23:32:40 +0000 (00:32 +0100)]
Update docs

5 years agomsdkdec: fix error handling in case of unsupported hardware
Peter Seiderer [Sat, 6 Apr 2019 19:44:35 +0000 (21:44 +0200)]
msdkdec: fix error handling in case of unsupported hardware

Check the return value of gst_msdk_context_ensure_context and
abort in case of failure.

https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/945

5 years agomsdkenc: fix error handling in case of unsupported hardware
Peter Seiderer [Sat, 6 Apr 2019 19:29:58 +0000 (21:29 +0200)]
msdkenc: fix error handling in case of unsupported hardware

Check the return value of gst_msdk_context_ensure_context and
abort in case of failure.

https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/945

5 years agomsdk: fix error handling in case of unsupported hardware
Peter Seiderer [Sat, 6 Apr 2019 19:09:03 +0000 (21:09 +0200)]
msdk: fix error handling in case of unsupported hardware

Fix double gst_object_unref for GstMsdkContext.

https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/945

5 years agowaylandsink: make gst_wl_window_is_toplevel aware of XDG shell
Andrey Konovalov [Tue, 9 Apr 2019 18:32:36 +0000 (21:32 +0300)]
waylandsink: make gst_wl_window_is_toplevel aware of XDG shell

5 years agoccextractor: document importance of pipeline order for this element
Aaron Boxer [Tue, 9 Apr 2019 15:26:28 +0000 (11:26 -0400)]
ccextractor: document importance of pipeline order for this element

5 years agomsdkvpp: add BGR10A2_LE format in the src pad
Haihao Xiang [Thu, 21 Mar 2019 08:22:23 +0000 (16:22 +0800)]
msdkvpp: add BGR10A2_LE format in the src pad

example pipeline:
gst-launch-1.0 videotestsrc ! video/x-raw,format=P010_10LE ! msdkvpp ! \
video/x-raw,format=BGR10A2_LE ! fakesink

5 years agomsdk: set some parameters in mfxFrameData for a MFX_FOURCC_A2RGB10 frame
Haihao Xiang [Thu, 21 Mar 2019 08:14:47 +0000 (16:14 +0800)]
msdk: set some parameters in mfxFrameData for a MFX_FOURCC_A2RGB10 frame

5 years agomsdk: map MFX_FOURCC_A2RGB10 to VA_FOURCC_A2R10G10B10
Haihao Xiang [Thu, 21 Mar 2019 07:34:36 +0000 (15:34 +0800)]
msdk: map MFX_FOURCC_A2RGB10 to VA_FOURCC_A2R10G10B10

5 years agomsdk: map GST_VIDEO_FORMAT_BGR10A2_LE to VA_FOURCC_A2R10G10B10
Haihao Xiang [Thu, 21 Mar 2019 07:29:15 +0000 (15:29 +0800)]
msdk: map GST_VIDEO_FORMAT_BGR10A2_LE to VA_FOURCC_A2R10G10B10

5 years agomsdk: map GST_VIDEO_FORMAT_BGR10A2_LE to MFX_FOURCC_A2RGB10
Haihao Xiang [Fri, 22 Mar 2019 05:43:23 +0000 (13:43 +0800)]
msdk: map GST_VIDEO_FORMAT_BGR10A2_LE to MFX_FOURCC_A2RGB10

5 years agodecklinkvideosrc: add missing break in set_property-code
Peter Körner [Tue, 9 Apr 2019 09:06:41 +0000 (11:06 +0200)]
decklinkvideosrc: add missing break in set_property-code

5 years agocea708decoder: use correct mask for font style
Aaron Boxer [Tue, 26 Mar 2019 13:43:46 +0000 (09:43 -0400)]
cea708decoder: use correct mask for font style

First three bits are used for font style, so mask
should be 0111 rather than 011 (in binary)

5 years agotests: h264parse: add minimal unit test for closed caption SEI parsing
Tim-Philipp Müller [Sun, 7 Apr 2019 12:47:38 +0000 (13:47 +0100)]
tests: h264parse: add minimal unit test for closed caption SEI parsing

5 years agoh264parse: extract CEA-708 closed captions
Tim-Philipp Müller [Fri, 29 Mar 2019 21:02:44 +0000 (21:02 +0000)]
h264parse: extract CEA-708 closed captions

Expose SEI data in the H.264 bitstream parser API and
extract closed captions and other things that are not
specified in the H.264 spec itself in the videoparser.

Based on patch by: Mathieu Duponchelle <mathieu@centricular.com>

https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/940

5 years agovulkan: Add iOS window implementation
Matthew Waters [Wed, 27 Mar 2019 06:56:28 +0000 (17:56 +1100)]
vulkan: Add iOS window implementation

5 years agovulkan: Add Cocoa window implementation
Matthew Waters [Mon, 25 Mar 2019 06:50:13 +0000 (17:50 +1100)]
vulkan: Add Cocoa window implementation

5 years agovulkan: make the debug extension optional
Matthew Waters [Fri, 29 Mar 2019 05:24:15 +0000 (16:24 +1100)]
vulkan: make the debug extension optional

i.e. don't fail if it's not available

5 years agoassrender: fix seeking backwards
Tim-Philipp Müller [Sat, 6 Apr 2019 13:39:22 +0000 (14:39 +0100)]
assrender: fix seeking backwards

Use proper API to flush libass events when we do
a flushing seek, and also do it in FLUSH_STOP
rather than FLUSH_START, so we can be sure
streaming has stopped.

Fixes seeking back in time.

Something seems to have changed in libass that
renders the old manual way of flushing events
ineffective and libass then seems to ignore
timestamps that are older than the ones last
seen then if we do it the old way.

Fixes #916

5 years agoassrender: improve debug logging in video chain
Tim-Philipp Müller [Sat, 6 Apr 2019 13:33:45 +0000 (14:33 +0100)]
assrender: improve debug logging in video chain

Print video timestamps only once and enumerate text
buffers to make output more concise and nicer to read.

5 years agoassrender: use subtitle segment to calculate running time for text
Tim-Philipp Müller [Sat, 6 Apr 2019 13:31:37 +0000 (14:31 +0100)]
assrender: use subtitle segment to calculate running time for text

Not the video segment. This just for correctness, shouldn't make
any difference in practice since we don't support external SSA yet.

5 years agortponviftimestamp: prioritize PTS over DTS for NTP timestamp
Mathieu Duponchelle [Wed, 12 Dec 2018 14:25:45 +0000 (15:25 +0100)]
rtponviftimestamp: prioritize PTS over DTS for NTP timestamp

NTP timestamps are supposed to match the expected presentation
time, prefering the DTS to compute them was incorrect.

<https://www.onvif.org/specs/stream/ONVIF-Streaming-Spec.pdf>

Section 6.3.1: NTP Timestamps

5 years agortponviftimestamp: buffer without PTS or DTS is not an error.
Mathieu Duponchelle [Tue, 13 Nov 2018 20:17:41 +0000 (21:17 +0100)]
rtponviftimestamp: buffer without PTS or DTS is not an error.

For example, when plugged after rtpgstpay, serialized events will
have neither.

5 years agortponviftimestamp: implement support for the T flag
Mathieu Duponchelle [Mon, 5 Nov 2018 19:32:03 +0000 (20:32 +0100)]
rtponviftimestamp: implement support for the T flag

https://www.onvif.org/specs/stream/ONVIF-Streaming-Spec.pdf

6.3 RTP header extension

5 years agoIncrease nvenc's encoding height to 4096
Shi Yan [Thu, 4 Apr 2019 20:19:42 +0000 (20:19 +0000)]
Increase nvenc's encoding height to 4096

According to https://developer.nvidia.com/nvidia-video-codec-sdk

the minimum resolution nvenc supports should be 4096x4096

5 years agowaylandsink: Wait for the surface to be configured
Nicolas Dufresne [Tue, 26 Mar 2019 02:21:09 +0000 (22:21 -0400)]
waylandsink: Wait for the surface to be configured

With latest XDG shell, we need to fait for the surface to have been
configured before we can attach a buffer to it. This is being enforce by
Weston with an error.

Fixes #933

5 years agoh264parse, h265parse: take unit_field_based_flag into account ..
Mathieu Duponchelle [Tue, 2 Apr 2019 13:18:03 +0000 (15:18 +0200)]
h264parse, h265parse: take unit_field_based_flag into account ..

when computing timecode metas. Depending on the value of that flag,
n_frames is to be interpreted as a number of fields or a number of
frames. As GstVideoTimeCodeMeta always deals with frames, we want
to scale that number when needed.

5 years agoh265parse: forward time codes
Mathieu Duponchelle [Sat, 30 Mar 2019 00:17:08 +0000 (01:17 +0100)]
h265parse: forward time codes

This transforms time code SEIs into GstVideoTimeCodeMeta

5 years agoh264parse: forward time codes
Mathieu Duponchelle [Thu, 28 Mar 2019 21:02:02 +0000 (22:02 +0100)]
h264parse: forward time codes

This transforms time codes from the timing SEI into
GstVideoTimeCodeMeta

5 years agowpesrc: Switch to WPEBackend-fdo 1.2.0
Philippe Normand [Sat, 30 Mar 2019 14:02:50 +0000 (14:02 +0000)]
wpesrc: Switch to WPEBackend-fdo 1.2.0

5 years agosrtp: bump libsrtp requirement to 1.6.0
Tim-Philipp Müller [Fri, 29 Mar 2019 12:09:02 +0000 (12:09 +0000)]
srtp: bump libsrtp requirement to 1.6.0

See !234

5 years agomsdkdec: add postinit_decoder
Haihao Xiang [Fri, 29 Mar 2019 05:22:55 +0000 (13:22 +0800)]
msdkdec: add postinit_decoder

The workaround for https://github.com/Intel-Media-SDK/MediaSDK/issues/1139
is required for vp8 only, so move this workaround to the corresponding
postinit_decoder function

The pipeline below works with this change

gst-launch-1.0 filesrc location=SA10104.vc1 ! \
'video/x-wmv,profile=(string)advanced',width=720,height=480,framerate=14/1 ! \
msdkvc1dec ! fakesink

5 years agomsdkdec: don't set unknown picture struct to progressive for vc1
Haihao Xiang [Fri, 29 Mar 2019 04:53:38 +0000 (12:53 +0800)]
msdkdec: don't set unknown picture struct to progressive for vc1

MFXVideoDECODE_DecodeHeader only parses the sequence layer for VC1, so
the structure is unknown for a stream with interlace flag set in the
sequence layer. If forcing the struct to progressive in this plugin,
MediaSDK will fail to decode such streams.

5 years agomsdkvc1dec: add the preinit_decoder function
Haihao Xiang [Fri, 29 Mar 2019 04:57:10 +0000 (12:57 +0800)]
msdkvc1dec: add the preinit_decoder function

5 years agowpe: Bump required version to WPEWebKit 2.24
Philippe Normand [Thu, 28 Mar 2019 18:27:28 +0000 (18:27 +0000)]
wpe: Bump required version to WPEWebKit 2.24

Fixes #929

5 years agompegvideoparse: add debug code for closed captions
Aaron Boxer [Wed, 27 Mar 2019 17:22:47 +0000 (13:22 -0400)]
mpegvideoparse: add debug code for closed captions

This debug code will help determine why certain instances of closed
captions that are present in the Picture User Data are not actually
processed by the pipeline

5 years agosrtp: Add support for GCM (RFC 7714)
Ulf Olsson [Wed, 6 Mar 2019 06:36:44 +0000 (07:36 +0100)]
srtp: Add support for GCM (RFC 7714)

The GCM support in libsrtp have been there for a while and
it can be useful for some applications.

Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/913

5 years agonvenc: Don't leak CUDA device memory
Seungha Yang [Tue, 26 Mar 2019 11:43:22 +0000 (20:43 +0900)]
nvenc: Don't leak CUDA device memory

Allocated device memory should be freed with cuMemFree

5 years agonvenc: Ensure unmap resources before finalizing them
Seungha Yang [Tue, 26 Mar 2019 11:24:22 +0000 (20:24 +0900)]
nvenc: Ensure unmap resources before finalizing them

Mapped resource via NvEncMapInputResource() will result to unregister fail.
It can happen when paused to ready state change without EOS event.

5 years agoh265parse: ignore VUI parse fail when parse SPS
Haihua Hu [Thu, 28 Feb 2019 09:42:58 +0000 (17:42 +0800)]
h265parse: ignore VUI parse fail when parse SPS

VUI is an optional for SPS parse, some HEVC file has incorrect VUI
parameters but still can be decoded

5 years agoclosedcaption: fix build error in OSX
Josep Torra [Fri, 22 Mar 2019 21:32:59 +0000 (22:32 +0100)]
closedcaption: fix build error in OSX

Fixes the following error.

gstccconverter.c:677:7: error: variable 'len' is used uninitialized whenever 'if' condition is false
      [-Werror,-Wsometimes-uninitialized]
  if (flags & 0x40) {
      ^~~~~~~~~~~~
gstccconverter.c:698:10: note: uninitialized use occurs here
  return len;
         ^~~
gstccconverter.c:677:3: note: remove the 'if' if its condition is always true
  if (flags & 0x40) {
  ^~~~~~~~~~~~~~~~~~
gstccconverter.c:572:12: note: initialize the variable 'len' to silence this warning
  guint len;
           ^
            = 0

5 years agoclosedcaption: fix build error in OSX
Josep Torra [Fri, 22 Mar 2019 21:25:20 +0000 (22:25 +0100)]
closedcaption: fix build error in OSX

Fixes the following error by commenting an unused block.

./misc.h:503:11: error: 'strlcpy' macro redefined [-Werror,-Wmacro-redefined]