Arun Raghavan
4cd63e09d9
webrtcdsp: Use C++20 with MSVC if needed
...
The subproject fails on vs2022 builds with:
[...]agc2/input_volume_stats_reporter.cc(89): error C7555: use of designated initializers requires at least '/std:c++20'
So let's force C++20 in this case.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8270 >
2025-01-26 12:30:01 -05:00
Arun Raghavan
9b647a0bbd
webrtcdsp: Bump to WebRTC AudioProcessing 2.1
...
Keep 1.0 support around so distros can manage this bump more easily.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8270 >
2025-01-24 15:53:36 -05:00
Guillaume Desmottes
0e3d6f0606
wpe: remove glFlush() when filling buffer
...
According to https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4162#note_2739338
it was introduced as workaround for tearing issues.
I do not experience any tearing without flushing on both nvidia and AMD
GPU, so I suppose it's no longer needed.
Slightly improve CPU usage according to my tests.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8348 >
2025-01-23 14:45:57 +00:00
Seungha Yang
06afe8aa8f
docs: Add nvcomp plugin docs
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8325 >
2025-01-20 19:31:36 +00:00
Sam James
c7a7eb1eb3
lc3: tweak meson style
...
While this might seem a bit silly, it aids some of our infra in
packaging. Tweak for consistency with other use.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8239 >
2025-01-16 20:09:06 +00:00
Stéphane Cerveau
ee7d41f76b
vkh264dec: enhance interlaced content support
...
- Use frame_num instead of pic_num to set the long_term_pic_num
fixing 10 interlaced tests in fluster test suite: JVT-AVC_V1
- Send the slice offset only once in case of interlaced content.
Fixing 5 interlaced tests in fluster test suite: JVT-AVC_V1.
- The default value for top and bottom field flag should be 0 in the
case of a progressive content.
- Use short and long term refs helper getter method to retrieve the
reference frames according its none existing and interlaced state
- Reorganize the find_next_slot_idx code to be easier to read.
Co-authored-by: Daniel Almeida <daniel.almeida@collabora.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7854 >
2025-01-16 19:18:22 +00:00
Víctor Manuel Jáquez Leal
3090cefbc5
vkh264dec: enable h264 interlaced decoding
...
First the slot_index shall have the same value for the first and second
fields.
Also, the reference frames are only those with both fields.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7854 >
2025-01-16 19:18:22 +00:00
Víctor Manuel Jáquez Leal
f5f20ce85e
vkh264dec: make GstVulkanH264Picture a reference count
...
Thus we could re-use the same structure for interlaced fields: a single bistream,
single output buffer and single vulkan structures.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7854 >
2025-01-16 19:18:21 +00:00
Stéphane Cerveau
c38a847fe1
vkh264dec: non existing picture are not refs
...
The non existing picture or gap picture should not be
considered as refs for vulkan decoder.
Fix fluster tests:
MR3_TANDBERG_B
MR4_TANDBERG_C
MR5_TANDBERG_C
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7854 >
2025-01-16 19:18:21 +00:00
Stéphane Cerveau
538747907d
vkh264dec: support h264 extended profile
...
Extended is identical to main but allows FMO/ASO features to be used,
and prevent using CABAC.
Using similar logic to "baseline", assume that if we support main,
we can also do extended.
This fixes the following fluster vectors, which otherwise would fail when trying to link the parsebin pad.
BA3_SVA_C
MR6_BT_B
MR7_BT_B
MR8_BT_B
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7854 >
2025-01-16 19:18:21 +00:00
Tim-Philipp Müller
dba15a43c7
docs: add openaptx plugin
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8295 >
2025-01-13 19:26:26 +00:00
Mathieu Duponchelle
3de86b2b97
docs: port plugins to explicit sources
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8273 >
2025-01-13 19:17:13 +01:00
Edward Hervey
eef680b441
bad: Add extra warning flags
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229 >
2025-01-13 12:51:46 +00:00
Edward Hervey
29217ca3f7
openni2: Ignore undef in external header
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229 >
2025-01-13 12:51:46 +00:00
Edward Hervey
ad79fbd744
x265: Ignore undef in external headers
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229 >
2025-01-13 12:51:46 +00:00
Edward Hervey
074aaafa33
spandsp: Ignore undef issue in external headers
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229 >
2025-01-13 12:51:46 +00:00
Edward Hervey
e68f99688f
sctp: Convert function to avoid aggregate return
...
It's only used locally and only to fill an existing variable
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229 >
2025-01-13 12:51:46 +00:00
Edward Hervey
4fd29bd8f3
resindvd: Fix definition
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229 >
2025-01-13 12:51:46 +00:00
Edward Hervey
6b102baaa3
curl: Fix definitions
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229 >
2025-01-13 12:51:46 +00:00
Edward Hervey
5bbb14ff7a
wpeaudiosink: Check error value explicitly
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229 >
2025-01-13 12:51:46 +00:00
Edward Hervey
3d62f5b57b
dfbvideosink: Rework escape handling
...
Detected by a fallthrough.
* Just use if/else for clarity
* Remove 2002 fart joke
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229 >
2025-01-13 12:51:46 +00:00
Edward Hervey
1221a09a5d
closedcaption: Use proper type for storing result
...
drop_ccp_from_cc_data() will return a negative value if there was an
error. Storing that in an unsigned value will cause the checks for errors to
never happen.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229 >
2025-01-13 12:51:45 +00:00
Edward Hervey
524bea241d
cea708decoder: Remove useless checks
...
No need to check for the type limits
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229 >
2025-01-13 12:51:45 +00:00
Edward Hervey
3e83d7d0bc
isacdec: Remove impossible check
...
WebRtcIsac_DecodePlc() never returns a negative value (confirmed by
documentation and current/historical code)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229 >
2025-01-13 12:51:45 +00:00
Edward Hervey
d6eebeafbf
sctpdec: Remove useless check
...
A uint16 will always be below ... the maximum value
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229 >
2025-01-13 12:51:45 +00:00
Edward Hervey
21d81d25ec
bad: Clearly specify fallthrough in switch/case
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229 >
2025-01-13 12:51:45 +00:00
Carlos Bentzen
b83b73841d
webrtc: fix duplicate payload types with RTX and multiple video codecs
...
Before this patch, there could be duplicate payload types in offers that
have, within a media section, multiple codecs and RTX enabled:
```
m=video 9 UDP/TLS/RTP/SAVPF 96 97 97 <-- HAS DUPLICATES
a=sendrecv
a=rtpmap:96 VP8/90000
a=rtcp-fb:96 nack
a=rtcp-fb:96 nack pli
a=rtcp-fb:96 ccm fir
a=rtcp-fb:96 transport-cc
a=rtpmap:97 H264/90000
a=rtcp-fb:97 nack
a=rtcp-fb:97 nack pli
a=rtcp-fb:97 ccm fir
a=rtcp-fb:97 transport-cc
a=rtpmap:97 rtx/90000 <--------- PT IS DUPLICATE
a=fmtp:97 apt=96
```
Fix this by populating the media_mapping array with all media formats
rather than only the first one. The added test case reproduces the issue,
which fails without this patch.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8259 >
2025-01-13 10:11:59 +00:00
Philippe Normand
14f6d9a53f
wpevideosrc: Clear cached SHM buffers after caps re-negotiation
...
Otherwise buffers not corresponding to the negotiated caps might be pushed
downstream.
Fixes #4094
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8212 >
2025-01-09 10:37:49 +00:00
Philippe Normand
0f667d140d
wpevideosrc: Post progress messages on the bus
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8217 >
2025-01-09 07:49:51 +00:00
Philippe Normand
e908d22c44
wpevideosrc: Handle latency queries
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8217 >
2025-01-09 07:49:51 +00:00
Olivier Crête
33259e7ea4
analytics: Tensor dimensions are always row-major or col-major
...
Simplify by removing the extra fields, as this is what all
frameworks give us.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8250 >
2025-01-08 21:47:52 +00:00
Tim-Philipp Müller
0cb829c589
svtjpegxsenc: add support for interlaced video
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8219 >
2025-01-08 19:48:31 +00:00
Tim-Philipp Müller
661c31f0bf
svtjpegxsenc: factor out encoding of codestream into separate function
...
Prepare for interlacing support where an interlaced image
is coded as two codestreams each representing a field.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8219 >
2025-01-08 19:48:31 +00:00
Tim-Philipp Müller
306200e10e
svtjpegxsdec: add support for interlaced video
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8219 >
2025-01-08 19:48:31 +00:00
Tim-Philipp Müller
71aacec532
svtjpegxsdec: drop frames that had decoding errors
...
Follow-up to !8163
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8219 >
2025-01-08 19:48:30 +00:00
Tim-Philipp Müller
a589575bd8
svtjpegxsdec: factor out decoding of codestream into separate function
...
Prepare for interlacing support where an interlaced image
is coded as two codestreams each representing a field.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8219 >
2025-01-08 19:48:30 +00:00
Stéphane Cerveau
570c086254
vkh265dec: update only vps/sps on demand and pass pps always
...
As PPS can change over the stream, the pps should be always
updated to avoid missing picture parameters sets.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8124 >
2025-01-08 18:50:33 +00:00
Stéphane Cerveau
73c4eb3001
vkh264dec: update only sps on demand and pass pps always
...
As PPS can change over the stream, the pps should be always
updated to avoid missing picture parameters sets.
See CABA3_TOSHIBA_E.264 in fluster resources.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8124 >
2025-01-08 18:50:33 +00:00
Samuel Thibault
727424452a
meson: Fix build with gtk3 but not wayland
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8222 >
2025-01-08 07:53:36 +00:00
Daniel Morin
0a343fa738
analytics: remove batch-size
...
- Batch-size will be the outer-most dimension. Presence of batch dimension can
be identified using `dims` and `id`.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8191 >
2025-01-03 23:14:39 +00:00
Albert Sjolund
97a3bba629
webrtc: add new post-rtp-aux-sender signal
...
Adds a new signal to webrtcbin, to allow for placement
of an object after rtp, before sendbin. This is usable for
objects such as congestion control elements, that don't want
to be burdened by the synchronization requirements of rtpsession.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7940 >
2025-01-01 19:34:55 +00:00
Tim-Philipp Müller
a3cdfc06b5
srtpdec: fix build when libsrtp1 is being used
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8204 >
2024-12-23 21:38:35 +00:00
Philippe Normand
d4bfbdcfb4
wpe: Fix build for version 2.44
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8203 >
2024-12-23 18:54:28 +01:00
Philippe Normand
7152d5c07a
srtpdec: Fix a use-after-free buffer issue
...
The gst_srtp_dec_decode_buffer() function modifies the input buffer after making
it writable, so the pointer might change as well, depending on the refcount of
the buffer.
This issue was detected using a netsim element upstream of the decoder in a
WebRTC pipeline.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8198 >
2024-12-22 15:00:07 +01:00
Hosang Lee
228dd25a0a
mssdemux: Use gsturi structure to form fragment urls
...
We can use gst_uri_from_string_with_base () to join base url
and the fragment url path.
The previous method of forming base url in update_base_url(),
by looking for the string 'manifest' or 'Manifest' is insufficient.
A query may include these string in their paths and thus an invalid
base url string will be kept.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8193 >
2024-12-21 10:29:48 +00:00
Stéphane Cerveau
2a19805f7d
dash: handle 0 duration in gst_xml_helper_set_prop_duration
...
Add dash_mpdparser_check_mpd_client_set_period_to_0
unit test to demonstrate it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8114 >
2024-12-20 12:55:51 +00:00
Tim-Philipp Müller
f4733d0af7
svtjpegxsdec: handle decode errors more gracefully
...
Use GST_VIDEO_DECODER_ERROR instead of just erroring out
unconditionally, so that the error handling behaviour is
determined by the "max-errors" property and we'll just
continue after decoding errors now instead of erroring out.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8163 >
2024-12-19 15:47:13 +00:00
Guillaume Desmottes
219bf89159
wpe: enable console message with WPE2
...
Looks like the WebKitConsoleMessage API is now available in WPE2 as well:
https://webkitgtk.org/reference/webkitgtk-web-process-extension/stable/signal.WebPage.console-message-sent.html
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8169 >
2024-12-18 09:13:22 +00:00
Emil Ljungdahl
f28a7b6ef3
webrtcbin: Tear down src and sink bins before removing them from webrtc
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7900 >
2024-12-17 09:48:46 +00:00
Emil Ljungdahl
df8b8f9692
webrtcbin: Fix potential deadlock on bin elements cleanup
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7900 >
2024-12-17 09:48:46 +00:00