Chris Bass
d25be0d16e
ttmlparse: Handle whitespace before XML declaration
...
When ttmlparse is in, e.g., an MPEG-DASH pipeline, there may be
whitespace between successive TTML documents in ttmlparse's accumulated
input. As libxml2 will fail to parse documents that have whitespace
before the opening XML declaration, ensure that any preceding whitespace
is not passed to libxml2.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1539 >
2020-10-30 07:01:52 +00:00
Chris Bass
8df2314c23
ttmlparse: Ensure only single TTML doc parsed
...
The parser handles only one TTML file at a time, therefore if there are
multiple TTML documets in the input, parse only the first.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1539 >
2020-10-30 07:01:52 +00:00
Guillaume Desmottes
bfb9071081
isac: add iSAC plugin
...
Wrapper on the iSAC reference encoder and decoder from webrtc,
see https://en.wikipedia.org/wiki/Internet_Speech_Audio_Codec
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1124 >
2020-10-29 16:59:18 +01:00
Randy Li
6d8133e41e
waylandsink: release frame callback when destroyed
...
We would use a frame callback from the surface to indicate
that last buffer is rendered, but when we destroy the surface
and that callback is not back yet, it may cause the wayland event
queue crash.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1729 >
2020-10-29 12:09:01 +00:00
Nicola Murino
77f28ee3e7
opencv: allow compilation against 4.5.x
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1709 >
2020-10-27 10:53:27 +00:00
Philippe Normand
37b7809d18
wpe: Convert launch lines to markdown and move since tag
...
Seems like the examples don't appear in the generated docs because the Since tag
was badly positioned in the doc blurb.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1706 >
2020-10-18 15:17:25 +00:00
Tim-Philipp Müller
3f8d33abed
hlssink2: fix and flesh out docs
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1699 >
2020-10-16 13:37:18 +00:00
Stéphane Cerveau
cbd61e28b2
meson: update glib minimum version to 2.56
...
In order to support the symbol g_enum_to_string in various
project using GStreamer ( gst-validate etc.), the glib minimum
version should be 2.56.0.
Remove compat code as glib requirement
is now > 2.56
Version used by Ubuntu 18.04 LTS
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1695 >
2020-10-16 09:16:34 +00:00
Vivia Nikolaidou
94e1623434
cameracalibrate: Improve gst-inspect documentation
...
Thanks to @kazz_naka on Twitter
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1691 >
2020-10-13 17:21:59 +03:00
Matthew Waters
2f29a4cde6
wpesrc: add some debug logging around WPEView creation/destruction
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1663 >
2020-10-13 08:48:05 +00:00
Matthew Waters
da18a8d93d
wpesrc: fix a memory leak of the bytes
...
free the previous GBytes if load-bytes is called multiple times
before view creation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1663 >
2020-10-13 08:48:05 +00:00
Matthew Waters
356fee4dd6
wpesrc: only create webview if not already created
...
e.g. _decide_allocation() can be called multiple times throughout the
element's lifetime and we only want to create the view once rather than
overwriting.
Fixes a leak of the WPEView under certain circumstances.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1663 >
2020-10-13 08:48:05 +00:00
Matthew Waters
b84c8821de
wpe: free a previous pending image/shm buffer
...
Don't blindly overwrite a possibly previously set buffer.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1663 >
2020-10-13 08:48:05 +00:00
Jan Alexander Steffens (heftig)
4eeff95f92
srtsrc: Prevent delay
from being negative
...
`delay` should be a GstClockTimeDiff since SRT time is int64_t.
All values are in local time so we should never see a srctime that's in
the future. If we do, clamp the delay to 0 and warn about it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1674 >
2020-10-12 12:58:22 +00:00
Jan Alexander Steffens (heftig)
ec11ad9d55
srtsrc: Don't calculate a delay if the srctime is 0
...
A zero srctime is a missing srctime. Apparently this can happen when
["the connection is not between SRT peers or if Timestamp-Based Packet
Delivery mode (TSBPDMODE) is not enabled"][1] so it may not apply to us,
but it's best to be defensive.
[1]: https://github.com/Haivision/srt/blob/v1.4.2/docs/API.md#sending-and-receiving
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1674 >
2020-10-12 12:58:22 +00:00
Jan Alexander Steffens (heftig)
6b2fcb52e5
srtsrc: Defend against missing clock
...
If we don't have a clock, stop the source instead of asserting in
gst_clock_get_time. This can happen when the element is removed from the
pipeline while it's playing.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1674 >
2020-10-12 12:58:22 +00:00
Olivier Crête
8a0d1d85cf
dtlsconnection: Ignore OpenSSL system call errors
...
OpenSSL shouldn't be making real system calls, so we can safely
ignore syscall errors. System interactions should happen through
our BIO. So especially don't look at the system's errno, as it
should be meaningless.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1656 >
2020-10-10 15:34:21 +00:00
Jan Alexander Steffens (heftig)
c6eeead1e4
srt: Consume the error from gst_srt_object_write
...
Instead of leaking it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1668 >
2020-10-09 07:47:47 +00:00
Jan Alexander Steffens (heftig)
2a7fa67693
srt: Check socket state before retrieving payload size
...
The connection might be broken, which we should detect instead of just
aborting the write.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1669 >
2020-10-09 07:12:04 +00:00
Jakub Adam
6f2f15b5fb
x265enc: fix deadlock on reconfig
...
Don't attempt to obtain encoder lock that is already held by
gst_x265_enc_encode_frame().
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1671 >
2020-10-09 06:39:36 +00:00
Edward Hervey
dd11e91c3b
srtsrc: Fix timestamping
...
SRT provides the original timestamp of a packet (with drift/skew corrected for
local clock), which is what should be used for timestamping the outgoing
buffers. This ensures that we output the packets with the same timestamp (and by
extension rate) as the original feed.
Also detect if packets were dropped (by checking the sequence number) and
properly set DISCONT flag on the outgoing buffer.
Finally answer the latency queries
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1658 >
2020-10-08 21:12:17 +00:00
Sebastian Dröge
cc7e98816f
Revert "webrtc: Save the media kind in the transceiver"
...
This reverts commit f54d8e9945
.
It breaks the CI until the C# bindings are fixed.
2020-10-08 18:53:12 +03:00
Sebastian Dröge
849839ba97
Revert "rtptransceiver: Store the SSRC of the current stream"
...
This reverts commit d1da271f25
.
It breaks the CI until the C# bindings are fixed.
2020-10-08 18:53:07 +03:00
Sebastian Dröge
e65a8cbcf1
Revert "webrtcbin: Remove unused function"
...
This reverts commit 39723dbe93
.
It breaks the CI until the C# bindings are fixed.
2020-10-08 18:53:04 +03:00
Sebastian Dröge
b565a7ef66
Revert "webrtc: Set the DSCP markings based on the priority"
...
This reverts commit 8ba08598bb
.
It breaks the CI until the C# bindings are fixed.
2020-10-08 18:53:00 +03:00
Olivier Crête
8ba08598bb
webrtc: Set the DSCP markings based on the priority
...
This matches how the WebRTC javascript API works and the Chrome implementation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1425 >
2020-10-06 16:49:08 -04:00
Olivier Crête
39723dbe93
webrtcbin: Remove unused function
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1425 >
2020-10-06 16:49:08 -04:00
Olivier Crête
d1da271f25
rtptransceiver: Store the SSRC of the current stream
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1425 >
2020-10-06 16:49:08 -04:00
Olivier Crête
f54d8e9945
webrtc: Save the media kind in the transceiver
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1425 >
2020-10-06 16:49:08 -04:00
Jan Alexander Steffens (heftig)
92dc2f4192
srt: Remove unused sa_family tracking
...
Now that SRT no longer needs the family when creating the socket, this
code has become useless.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1659 >
2020-10-06 13:56:32 +02:00
Niklas Hambüchen
13c8bda531
srt: Move off deprecated srt_socket()
.
...
See 73ee1e1a3e/docs/API-functions.md (srt_socket)
`srt_create_socket()` was added in
4b897ba92d
and srt `v1.3.0` is the first release that has it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1659 >
2020-10-06 13:56:32 +02:00
Jan Alexander Steffens (heftig)
4e26b447f6
srt: Register a log handler
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1659 >
2020-10-06 12:39:04 +02:00
Jan Alexander Steffens (heftig)
936f422764
srt: Avoid removing invalid sockets from the polls
...
This would provoke error messages from SRT.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1659 >
2020-10-06 12:39:00 +02:00
Jan Alexander Steffens (heftig)
fda4cfd15e
srt: Fix use of srt_startup
...
`srt_startup` can also return 1 if it was successful. Avoid warning in
this case.
Avoid a race when checking whether we need to call it at all.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1659 >
2020-10-06 12:38:57 +02:00
Jan Alexander Steffens (heftig)
6b8c4a5f34
srt: Fix parameter types used for socket options
...
The [SRT documentation][1] specifies exact types for the socket options.
Make sure we match these.
This reverts the linger workaround in commit 84f8dbd932
and extends srt_constant_params to support other types than int.
[1]: https://github.com/Haivision/srt/blob/master/docs/APISocketOptions.md
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1659 >
2020-10-06 12:36:40 +02:00
Lars Lundqvist
9ded00bcf0
curlbasesink: Add curl seek callback
...
Adding functionality to handle SEEK_SET enables rewinding of sent data.
In the HTTP case, this happens after an HTTP 401 has been received from
the other end. This will result in the sent data being resent.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1616 >
2020-10-01 10:40:14 +00:00
Matthew Waters
b003387526
wpesrc: fix some caps leaks using the non-GL output
...
Always chain up to the parent _stop() implementation as it unrefs some
caps (among other things).
Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1409
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1618 >
2020-09-30 12:10:44 +00:00
Hosang Lee
f7a8ece5ef
smoothstreaming: clear live adapter on seek
...
In live streaming, buffers sent by souphttpsrc are pushed to the live
adapter. The buffers in the adapter are sent out of mssdemux when it
is greater than 4096 bytes.
Occasionally, when seeking in live streams, if seek occurs just
after the last data chunk was received, and if this data chunk is
smaller than 4096 bytes, it will be kept in the live adapter.
This remaining data in the live adapter will be erroneously prepended
to the new data that is downloaded after seek and pushed out.
When qtdemux receives this data, since it does not start with
a moof box, it is impossible to demux the fragment, and bogus
size error will occur.
Clear out the live adapter on seek so that no unnecessary remaining
data is pushed out together with the new fragment after seeking.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1345 >
2020-09-30 11:48:02 +00:00
Ederson de Souza
8335039ecd
tests/avtp: Fix coverity issues
...
Fixes sign extension issues, unchecked return values and some constant
expression results.
CID: 1465073, 1465074, 1465075, 1465076, 1465077
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1398 >
2020-09-28 18:40:43 +00:00
Ederson de Souza
38d3360edb
avtp: Change "%lu" for G_GUINT64_FORMAT
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1398 >
2020-09-28 18:40:43 +00:00
raghavendra
84f8dbd932
srtobject: typecast SRTO_LINGER to linger
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1615 >
2020-09-25 22:00:26 +05:30
Philippe Normand
2e8927ce93
wpe: Plug event leak
...
Handled events don't go through the default pad event handler, so they need to
be unreffed in this case.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1568 >
2020-09-21 16:39:57 +00:00
Jan Schmidt
6fc7455881
wpesrc: Don't crash if WPE doesn't generate a buffer.
...
On creating a 2nd wpesrc in a new pipeline in an app that already
has a runnig wpesrc, WPE sometimes doesn't return a buffer on request,
leading to a crash. This commit fixes the crash, but not the underlying
failure - a 2nd wpesrc can still error out instead.
Partially fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1386
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1568 >
2020-09-21 16:39:57 +00:00
Philippe Normand
c3659cd611
wpe: Plug SHM buffer leaks
...
Fixes #1409
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1568 >
2020-09-21 16:39:57 +00:00
Philippe Normand
8ef30a9ce5
wpe: Move webview load waiting to WPEView
...
As waiting for the load to be finished is specific to the WebView, it should be
done from our WPEView, not from the WPEContextThread. This fixes issues where
multiple wpesrc elements are created in sequence. Without this patch the first
view might receive erroneous buffer notifications.
Fixes #1386
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1568 >
2020-09-21 16:39:57 +00:00
Philippe Normand
b707454a5a
wpe: Use proper callback for TLS errors signal handling
...
The load-failed and load-failed-with-tls-errors signals expect distinct callback
signatures.
Fixes #1388
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1566 >
2020-09-21 14:11:15 +00:00
Olivier Crête
825a79f01f
webrtcbin: Accept end-of-candidate pass it to libnice
...
libnice now supports the concept of end-of-candidate, so use the API
for it. This also means that if you don't do that, the webrtcbin will
never declared the connection as failed.
This requires bumping the dependency to libnice 0.1.16
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1139 >
2020-09-18 18:40:58 -04:00
Olivier Crête
63f06d16db
webrtcbin: Merge the RTX SSRCs from all transceivers when bundling
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1545 >
2020-09-18 14:20:03 +00:00
Marian Cichy
c145798876
avtp: avtpaafdepay: fix crash when building caps
...
gst_caps_new_simple gets wrong types for rate and channel which
may lead to a crash.
As 64-bit values for rate, depth, format, channels does not
make much sense and since any other functionality in gstreamer
expects G_TYPE_INT for channels and rate, we should stick to that
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1576 >
2020-09-17 08:32:07 +00:00
Emmanuel Gil Peyrot
f97b718b4c
waylandsink: Use memfd_create() when available
...
This (so-far) Linux- and FreeBSD-only API lets users create file
descriptors purely in memory, without any backing file on the filesystem
and the race condition which could ensue when unlink()ing it.
It also allows seals to be placed on the file, ensuring to every other
process that we won’t be allowed to shrink the contents, potentially
causing a SIGBUS when they try reading it.
This patch is best viewed with the -w option of git log -p.
It is an almost exact copy of Wayland commit
6908c8c85a2e33e5654f64a55cd4f847bf385cae, see
https://gitlab.freedesktop.org/wayland/wayland/merge_requests/4
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1577 >
2020-09-15 19:17:12 +00:00