Adam Duskett [Wed, 29 May 2019 18:33:02 +0000 (18:33 +0000)]
ext/hls/meson.build: fix dependency logic
Currently, if one was to set -Dhls-crypto to either libgcrypt or openssl
instead of auto, the following lines would fail because hls_crypto_dep is not
yet set:
if not hls_crypto_dep.found() and ['auto', 'libgcrypt'].contains(hls_crypto)
if not hls_crypto_dep.found() and ['auto', 'openssl'].contains(hls_crypto)
Instead, change "if not hls_crypto_dep.found()" to "if not have_hls_crypto"
which fixes the error.
Tim-Philipp Müller [Wed, 29 May 2019 11:48:06 +0000 (12:48 +0100)]
docs: remove stale plugins from docs plugin cache
gtk plugin has moved to -good, schroedinger has been removed.
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.
Nicolas Dufresne [Sun, 26 May 2019 10:13:48 +0000 (12:13 +0200)]
kmssink: Fixup all errno tracing
All DRM ioctl uses errno to report the error and simply returns -1
when some error occured. This patch fixes all usage of the return
value instead of errno to trace the error type and moves to g_strerror
instead of string.h strerror in order to be consistent with the rest
of GStreamer.
Mathieu Duponchelle [Sat, 25 May 2019 17:48:25 +0000 (19:48 +0200)]
doc: update plugin cache
Nicolas Dufresne [Sat, 25 May 2019 15:35:26 +0000 (17:35 +0200)]
docs: Updated plugins cache file
This was done so that the duplicated rist element would go way.
Mathieu Duponchelle [Sat, 25 May 2019 14:57:57 +0000 (16:57 +0200)]
doc: fix element section documentations
Element sections were not rendered anymore after the hotdoc
port, fixing this revealed a few incorrect links.
Tim-Philipp Müller [Sat, 15 Nov 2014 22:58:49 +0000 (22:58 +0000)]
codecparsers: fix debug category initialisation
Make thread-safe.
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.
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
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.
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.
Sebastian Dröge [Tue, 21 May 2019 13:17:40 +0000 (16:17 +0300)]
proxy: Forward queries/events sent directly to the element correctly
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.
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
Nicolas Dufresne [Tue, 14 May 2019 21:04:41 +0000 (17:04 -0400)]
doc: Add rist plugin to hotdoc
Nicolas Dufresne [Tue, 7 May 2019 19:58:04 +0000 (15:58 -0400)]
rist: Add combined bonding-method support
This patchs add support for configuring the bonding method used. There is
two method specified
- redundant: All the RTP packets are replicated
- combined: RTP packet are evenly distributed over each links
Additionally, an application can set the "dispatcher" property in order
to implement custom dispatching method. Whenever the "dispatcher"
property is set, "bonding-method" property will be ignored.
Nicolas Dufresne [Tue, 7 May 2019 15:32:00 +0000 (11:32 -0400)]
ristsrc: Implement per session stats
As we can now have multiple sessions, stats need to be implemented per
session. This follow RTPSession model with sources. The stats are now:
dropped: 0
received: 0
recovered: 0
permanently-lost: 0
duplicates: 0
retransmission-requests-sent: 0
rtx-roundtrip-time: 0
session-stats:
session-id=0
rtp-from=""
rtcp-from=""
dropped=0
received=0
session-id=1
rtp-from=""
rtcp-from=""
dropped=0
received=0
. . .
session-stats is a GValueArray as there is no better alternatives.
Nicolas Dufresne [Sat, 4 May 2019 02:28:56 +0000 (22:28 -0400)]
ristsrc: Cleanup unused include
Nicolas Dufresne [Fri, 3 May 2019 21:44:14 +0000 (17:44 -0400)]
ristsink: Implement per session stats
As we can now have multiple sessions, stats need to be implemented per
session. This follow RTPSession model with sources. The stats are now:
sent-original-packets: 0
sent-retransmitted-packets: 0
session-stats:
session-id=0
sent-original-packets=0
sent-retransmitted-packets=0
round-trip-time=0
session-id=1
sent-original-packets=0
sent-retransmitted-packets=0
round-trip-time=0
. . .
session-stats is a GValueArray as there is no better alternatives.
Nicolas Dufresne [Fri, 3 May 2019 20:52:02 +0000 (16:52 -0400)]
ristsrc: rtxbin may be null in finalize
Nicolas Dufresne [Thu, 28 Feb 2019 22:21:25 +0000 (17:21 -0500)]
ristsrc: Add bonding support
This add support for receiving and aggregating the same stream
over multiple addresses.
Nicolas Dufresne [Fri, 15 Feb 2019 22:13:02 +0000 (17:13 -0500)]
ristsink: Implement bonding support
Marc Leeman [Tue, 21 May 2019 18:49:02 +0000 (18:49 +0000)]
rist: spell and grammar corrects in top comments
Thibault Saunier [Mon, 20 May 2019 14:26:14 +0000 (10:26 -0400)]
docs: Update cache and mark some rist prop as 'show-default'
Thibault Saunier [Mon, 20 May 2019 14:16:02 +0000 (10:16 -0400)]
doc: Add proxysink/proxysrc
Sebastian Dröge [Tue, 21 May 2019 09:15:55 +0000 (12:15 +0300)]
webrtc: Add various Since markers to new types after 1.14.0
Seungha Yang [Mon, 20 May 2019 10:33:27 +0000 (19:33 +0900)]
mpegtsmux: Fix build warning error
gstmpegtsmux.c:291:3: error: implicit declaration of function ‘memmove’ [-Werror=implicit-function-declaration]
memmove (map.data + 4, map.data, map.size - 4);
^
gstmpegtsmux.c:291:3: error: incompatible implicit declaration of built-in function ‘memmove’ [-Werror]
gstmpegtsmux.c:291:3: note: include ‘<string.h>’ or provide a declaration of ‘memmove’
Mathieu Duponchelle [Thu, 16 May 2019 23:21:53 +0000 (01:21 +0200)]
basetsmux: improve bitrate property documentation
Mathieu Duponchelle [Tue, 14 May 2019 23:35:04 +0000 (01:35 +0200)]
tsmux: refactor logic for when to (re)transmit tables
In order to output them at regular intervals in the bitstream
when a bitrate is specified.
Mathieu Duponchelle [Tue, 14 May 2019 23:34:51 +0000 (01:34 +0200)]
basetsmux: fix PCR stream selection
Jan Schmidt [Thu, 9 May 2019 15:33:17 +0000 (01:33 +1000)]
Fix compile after aggregator rewrite and base class refactor
Mathieu Duponchelle [Wed, 8 May 2019 14:56:29 +0000 (16:56 +0200)]
tsmux: fix continuity counter for packets with no payload
Mathieu Duponchelle [Tue, 30 Apr 2019 23:09:19 +0000 (01:09 +0200)]
mpegtsmux: aggregator port
Mathieu Duponchelle [Mon, 29 Apr 2019 23:42:59 +0000 (01:42 +0200)]
mpegtsmux: spring cleanup, no functional change
Mathieu Duponchelle [Mon, 29 Apr 2019 22:50:06 +0000 (00:50 +0200)]
basetsmux: extract m2ts-mode to mpegtsmux
Mathieu Duponchelle [Fri, 26 Apr 2019 18:26:55 +0000 (20:26 +0200)]
mpegtsmux: extract an actual base class
Mathieu Duponchelle [Thu, 25 Apr 2019 22:01:31 +0000 (00:01 +0200)]
mpegtsmux: expose the vmethods necessary for ATSC E-AC-3 handling
Mathieu Duponchelle [Thu, 25 Apr 2019 18:23:03 +0000 (20:23 +0200)]
mpegtsmux: provide API for subclasses to override stream creation
Mathieu Duponchelle [Thu, 25 Apr 2019 16:26:27 +0000 (18:26 +0200)]
mpegtsmux: add an ATSC subclass
Mathieu Duponchelle [Mon, 22 Apr 2019 20:50:07 +0000 (22:50 +0200)]
tsmux: Calculate PCR from number of bytes written in CBR mode
Mathieu Duponchelle [Mon, 22 Apr 2019 20:11:29 +0000 (22:11 +0200)]
mpegtsmux: Expose bitrate property
This allows outputting a Transport Stream with a constant bitrate,
by inserting null packets.
Mathieu Duponchelle [Mon, 22 Apr 2019 20:10:42 +0000 (22:10 +0200)]
tsmux: actually respect the PCR frequency we target
Mathieu Duponchelle [Mon, 22 Apr 2019 16:23:39 +0000 (18:23 +0200)]
tsmux: Use DTS over PTS
Philippe Normand [Sat, 18 May 2019 11:09:18 +0000 (12:09 +0100)]
meson: Keep track of the aom plugin
Otherwise it doesn't appear in the GstPluginsPath.json and thus is not listed in
gst-build's uninstalled shell's $GST_PLUGIN_PATH.
Seungha Yang [Thu, 16 May 2019 04:08:19 +0000 (13:08 +0900)]
docs: Update plugins cache for nvdec/nvenc
Seungha Yang [Wed, 15 May 2019 02:25:37 +0000 (11:25 +0900)]
meson: Add nvenc and nvdec to plugin list when available
Olivier Crête [Fri, 17 May 2019 21:15:13 +0000 (17:15 -0400)]
rist: Fix typo
Niels De Graef [Fri, 17 May 2019 13:28:54 +0000 (15:28 +0200)]
webrtc: Fix some signals' GIR annotations
This will lead to wrong bindings otherwise (and creates more correct
expectations for developers).
Thibault Saunier [Thu, 16 May 2019 19:35:58 +0000 (15:35 -0400)]
docs: Add infos about windows specific plugins
Thibault Saunier [Thu, 16 May 2019 13:18:53 +0000 (09:18 -0400)]
docs: Stop building the doc cache by default
And update the cache
Fixes https://gitlab.freedesktop.org/gstreamer/gst-docs/issues/36
Thibault Saunier [Wed, 15 May 2019 20:18:01 +0000 (16:18 -0400)]
docs: Add gstrist to the documentation
Haihao Xiang [Fri, 26 Apr 2019 00:40:28 +0000 (08:40 +0800)]
msdk: fix the typo for gst_msdkvp9dec_debug
Tim-Philipp Müller [Tue, 14 May 2019 18:19:46 +0000 (19:19 +0100)]
configure: fix autotools build after gtk-doc removal
Were using a gtk-doc specific file to check if we can
find the srcdir, so configure would fail.
Thibault Saunier [Tue, 14 May 2019 14:45:21 +0000 (10:45 -0400)]
docs: Make sure frei0r plugins properties default are stable
frei0r returns 'random' values as default and it makes the cache
often change for no good reason
Thibault Saunier [Tue, 14 May 2019 14:28:17 +0000 (10:28 -0400)]
docs: Remove stereo and openglmixer from the cache
Thus were moved, respectively, to -good and -base
Jose Antonio Santos Cadenas [Tue, 14 May 2019 07:36:15 +0000 (07:36 +0000)]
dtlsagent: Do not overwrite openssl locking callbacks
Thibault Saunier [Tue, 14 May 2019 02:56:47 +0000 (22:56 -0400)]
docs: Update plugins documentation cache
Thibault Saunier [Mon, 22 Oct 2018 09:30:45 +0000 (11:30 +0200)]
docs: Build documentation with hotdoc
Thibault Saunier [Mon, 12 Nov 2018 21:24:20 +0000 (18:24 -0300)]
Mark some properties as DOC_SHOW_DEFAULT
Thibault Saunier [Sat, 11 Aug 2018 00:32:30 +0000 (20:32 -0400)]
Minor documentation fixes
Thibault Saunier [Mon, 22 Oct 2018 09:30:09 +0000 (11:30 +0200)]
directfb: Fixup plugin name to match plugin filename
Has required by the new PLUGIN_DEFINE macro
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.
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
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.
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.
Mark Nauwelaerts [Wed, 1 May 2019 16:58:30 +0000 (18:58 +0200)]
srt: initialize list access within locked region
Niels De Graef [Thu, 9 May 2019 12:08:31 +0000 (14:08 +0200)]
webrtc: Fix signals documentation
Some GIR annotations were incorrect or even missing. The former isn't
good for bindings, while the latter is especially annoying for signal
handlers, as that means your arguments will get the wrong names in the
rendered documentation.
Seungha Yang [Thu, 9 May 2019 06:11:17 +0000 (15:11 +0900)]
nvenc: Respect display aspect ratio and set to encoding parameter
It should be written in VUI parameter for proper rendering
Niels De Graef [Wed, 8 May 2019 13:46:26 +0000 (15:46 +0200)]
webrtc: Add g_autoptr() support for public types
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.
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
Seungha Yang [Sat, 4 May 2019 11:56:38 +0000 (20:56 +0900)]
nvh264enc: Fix broken Y444 format encoding with system memory Y444 support
separateColourPlaneFlag is mapped to separate_colour_plane_flag which
means Y, U and V planes are separately processed as monochrome sampled pictures.
So encoder shouldn't set that flag for normal 4:4:4 encoding.
Also for 4:4:4 encoding, NV_ENC_H264_PROFILE_HIGH_444_GUID profile must be
explicitly set.
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.
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
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.
Sebastian Dröge [Fri, 3 May 2019 21:15:32 +0000 (00:15 +0300)]
decklink: Add support for parsing/outputting AFD/Bar
Sebastian Dröge [Mon, 22 Apr 2019 12:42:12 +0000 (15:42 +0300)]
decklink: Allow VANC to be used for all modes
Sebastian Dröge [Tue, 16 Apr 2019 10:15:40 +0000 (13:15 +0300)]
decklink: Add support for widescreen NTSC/PAL
Same as non-widescreen but with a different pixel-aspect-ratio.
Seungha Yang [Wed, 1 May 2019 12:24:49 +0000 (21:24 +0900)]
h265parse: Parse mastering display info and content light level from SEI
... and set to caps if necessary.
Note 1) the mastering display info and content light level SEI meessages
are persistent in the corresponding codec video sequence (i.e., GOP).
So any bitstream containing those SEI messages
(and also all pictures are intended to be HDR rendered) should be ensured that
each first slice of codec video sequence follows those SEI messages.
Note 2) The codec video sequence is a group an [IRAP + NoRaslOutputFlag == 1]
and following AUs which are not [IRAP + NoRaslOutputFlag == 1]
The NoRaslOutputFlag is equal to 1 for each IDR AU, BLA AU and some CRA AU.
For a CRA AU to have NoRaslOutputFlag equal to 1, following condition should required.
* When the CRA AU is the first AU in the bitstream in decoding order
* or the CRA AU is the first AU that follows an end of sequence NAL in decoding order
* or the HandleCraAsBlaFlag equal to 1.
Due to the limited context in parse element, in this commint, CRA AU will not considered as
having the NoRaslOutputFlag equal to 1. Therefore, in the worst case,
mastering-display-info and content-light-level could be cleared one GOP after
when stream was chagned from HDR to SDR.
Seungha Yang [Fri, 26 Apr 2019 11:11:12 +0000 (20:11 +0900)]
h265parser: Add parsing mastering display colour volume SEI message
... and content light level SEI message. Those SEI messages are required
for HDR rendering.
Roman Shpuntov [Fri, 3 May 2019 12:10:22 +0000 (19:10 +0700)]
androidmedia: added path /system/vendor/etc to dependency
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.
Nicolas Dufresne [Fri, 5 Apr 2019 21:01:08 +0000 (17:01 -0400)]
rist: Enable plugin doc creation
Nicolas Dufresne [Mon, 21 Jan 2019 16:44:10 +0000 (11:44 -0500)]
rist: Add a plugin implenting RIST TR-06-1 Simple Profile
RIST TR-06-1 is a specification for video streaming made by the VSF
group. It is using a subset of RTP specification to which some
modification has been made to improve RTX behaviour and avoid any need
for signaling. The plugin implement ristrtxsend / ristrtxreceive element
which are the RIST specific equivalent of rtprtxsend/rtprtxreceive and
ristsink / ristsrc which implement rist transmitter and receiver. The
RIST protocol is meant to be used in unidirectional way. Typically, MPEG
TS over RTP is used.
Currently we support unicast and multicast streaming according to the
specification. This patch does not include any bonding support yet. The
ristsrc element introduce rist:// URI handling in parallel to it's
property configuration interface.
Aaron Boxer [Wed, 1 May 2019 19:31:34 +0000 (15:31 -0400)]
ccextractor: copy input buffer flags to output buffer
GST_VIDEO_BUFFER_FLAG_INTERLACED and GST_VIDEO_BUFFER_FLAG_TFF
flags are needed when processing SCTE 20 closed captions for an interlaced
stream, when we need to convert back to analog, in which case we need to match
the caption to the top or bottom field
Xavier Claessens [Wed, 1 May 2019 23:29:16 +0000 (19:29 -0400)]
h264parse: Fix typo when setting multiview mode and flags
Seungha Yang [Thu, 2 May 2019 04:20:30 +0000 (13:20 +0900)]
x265enc: Do not drop SEI nals from header
SEI message shouldn't be dropped since it contains various informal (or essential)
information.
Seungha Yang [Thu, 2 May 2019 03:21:38 +0000 (12:21 +0900)]
x265enc: Add support mastering display info and content light level encoding
... if (x265 version >= 1.9) requirement is satisfied.
The SEI messages were supported since x265 version 1.8
but there was API change from version 1.9
(contentLightLevelInfo was renamed to maxCLL and maxFALL)
Marcos Kintschner [Wed, 1 May 2019 00:25:12 +0000 (21:25 -0300)]
Fixed segtotal value being always 2 due to an unused variable
The 'MAX' expression used to set segtotal always returned 2 because the unused and unitialized variable buffer_frame_count was always 0
Wangfei [Fri, 26 Apr 2019 01:52:43 +0000 (09:52 +0800)]
h265parser: parse range extension message in SPS/PPS.
Range extension message may exist in some extension-profile clips.
Fabio D'Urso [Fri, 26 Apr 2019 14:25:17 +0000 (16:25 +0200)]
sctp: increase DEFAULT_NUMBER_OF_SCTP_STREAMS to 1024
This change makes it possible to create more than just 5 webrtc
data channels. The maximum number of data channels is exactly
DEFAULT_NUMBER_OF_SCTP_STREAMS / 2, therefore the limit is now
512.
Sebastian Dröge [Tue, 23 Apr 2019 12:09:17 +0000 (15:09 +0300)]
libs: Fix various Since markers
Sebastian Dröge [Tue, 23 Apr 2019 11:33:05 +0000 (14:33 +0300)]
player: Fix various Since markers in the docs
Nicola Murino [Tue, 23 Apr 2019 07:06:13 +0000 (09:06 +0200)]
opencv: allow compilation against 4.1.x
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
Mark Nauwelaerts [Sun, 21 Apr 2019 14:47:30 +0000 (16:47 +0200)]
srt: downgrade regular message to log level
Tim-Philipp Müller [Fri, 19 Apr 2019 09:33:49 +0000 (10:33 +0100)]
Back to development
Tim-Philipp Müller [Thu, 18 Apr 2019 23:28:55 +0000 (00:28 +0100)]
Release 1.16.0
Tim-Philipp Müller [Thu, 18 Apr 2019 23:28:55 +0000 (00:28 +0100)]
Update docs