Edward Hervey
4e7f7871db
srt: Define options added in later revisions
...
Allows compiling the plugin against old headers.
For SRTO_BINDTODEVICE there's nothing we can do, since the value depends on
configuration options of the library. Nice.
Fixes build with libsrt < 1.4.2
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1945 >
2021-01-07 09:23:28 +01:00
Jakub Adam
6c35222973
srtobject: distinguish authentication error messages
...
Use GST_RESOURCE_ERROR_NOT_AUTHORIZED code in posted error messages
related to SRT authentication (e.g. incorrect or missing password) so
that the application can recognize them more easily.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1943 >
2021-01-06 23:35:20 +00:00
Jakub Adam
ef118f3d0a
srtobject: detect socket errors from srt_epoll_wait()
...
On an error event, epoll wait puts the failed socket in both readfds and
writefds. We can take advantage of this and avoid explicitly checking
socket state before every read or write attempt.
In addition, srt_getrejectreason() will give us more detailed
description of the connection failure.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1943 >
2021-01-06 23:35:20 +00:00
Olivier Crête
df8d29e9c3
webrtcbin: Remove remnant of non-rtcp-mux mode
...
There was some code left that wasn't used anymore.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1930 >
2021-01-06 23:02:37 +00:00
Jakub Adam
3c3e89304e
srtobject: make possible to specify more sockopts in SRT URI
...
Any socket option that can be passed to libsrt's srt-live-transmit
through SRT URI query string is now recognized.
Also make the code that applies options to SRT sockets more generic.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1842 >
2021-01-06 22:28:02 +00:00
Jakub Adam
5687b03438
srtsrc: fix typos
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1541 >
2021-01-06 19:21:14 +00:00
Jakub Adam
1e461b3166
srtsink: remove unused connection_mode variable
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1541 >
2021-01-06 19:21:14 +00:00
Jakub Adam
d540012091
srtobject: obey "wait-for-connection" in caller mode
...
The pipeline now gets stuck in gst_srt_object_write_one() until the
receiver comes online, which may or may not be desired based on the use
case.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1836 >
2021-01-06 18:55:37 +00:00
Jakub Adam
00e44e8ed7
srtobject: post a message on the bus when broken socket is detected
...
So that the application gets notified may react to it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1935 >
2021-01-05 16:50:01 +00:00
Raghavendra
08b1485862
srt: Add authentication to srtsink and srtsrc elements
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1725 >
2021-01-04 00:03:47 +05:30
Haihua Hu
a4a532c092
dashsink: fix critical log when exit dynamic pipeline
...
availability-start-time and publish-time shared the same
GstDateTime object, this object will be unref twice and
cause reference count issue. Should use g_value_dup_boxed()
to copy this object.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1928 >
2020-12-31 10:34:50 +08:00
Olivier Crête
51ef4557b5
webrtcstats: PLI/FIR/NACK direction are the opposite of the media
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1924 >
2020-12-29 15:07:03 -05:00
Sebastian Dröge
b258144c16
assrender: Don't try unlocking unlocked mutex
...
When flushing right at the beginning of the video chain function or
when failing negotiation at the top of the function, the assrender mutex
would be unlocked without being previously locked.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1918 >
2020-12-29 11:19:53 +00:00
Arun Raghavan
2a5d564de3
openaptx: Drop lib prefix from option name for consistency
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1876 >
2020-12-11 22:08:01 -05:00
Igor Kovalenko
b916522382
openaptx: add aptX and aptX-HD codecs using libopenaptx
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1871 >
2020-12-11 11:55:54 +03:00
Philippe Normand
3bcb876c29
wpe: Emit load-progress messages
...
The estimated-load-progress value can be used on application side to display a
progress bar for instance.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1710 >
2020-12-09 17:31:51 +00:00
Jan Alexander Steffens (heftig)
470e6989d2
srt: Don't take object lock calling gst_srt_object_get_stats
...
This function takes the sock lock. This can result in a deadlock when
another thread holding the sock lock is trying to take the object lock.
Thread A (Holds object lock, wants sock lock):
#2 gst_srt_object_get_stats at gst-plugins-bad/ext/srt/gstsrtobject.c:1753
#3 gst_srt_object_get_property_helper at gst-plugins-bad/ext/srt/gstsrtobject.c:409
#4 gst_srt_sink_get_property at gst-plugins-bad/ext/srt/gstsrtsink.c:95
#5 g_object_get_property from libgobject-2.0.so.0
Thread B (Holds sock lock, wants object lock):
#2 gst_element_post_message_default at gstreamer/gst/gstelement.c:2069
#3 gst_element_post_message at gstreamer/gst/gstelement.c:2123
#4 gst_element_message_full_with_details at gstreamer/gst/gstelement.c:2259
#5 gst_element_message_full at gstreamer/gst/gstelement.c:2298
#6 gst_srt_object_send_headers at gst-plugins-bad/ext/srt/gstsrtobject.c:1407
#7 gst_srt_object_send_headers at gst-plugins-bad/ext/srt/gstsrtobject.c:1444
#8 gst_srt_object_write_to_callers at gst-plugins-bad/ext/srt/gstsrtobject.c:1444
#9 gst_srt_object_write at gst-plugins-bad/ext/srt/gstsrtobject.c:1598
#10 gst_srt_sink_render at gst-plugins-bad/ext/srt/gstsrtsink.c:179
Fixes d2d00e07ac
.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1861 >
2020-12-07 17:59:09 +00:00
Sebastian Dröge
0243afcb9d
ccconverter: Add property to specify which sections to include in CDP packets
...
Various software, including ffmpeg's Decklink support, fails parsing CDP
packets that contain anything but CC data in the CDP packets.
Based on this property, timecodes are not written into the CDP packets
even if they're present.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1833 >
2020-12-07 19:23:42 +02:00
Sebastian Dröge
b6debae2c0
ccconverter: Refactor code to only retrieve the timecode meta once
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1833 >
2020-12-07 09:40:52 +00:00
Edward Hervey
d137171f03
opencv: Expose retinex parameters
...
Makes the plugin a tad more useful :)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1845 >
2020-12-03 17:04:07 +01:00
Edward Hervey
339ad46b93
hlsdemux: Use actual object for logging
...
i.e. the pad of the stream
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1853 >
2020-12-03 14:31:17 +00:00
Arun Raghavan
81abc4c825
curl: Remove incorrect GST_DEBUG_OBJECT() calls
...
klass is not a GstObject, and these debugs print should likely not be
around anyway.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1851 >
2020-12-03 13:31:38 +00:00
Thibault Saunier
f1cf5d0683
hlssink2: Mark as Muxer
...
The way it is usable by encodebin2. This is what splitmux does already.
2020-11-30 15:16:01 -03:00
Thibault Saunier
d608636327
qroverlay: Reuse the same OverlayComposition object when possible
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1829 >
2020-11-26 14:34:34 +00:00
Thibault Saunier
ad5f812c91
qroverlay: Rework basing it on overlaycomposition
...
The base class is now a bin which wraps the `overlaycomposition`
element and implements the `draw` signal.
This way we support all the video formats the GstVideoOverlayComposition
API supports and the blending code can be reused. It is also possible
to have the blending happen in the sinks now.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1829 >
2020-11-26 14:34:34 +00:00
Olivier Crête
a801018ef1
webrtc: Make ssrc map into separate data structures
...
They now contain a weak reference and that could be freed later
causing strange crashes as GWeakRef are not movable.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1766 >
2020-11-24 04:27:52 +00:00
Olivier Crête
1deb034e3d
webrtcstats: Get the remote-inbound stats from the right RTPSource
...
This also means that we need to get the clock-rate from the codec instead
of from the RTPSource, as the remote one doesn't include a clock rate.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1766 >
2020-11-24 04:27:52 +00:00
Olivier Crête
1c1661b54f
webrtcbin: Implement getting stats for a specific pad
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1766 >
2020-11-24 04:27:52 +00:00
Olivier Crête
23ea950351
webrtcstats: Also return the raw rtpsource stats for more information
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1766 >
2020-11-24 04:27:52 +00:00
Olivier Crête
b895240241
webrtcstats: Avoid copy of GstStructure
...
Instead transfer the ownership to the new structure
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1766 >
2020-11-24 04:27:52 +00:00
Olivier Crête
a46c6e3a97
webrtcstats: Remove receiver side when sending
...
Those are just invalid and just reflect what we sent. We'd need to parse the
RTCP XR packets from the other side to know more about those.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1766 >
2020-11-24 04:27:52 +00:00
Olivier Crête
ba0dfa52d2
webrtcstats: Extract statistics from the rtpjitterbuffer
...
And expose them as standardised webrtc statistics
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1766 >
2020-11-24 04:27:52 +00:00
Olivier Crête
fc0f6db856
webrtcbin: Store the rtpjitterbuffer instances to extract stats from them
...
Store them as web refs to avoid having to worry about freeing later and because
the new-jitterbuffer is on a different thread
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1766 >
2020-11-24 04:27:52 +00:00
Olivier Crête
d9d7814182
webrtcstats: Document all RTP missing fields according to the latest spec
...
Just document all the missing fields and document which ones will never
be implemented because they depend on the codec or depayloader
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1766 >
2020-11-24 04:27:52 +00:00
Olivier Crête
895ea210c2
webrtcstats: RTCP computed RTT is only available at sender
...
The receiver doesn't have the information to compute it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1766 >
2020-11-24 04:27:52 +00:00
Olivier Crête
a5c3331197
webrtcstats: Remove redundant lines
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1766 >
2020-11-24 04:27:52 +00:00
Olivier Crête
5d5417f271
webrtc: Remove non rtcp-mux code
...
RTCP mux is now always required by the WebRTC spec
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1765 >
2020-11-24 01:59:55 +00:00
Tim-Philipp Müller
470c79be61
qroverlay: unset executable flag on source files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1824 >
2020-11-20 13:24:24 +00:00
Tim-Philipp Müller
53947cad29
qroverlay: fix auto detection of json-glib for plugin
...
Only want to check for json-glib when libqrencode was found,
but also it shouldn't be required but depend on the option.
Fixes #1465
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1824 >
2020-11-20 13:22:48 +00:00
Olivier Crête
03d710bd40
openh264dec: Accept constrained-high and progressive-high profiles
...
They're just subsets of the high profile.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1634 >
2020-11-18 15:47:36 -05:00
Jan Schmidt
92472ef088
wpe: Don't crash when running on X11.
...
Don't assume the available EGL display is a wayland display -
instead, check the the GStreamer GL context is EGL, and then
use gst_gl_display_egl_from_gl_display to create a
GstGLDisplayEGL from that, which also adds refcounting
around the underlying EGLDisplay.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1385
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1752 >
2020-11-15 15:27:08 +00:00
Aaron Boxer
330b2c6b7c
openjpegenc: store stripe offset when encoding image
...
The decoder can simply read this offset after decoding
to know where to blit the stripe to the full frame
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1800 >
2020-11-12 13:53:47 +00:00
Aaron Boxer
af87da86e2
openjpegenc: take subsampling into account when calculating stripe height
...
We calculate minimum of (stripe height * sub sampling) across all components
to ensure that all component dimensions are consistent with sub-sampling.
The last stripe for each component is simply the remaining height.
limit wavelet resolutions for "thin" stripes
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1800 >
2020-11-12 13:53:47 +00:00
Stéphane Cerveau
4f6b609558
openjpegenc: fix memory leak from mstream
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1800 >
2020-11-12 13:53:47 +00:00
Aaron Boxer
7463e1090c
openjpegenc: fail negotation in handle_frame if alignment mismatch
...
If encoder is in stripe mode, then downstream must also support stripe
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1800 >
2020-11-12 13:53:47 +00:00
Edward Hervey
dd425fe0fd
adaptivedemux: Store QoS values on the element
...
Storing it per-stream requires taking the manifest lock which can apparenly be
hold for aeons. And since the QoS event comes from the video rendering thread
we *really* do not want to do that.
Storing it as-is in the element is fine, the important part is knowing the
earliest time downstream.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1021 >
2020-11-11 20:18:11 +00:00
Edward Hervey
a4b20ed276
hlsdemux: Don't double-free variant streams on errors
...
If an error happened switching to a new variant, we switch back to the previous
one ... except it will be unreffed when settin git.
In order to avoid such issues, keep a reference to the old variant until we're
sure we don't need it anymore
Fixes cases of double-free on variants and its contents
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1799 >
2020-11-11 19:19:28 +00:00
Sanchayan Maity
a576814553
ext: Add LDAC encoder
...
LDAC is an audio coding technology developed by Sony that enables the
transmission of High-Resolution (Hi-Res) audio contents over Bluetooth.
Currently Adaptive Bit Rate (ABR) as supported by libldac encoder is not
implemented.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1621 >
2020-11-11 22:16:43 +05:30
Raul Tambre
6d300ce785
webrtc: Update libnice version requirement to 0.1.17
...
Since !1366 nice_agent_get_sockets() is used, which requires 0.1.17.
Update the version requirement accordingly.
Fixes #1459 .
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1792 >
2020-11-11 13:41:59 +02:00
Edward Hervey
1246b448ee
hlsdemux: Re-use streams if possible
...
When switching variants, try to re-use existing streams/pads instead of creating
new ones. When dealing with urisourcebin and decodebin3 this is not only the
expected way but also avoids a lot of buffering/hang issues.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1757 >
2020-11-11 04:06:05 +00:00