Vivia Nikolaidou [Tue, 2 Oct 2018 08:25:14 +0000 (11:25 +0300)]
avwait: Don't print warnings for every buffer passed
Haihao Xiang [Fri, 31 May 2019 06:09:40 +0000 (14:09 +0800)]
msdk: return a right pointer for VUYA format
The first channel in memory is V for VUYA format, note
GST_VIDEO_FORMAT_VUYA is mapped to MFX_FOURCC_AYUV in this plugin
Tim-Philipp Müller [Wed, 29 May 2019 16:05:34 +0000 (17:05 +0100)]
docs: update plugin doc cache and add more plugins
Tim-Philipp Müller [Wed, 29 May 2019 10:28:00 +0000 (11:28 +0100)]
meson: add more plugins to plugins list
Makes sure their path gets added to the uninstalled environment
and makes sure they get included in the docs.
Mathieu Duponchelle [Wed, 22 May 2019 19:44:44 +0000 (21:44 +0200)]
basetsmux: don't reset pad on flush_stop
This was mistakenly added when porting to aggregator, this
restores the old behaviour, by only resetting them when the
muxer itself is reset
Mathieu Duponchelle [Wed, 22 May 2019 19:44:22 +0000 (21:44 +0200)]
mpegtssection: events don't necessarily have a structure
Mathieu Duponchelle [Wed, 22 May 2019 19:44:02 +0000 (21:44 +0200)]
basetsmux: fix send_event by chaining up
Mathieu Duponchelle [Wed, 29 May 2019 16:27:09 +0000 (18:27 +0200)]
mpegtsmux: add SECTION comment
We include an example for injecting sections in the transport
stream in the documentation
Mathieu Duponchelle [Wed, 29 May 2019 15:03:59 +0000 (17:03 +0200)]
tests: add example for injecting MPEG-TS sections
Mathieu Duponchelle [Wed, 29 May 2019 15:01:40 +0000 (17:01 +0200)]
basetsmux: preserve user-specified sections across resets
As sections can be provided by the user through send_event
when the element state is NULL, their lifetime is expected
to match that of the muxer, and they must be preserved when
the state changes
Mathieu Duponchelle [Wed, 22 May 2019 23:44:19 +0000 (01:44 +0200)]
atscmux: send empty RRT / MGT / STT tables
These are mandated by A/65, their absence gets flagged by
stream analyzers. Users can of course provide filled up
versions through the send_event API.
Mathieu Duponchelle [Wed, 22 May 2019 22:03:18 +0000 (00:03 +0200)]
tsmux: maintain packet counters in a global array
We can have multiple TsMuxPacketInfo objects for the same PID
with user-provided sections, for example ATSC requires multiple
tables with the same PID.
Mathieu Duponchelle [Tue, 21 May 2019 00:53:20 +0000 (02:53 +0200)]
mpegts: extend support for ATSC tables
Adds constructors for the following sections:
STT: System Time Table
MGT: Master Guide Table
RRT: Rating Region Table
Also adds parsing code for RRT
Matthew Waters [Fri, 24 May 2019 14:02:05 +0000 (00:02 +1000)]
webrtc: only set sctp ports if they are different
SCTPassociation will complain if we do that while running and resetting
is not something we support at the moment
Matthew Waters [Thu, 7 Mar 2019 13:39:59 +0000 (00:39 +1100)]
tests/webrtc: wait until the SDP has been set before continuing
If we renegotiate, then it is currently possible for an added stream to
be added to webrtcbin before the SDP is complete. This causes an
internal inconsistency as there is a 'pending sink transceiver' without
a corresponding media section in the sdp. It also does not have an
associated transport stream and will fail in _connect_input_stream().
Matthew Waters [Thu, 7 Mar 2019 13:37:39 +0000 (00:37 +1100)]
tests/webrtc: fix racy test with a prenegotiated data channel
If both data channels become ready simultaneously, then the two integer
read-add-update cycles can execute concurrently and only ever increment
once instead of the required twice. Use an atomic add instead.
Matthew Waters [Thu, 7 Mar 2019 13:32:53 +0000 (00:32 +1100)]
webrtc/dc: move some code from webrtcbin into the datachannel
Matthew Waters [Mon, 4 Mar 2019 10:44:33 +0000 (21:44 +1100)]
webrtc: hold onto any unknown ICE candidates until the next SDP set
It is very possible for badly behaving signalling or peers to send
us ICE candidates before we receive an SDP. While we had consideration
for that on the first set SDP, subsequent SDP's could result in
misconfigured ICE transports. Expand the previous code to also take
into account reconfigurations.
Matthew Waters [Wed, 28 Nov 2018 06:23:31 +0000 (17:23 +1100)]
webrtc: Initial support for stream addition/removal
Limitations:
- No transport changes at all (ICE, DTLS)
- Codec changes are untested and probably don't work
- Stream removal doesn't remove transports (i.e. non-bundled transports
will stay around until webrtcbin is shutdown)
- Unified Plan SDP only. No Plan-B support.
Matthew Waters [Wed, 5 Dec 2018 07:36:27 +0000 (18:36 +1100)]
tests/webrtc: a couple of debug/error string fixes
Matthew Waters [Tue, 4 Dec 2018 11:49:05 +0000 (22:49 +1100)]
tests/webrtc: rewrite bundle checks for separate validate_sdp passes
Improves reusability
Matthew Waters [Tue, 4 Dec 2018 09:38:19 +0000 (20:38 +1100)]
tests/webrtc: add helper for getting the offer/answer element
Matthew Waters [Tue, 4 Dec 2018 09:32:56 +0000 (20:32 +1100)]
tests/webrtc: only check audio/video for direction attributes
Matthew Waters [Thu, 6 Dec 2018 12:28:18 +0000 (23:28 +1100)]
webrtcbin: expose the transceiver as a pad property
Matthew Waters [Thu, 6 Dec 2018 12:25:54 +0000 (23:25 +1100)]
webrtc/transceiver: add a set_direction function
Matches the setDirection() from the W3C spec and allows changing the
transceiver direction at the next negotiation cycle.
Matthew Waters [Wed, 5 Dec 2018 08:17:45 +0000 (19:17 +1100)]
webrtc: track and log more rtpbin state
like bye's timeouts, validation, activation, etc
Matthew Waters [Thu, 6 Dec 2018 05:59:52 +0000 (16:59 +1100)]
webrtc: add support for intersecting inactive transceiver directions
Matthew Waters [Tue, 4 Dec 2018 09:30:49 +0000 (20:30 +1100)]
webrtc: mark remote/local-description as readonly
Matthew Waters [Tue, 27 Nov 2018 08:27:27 +0000 (19:27 +1100)]
webrtc: don't reuse stopped transceivers at all
Matthew Waters [Tue, 27 Nov 2018 08:25:51 +0000 (19:25 +1100)]
webrtc: also check for a null mid to signify an unassociated transceiver
We always give our transceivers an mline on creation so that check is
not useful by itself
Matthew Waters [Tue, 27 Nov 2018 08:24:40 +0000 (19:24 +1100)]
webrtc: only check sink pads for a 'sink pads have caps' check
Matthew Waters [Mon, 26 Nov 2018 11:10:57 +0000 (22:10 +1100)]
webrtc: fix answer creation with multiple streams and similar caps
Matthew Waters [Mon, 26 Nov 2018 09:41:29 +0000 (20:41 +1100)]
tests/webrtc: factor out sdp validation into a single function
Matthew Waters [Mon, 26 Nov 2018 08:54:18 +0000 (19:54 +1100)]
tests/webrtc: validate number of sdp media using validate_sdp
Matthew Waters [Mon, 26 Nov 2018 08:48:31 +0000 (19:48 +1100)]
tests/webrtc: allow multiple validation functions
Matthew Waters [Mon, 26 Nov 2018 08:19:04 +0000 (19:19 +1100)]
tests/webrtc: test that duplicate negotiations succeed
Philippe Normand [Tue, 28 May 2019 15:58:20 +0000 (16:58 +0100)]
webrtcbin: Expose current and pending local/remote description properties
They are already handled in the property getter and setter functions but were
not formally declared in the GObject class.
Mathieu Duponchelle [Wed, 29 May 2019 20:58:08 +0000 (22:58 +0200)]
doc: remove xml from comments
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