Sebastian Dröge
02115a5efc
rtpmanager: Move some duplicated constant and helper function to a single place
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2132 >
2022-04-20 14:40:25 +00:00
Sebastian Dröge
c7e12974ba
rtpbin/rtpjitterbuffer: Don't parse RTCP SRs twice unless needed
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2132 >
2022-04-20 14:40:25 +00:00
Sebastian Dröge
82169aa140
rtpjitterbuffer: Add property to throttle handling of RTCP SR / NTP-64 syncing
...
This proxies the "rtcp-sync-interval" property of rtpbin.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2132 >
2022-04-20 14:40:25 +00:00
Sebastian Dröge
ce38614e1a
rtpsession: Handle RTCP-SR-REQ (RFC6051) RTCP feedback message
...
This causes an RTCP SR to be sent at the earliest possible time.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2132 >
2022-04-20 14:40:25 +00:00
Sebastian Dröge
0c819d2f31
rtpbin/rtpjitterbuffer: Allow syncing to an SR without CNAME if the CNAME is already known
...
The RTCP SR packet might be without SDES in case of a reduced-size RTCP
packet. For syncing purposes the CNAME is needed but it might be known
already from an earlier RTCP packet or out of band, via the SDP for
example.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2132 >
2022-04-20 14:40:25 +00:00
Sebastian Dröge
cbaac3cdba
rtpbin/jitterbuffer: Use inband 64-bit NTP timestamps according to RFC6051 for faster synchronization
...
When signalled via the caps that the header extension is used, it will
be read and used in the same way as the RTP/NTP time mapping from RTCP
SRs.
If the CNAME of the stream's SSRC is provided out of band via e.g. the
SDP then this allows streams to be synchronized immediately on the first
packet instead of having to wait for the first RTCP SR to arrive.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/383
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2132 >
2022-04-20 14:40:25 +00:00
Sebastian Dröge
7c796b3c05
rtpsession: Only add send latency to the running time if it is actually known
...
Otherwise we can't know the running time yet if rtcp-sync-send-time is
set, and have to wait until the latency is known later.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2132 >
2022-04-20 14:40:25 +00:00
Sebastian Dröge
7ffc830959
rtpsession: Update 64-bit NTP header extensions with the actual NTP time in senders
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2132 >
2022-04-20 14:40:25 +00:00
Sebastian Dröge
8980c35efe
rtpmanager: Add header extension implementation for the 64-bit RFC6051 NTP header extension
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2132 >
2022-04-20 14:40:25 +00:00
Xavier Claessens
e950095867
Always define ENABLE_NLS
...
GLib guarantees libintl API is always available, provided by
proxy-libintl as last resort. GLib itself unconditionally define
ENABLE_NLS.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2028 >
2022-04-19 18:01:06 +00:00
Xavier Claessens
82ca0e291b
Delete unused i18n headers
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2028 >
2022-04-19 18:01:06 +00:00
Xavier Claessens
b99ecc78ca
Replace gst-i18n-*.h with gi18n-lib.h
...
GLib guarantees libintl is always present, using proxy-libintl as
last resort. There is no need to mock gettex API any more.
This fix static build on Windows because G_INTL_STATIC_COMPILATION must
be defined before including libintl.h, and glib does it for us as part
as including glib.h.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2028 >
2022-04-19 18:01:06 +00:00
Tim-Philipp Müller
0dd04764f7
tests: dash_mpd: fix linker issues with non-optimizing compilers
...
undefined reference to `download_request_take_buffer'
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2117#note_1344646
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2228 >
2022-04-19 10:35:30 +00:00
Ruben Gonzalez
70579285a8
gst_plugin_load_file: force plugin reload if diff filename
...
If a file includes a new version of a plugin that exits in the
registry, the output of gst-inspect is incorrect. The output has the
correct version but incorrect filename, and element description.
This seems to have also fixed some documentation issues.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1344 >
2022-04-19 14:26:08 +05:30
Edward Hervey
af78c16dd5
New HLS, DASH and MSS adaptive demuxer elements
...
This provides new HLS, DASH and MSS adaptive demuxer elements as a single plugin.
These elements offer many improvements over the legacy elements. They will only
work within a streams-aware context (`urisourcebin`, `uridecodebin3`,
`decodebin3`, `playbin3`, ...).
Stream selection and buffering is handled internally, this allows them to
directly manage the elementary streams and stream selection.
Authors:
* Edward Hervey <edward@centricular.com>
* Jan Schmidt <jan@centricular.com>
* Piotrek Brzeziński <piotr@centricular.com>
* Tim-Philipp Müller <tim@centricular.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2117 >
2022-04-18 14:11:23 +00:00
Hou Qi
8dcb8a28af
v4l2videodec: copy colorimetry values to output_state caps
...
This is to avoid transcoding negotiation fail between v4l2h265dec
and v4l2h264enc caused by colorimetry mismatch.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2192 >
2022-04-18 13:17:55 +00:00
Brad Hards
488b760e7e
tests: rename 'icles' subdir to be more descriptive
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2178 >
2022-04-14 11:57:11 +00:00
Havard Graff
71891e5647
qtdemux: fix leak of channel_mapping
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2179 >
2022-04-14 19:41:36 +09:00
Ming Qian
030d749019
doc: Update cache after NV12_8L128 and NV12_10BE_8L128 addition
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2158 >
2022-04-13 07:20:58 +00:00
Ming Qian
dce02a870e
v4l2: Add NV12_8L128 in gst_v4l2_object_get_caps_info
...
It should be included in
<https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1379 >
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2158 >
2022-04-13 07:20:58 +00:00
Ming Qian
6af66167d0
v4l2: Add a missed break
...
Fix a typo that miss a break in the switch statement
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2158 >
2022-04-13 07:20:58 +00:00
Robert Rosengren
e4a6521ac7
rtpbin: Fix division by zero when using ts-offset-smoothing-factor
...
avg_ts_offset may cause division by zero when calculating potential
overflow protection. This fix will avoid the division.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2151 >
2022-04-11 15:29:49 +02:00
Tristan Matthews
86f0f8b67f
rtpopusdepay: assume 2 channels if sprop-stereo is missing
...
Fixes #1064
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2125 >
2022-04-08 13:11:25 +00:00
Matthias Fuchs
42ec223f94
qmlglsrc: Fix deadlock when stopping
...
This fix makes sure that streaming thread stops waiting when the
qmlglsrc element transitions from playing to paused.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2115 >
2022-04-06 10:54:51 +00:00
Matthias Fuchs
af71adf315
qmlglsrc: Fix missing depth & stencil buffer
...
Qt Quick primitives which have some kind of alpha blending
(transparency, rounded corners) are z-sorted by Qt and rendered in the
correct order. For opaque primitives Qt relies on the OpenGL depth
buffer to correctly determine the visibility of stacked elements.
This change enables the depth buffer to make sure that opaque primitives
are correctly z-stacked.
https://doc.qt.io/qt-6/qtquick-visualcanvas-scenegraph-renderer.html#opaque-primitives
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2114 >
2022-04-06 09:18:16 +00:00
Sebastian Dröge
0813efc821
rtpstats: Remove non-existing twcc field docs from RTPPacketInfo and add missing field docs
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2121 >
2022-04-06 10:15:13 +03:00
Sebastian Dröge
46d7763879
rtpsession: Remove unused twcc fields from the struct
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2121 >
2022-04-06 10:15:13 +03:00
Xavier Claessens
a40634eebe
Use gmodule-no-export-2.0
...
We don't need `-Wl,--export-dynamic`, that's used only for executables
that needs to export an API to be used by plugins they load.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2031 >
2022-04-01 16:32:17 +00:00
Xavier Claessens
b004464ac6
Remove glib and gobject dependencies everywhere
...
They are part of gst_dep already and we have to make sure to always have
gst_dep. The order in dependencies matters, because it is also the order
in which Meson will set -I args. We want gstreamer's config.h to take
precedence over glib's private config.h when it's a subproject.
While at it, remove useless fallback args for gmodule/gio dependencies,
only gstreamer core needs it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2031 >
2022-04-01 16:32:17 +00:00
Thibault Saunier
b358897a3b
navigation: Rename parse_state to parse_modifier_state
...
`parse_state` sounds a bit weird and `parse_modifier_state` is clearer.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2087 >
2022-04-01 06:38:43 +00:00
Nirbheek Chauhan
b7086a368f
meson: Add some messages when selecting libsoup
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2032 >
2022-03-29 18:30:03 +00:00
Nirbheek Chauhan
54eff61f0f
soup: Fix usage of symbols / defines that are gone in libsoup3
...
I am not sure about the SOUP_MESSAGE_OVERWRITE_CHUNKS change, but it
was definitely already broken when using libsoup-3.0 in a shared
build. souphttpsrc probably needs to be ported from SoupMessage to
SoupServerMessage when using libsoup-3.0.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1111
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2032 >
2022-03-29 18:30:03 +00:00
Nirbheek Chauhan
6c910dc746
soup: Fix pre-processor macros in souploader for libsoup-3.0
...
Some of the preprocessor conditionals in the loader were very broken
with libsoup-3.0 + --default-library=static
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1111
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2032 >
2022-03-29 18:30:03 +00:00
Matthew Waters
5d76ddb466
osxcoreaudio: fix unused-but-set warning
...
../sys/osxaudio/gstosxcoreaudio.c:480:18: error: variable 'interleaved' set but not used [-Werror,-Wunused-but-set-variable]
gboolean sign, interleaved;
^
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2046 >
2022-03-28 10:30:23 +00:00
Sebastian Dröge
a4ea62ef5b
video-format: Move NV12_8L128 into the correct position in GST_VIDEO_FORMATS_ALL
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2045 >
2022-03-28 10:39:24 +03:00
Matthew Waters
8cdbfec5ed
deinterlace: silence unused-but-set werror from imported code
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2042 >
2022-03-28 03:00:58 +00:00
Matthew Waters
aa6c674dd8
osxvideosink: fix unused-but-set-variable warning
...
../sys/osxvideo/osxvideosink.m:859:11: error: variable 'data' set but not used [-Werror,-Wunused-but-set-variable]
guint8 *data, *readp, *writep;
^
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2040 >
2022-03-28 09:50:38 +11:00
Thibault Saunier
2db3ddaa9d
navigationtest: Add some support for modifiers
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2010 >
2022-03-25 15:16:03 +00:00
Thibault Saunier
25819c41fb
navigation: Add support for key Modifiers in all relevant events
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2010 >
2022-03-25 15:16:03 +00:00
Matthew Waters
c1a3f958e7
rtpptdemux: fix leak of caps when ignoring a pt
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2025 >
2022-03-25 05:44:36 +00:00
Vivienne Watermeier
ea2f686487
qt: Add touch event support
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1633 >
2022-03-23 13:14:52 +00:00
Vivienne Watermeier
59199a0131
gtk: Add touch event support
...
Add a handler for touch events to gtkbasewidget.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1633 >
2022-03-23 13:14:52 +00:00
Vivienne Watermeier
97bc8f193f
navigationtest: Display touchscreen events, log all events
...
Represents touchscreen events as a trail of black squares, one for each
reported position. Additionally, this adds the `display-mouse` and
`display-touch` properties to toggle visibility of mouse/touchscreen
events, since touchscreens often emulate mouse events, as well as
logging for all received navigation events.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1633 >
2022-03-23 13:14:52 +00:00
Vivienne Watermeier
6c2f6c3bd4
all: Use new navigation interface and API
...
Use and implement the new navigation interface in all relevant sink elements,
and use API functions everywhere instead of directy accessing the event structure.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1633 >
2022-03-23 13:14:52 +00:00
Stéphane Cerveau
1170ab3c29
wavparse: handle query in any parse state
...
In order to create the stream_id, we need to
pass the query to the default query handler.
If the parse state is different from GST_WAVPARSE_DATA
the query should be passed to the default query
handler.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1987 >
2022-03-22 16:25:35 +00:00
Jan Alexander Steffens (heftig)
074f7c2e4e
flvmux: Clean up aggregate's control flow
...
This unifies exits to go through a single out label. It mostly
simplifies how EOS is handled.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1035 >
2022-03-22 15:28:57 +00:00
Nicolas Dufresne
ebf63e1b91
doc: Update cache after NV12_8L128 addition
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1379 >
2022-03-22 00:41:39 +00:00
Ming Qian
2861bd9456
v4l2: Add NV12_8L128 and NV12_10BE_8L128
...
These formats are used by i.MX 8QXP/8QM VPU.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1379 >
2022-03-22 00:41:39 +00:00
Matthew Waters
206021e4d4
rtpmanager/rtx: implement initial support for reading/writing rid extensions
...
Two RTP Header extensions are very relevant for rtprtxsend/receive.
1. "urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id": will always be removed
2. "urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id": will be written
instead of the "rtp-stream-id" header extension.
Currently it's only a simple replacement of one header extension for
another however a future change would only add the relevant extension
based on some heuristics (like, video frames only on one of the rtp key
frame buffers, or only until the rtx ssrc has been validated by the peer)
in order to reduce the required bandwidth.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1759 >
2022-03-21 03:18:18 +00:00
Matthew Waters
33be3e5936
test: add tests for sdes-based RTP header extensions
...
mid, stream id and repaired stream id.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1759 >
2022-03-21 03:18:18 +00:00