819 Commits

Author SHA1 Message Date
Doug Nazar
2f11f7e434 curlhttpsrc: Free various props before set & during cleanup
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8648>
2025-03-27 09:03:18 +00:00
Doug Nazar
5f90a4ae67 all: Annotate *_set_property() contructor only props without free
Properties that are marked constructor only aren't required to be freed
before g_value_dup_string() as they can only be called once during construction.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8648>
2025-03-27 09:03:18 +00:00
Sebastian Dröge
fbdd1aa800 dashsink: Make sure to use a non-NULL pad name when requesting a pad from splitmuxsink
If the caller passed in "audio_%u" instead of a concrete pad name into
gst_element_request_pad_simple() then the pad name will be NULL. In that case
use the pad template name for requesting the pad from splitmuxsink.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8697>
2025-03-27 02:36:30 +00:00
Seungha Yang
2cf19176dc codecccinserter: Fix event double free
Need to steal GstVideoCodecFrame.events before unref

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8673>
2025-03-26 19:05:21 +00:00
Seungha Yang
9254c8bd41 h265ccinserter: Fix broken SPS/PPS link
Apply the same h265decoder change to h265ccinserter

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8673>
2025-03-26 19:05:21 +00:00
Eric
4e4f8b7a79 webrtc: fix hangup when duplicate sctp association IDs chosen
Fixes an issue where the webrtcbin would hangup when finalizing due
to the sctpenc hanging up when finalizing. This occurred when the
webrtcbin chose to use a sctp association ID already in use.

The sctpenc would fail to reach the paused state, but startup a task
anyways that was never stopped.

This commit modifies the behavior to not choose sctp association IDs
randomly, and instead only choose one that is free. It also prevents the
sctpenc from starting up that task if it fails to reach the paused state.

Fixes: #4188
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8607>
2025-03-25 23:07:51 +00:00
Víctor Manuel Jáquez Leal
6cf03e31bc vulkan: fix memory leak at dynamic registering
Also it cleans up a bit the code.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8639>
2025-03-14 17:13:29 +00:00
Thibault Saunier
ed693c7435 video: Give better names to buffer pools
Making debugging simpler

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8617>
2025-03-12 14:49:22 +00:00
Seungha Yang
dba3bdd0cf h264ccextractor,h265ccextractor: Do not resend caps per output buffer
Send caps event only when it's required

Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4281
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8596>
2025-03-06 16:24:44 +00:00
Pablo García
af148bb746 curl: replace #if with #ifdef (part 2)
Continuation of 47d1262402c81a9054e618052deeff7414b4f75d, that is not enough.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8595>
2025-03-06 13:44:33 +00:00
Matthew Waters
156b05d52b vulkan: plugin: add debug for why an instance fails to open
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8554>
2025-03-06 12:14:20 +00:00
Pablo García
3e8fbc1203 curl: replace #if with #ifdef
Using #if instead of #ifdef was causing some issues when cross-compiling, like:

        ../ext/curl/gstcurlsmtpsink.c:54:5: error: "HAVE_SYS_SOCKET_H" is not
        defined, evaluates to 0 [-Werror=undef]
        54 | #if HAVE_SYS_SOCKET_H

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8589>
2025-03-05 15:13:43 +01:00
Pablo García
4640650ff5 curl: remove unnecesary reference to unistd.h
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8589>
2025-03-05 15:13:35 +01:00
Christopher Degawa
6bdfaa4606 svtav1enc: update to use SVT-AV1 3.0.0 API changes
Signed-off-by: Christopher Degawa <ccom@randomderp.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8539>
2025-03-05 13:18:26 +00:00
Branko Subasic
f37b820060 voamrwbenc: Do not install anything unless dependency found
If the dependency for the plugin is not found then nothing should be
installed, neither the element nor documentation.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8586>
2025-03-05 10:48:40 +00:00
Nirbheek Chauhan
e2e6daf362 meson: Replace disabler dependencies with not-found dependencies
If a plugin gets disabled due to a `disabler()` dependency, the plugin
docs build itself will get disabled because `all_plugins_paths` will
become a disabler.

This was actually happening with opencv on systems that don't have
opencv available, and could happen with libsoup too if the build files
change in the future.

Let's avoid wasting hours of debugging for people. A not-found
dependency has the same effect.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8582>
2025-03-04 17:38:30 +00:00
Stéphane Cerveau
1492b282dc dashsink: use gst_dash_sink_reset
To be able to use the properties properly,
the element should be reset by gst_dash_sink_reset
during the state change from READY_PAUSED and PAUSED_READY.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7916>
2025-03-03 12:19:09 +01:00
Stéphane Cerveau
c9dd3fbc8f dashsink: send element message on event
On new mpd update and new segment written, send
an element message to signal the event.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7916>
2025-03-03 12:19:09 +01:00
Stéphane Cerveau
a7a3a80344 dashsink: cleanup the teardown process
The stream was keeping a reference to the sink, preventing
it to be removed properly by the pipleline bin.
Clean up and simplify the code to get the stream from the pad.
Add more mutex protection against add/remove requested pad.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7916>
2025-03-03 12:19:09 +01:00
Denis Yuji Shimizu
51a3ef55c9 analytics: objectdetectionoverlay: improve event handling
This change ensures that the `GST_EVENT_EOS`,
`GST_EVENT_FLUSH_START` and `GST_EVENT_FLUSH_STOP`
events are forwarded to the sink downstream.
The logging message for `GST_EVENT_FLUSH_START`
has also been fixed.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8576>
2025-03-01 10:47:33 +00:00
Dongyun Seo
e778791b90 pitch: fix build error
fix build error due to sound integer sample caps

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8570>
2025-02-28 13:49:11 +00:00
Olivier Crête
0e9d6f7e42 avtpsrc: Use GSocket to have cancellable wait
Otherwise it would block forever when there is no sender.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8550>
2025-02-27 21:37:51 +00:00
Roberto Viola
2e8b542145 dashsink: fix period duration in dynamic MPD
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8531>
2025-02-25 12:33:39 +00:00
Seungha Yang
89c0dc80e5 closedcaption: Add h265ccinserter element
Adding new element for inserting closed caption SEI to H.265 stream

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8496>
2025-02-21 15:00:01 +00:00
Seungha Yang
6a711ede04 closedcaption: Add h264ccinserter element
Adding new element for inserting closed caption SEI to H.264 stream

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8496>
2025-02-21 15:00:01 +00:00
Matthew Waters
9f7fe58054 vkupload: don't require that input memory count matches output memory count
It can very easily not. e.g.

videotestsrc ! video/x-raw,format=NV12 ! identity drop-allocation=true ! \
    vulkanupload ! vulkancolorconvert ! vulkansink

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8530>
2025-02-21 17:22:15 +11:00
Seungha Yang
9baff8e4e0 closedcaption: Add h265ccextractor element
This element will collect closed caption meta from H.265 stream
and output caption buffers in display order

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8500>
2025-02-19 11:10:30 +00:00
Seungha Yang
98e1db8f31 h264ccextractor: Port to GstVecDeque
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8500>
2025-02-19 11:10:30 +00:00
Stéphane Cerveau
7ef98ba41d vulkan: register always vulkansink elements
vulkansink elements were enabled only if
the video extensions were present which
is breaking backward compatibility such as Android
or ios.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8488>
2025-02-17 12:00:17 +00:00
Tim-Philipp Müller
5751a33997 srtp: require libsrtp2, drop support for libsrtp1
Even old old debian stable from 2019 ships with a
recent-enough libsrtp2 version.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8205>
2025-02-17 10:49:59 +00:00
Seungha Yang
008ffd8f00 cccombiner: Fix critical warnings
gst_buffer_add_video_caption_meta: assertion 'data != NULL' failed

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8486>
2025-02-16 16:44:22 +00:00
Tim-Philipp Müller
b41d5c733d svtjpegxsenc: fix copy'n'paste error in property registration
Doesn't change anything in practice because the default value
was set correctly in the instance init function.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8485>
2025-02-15 15:44:14 +00:00
Arun Raghavan
5ffa6902c3 onnx: Allow generic well-known names for tensors
This allows us to use the upstream version of the ssd_mobilenet model[1], and
starts setting us up to allow some tensor names by convention if we want to add
more decoders.

[1] https://github.com/onnx/models/tree/main/validated/vision/object_detection_segmentation/ssd-mobilenetv1

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8117>
2025-02-14 15:42:52 +00:00
Seungha Yang
54a0ad7161 closedcaption: Add closed caption extractor element for H.264 stream
Adding new h264ccextractor element. This element will extract
closed caption meta from H.264 stream, and output in display order.
For the frame reordering, this element is implemented as a subclass
of h264decoder but without actual frame decoding.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6580>
2025-02-14 13:43:01 +00:00
Seungha Yang
cc6336c222 cccombiner: Fix wrong caps and buffer ordering
If there's queued video buffer, forwards new caps event once
the queued video buffer is drained.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8473>
2025-02-13 21:15:15 +00:00
Alexander Slobodeniuk
87973ca3a9 wpebusmsgforwarder: fix missing GObject vtable chainups
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8452>
2025-02-11 22:49:06 +01:00
Alexander Slobodeniuk
f14cb6d704 baseqroverlay: fix missing GObject vtable chainups
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8452>
2025-02-11 22:49:06 +01:00
Alexander Slobodeniuk
b4d0427ffb codec2json: fix missing GObject vtable chainups
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8452>
2025-02-11 22:49:06 +01:00
Daniel Morin
0a562a92d7 srtsink: filter stream-config already sent
- Only sent buffer with GST_BUFFER_FLAG_HEADER if this buffer is not present in
  the streamheader

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8373>
2025-02-10 18:45:01 +00:00
Stéphane Cerveau
6989938dd8 vksink: allow multiple device registration
As for decoders, the plugin can register multiple
device present on the system.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7011>
2025-02-10 16:13:20 +00:00
Stéphane Cerveau
3e62435755 vkh26xdec: register multiple elements
Register the multiple devices available on the system in
separate features in the registry for the vulkan decoders.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7011>
2025-02-10 16:13:20 +00:00
Nirbheek Chauhan
73da2edbba opencv: Fix hand detect profile paths
This is the same mechanism used by facedetect

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8403>
2025-02-09 14:25:32 +00:00
Kévin Commaille
9aeaea29f5 zbar: allow to get symbol as bytes
It would be possible to get some binary symbols with a string, but if
they contain NUL bytes, the string will be cut off. To fix this,
provide the decoded symbol as a GBytes too.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4688>
2025-02-07 20:53:50 +00:00
Kévin Commaille
fcd2e61330 zbar: allow to enable binary mode
Added in zbar 0.23.1, it is a mode that prevents zbar from trying to
convert the binary data of QR codes to text by guessing the encoding.

Add a property that changes the configuration of the zbar image scanner
accordingly.

<https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4688>

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4688>
2025-02-07 20:53:50 +00:00
Nirbheek Chauhan
bbdf8f5996 meson: Modernize opencv build definitions
Use the fs module instead of using `run_command('test')`, simplify
some indentation, fix dependency management

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8418>
2025-02-07 02:32:03 +00:00
Seungha Yang
5dd695f81f docs: Add nvdswrapper docs
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8425>
2025-02-06 17:48:47 +00:00
Philippe Normand
1baa10ed07 wpe: Reduce gpointer usage in ThreadedView
Those gpointers were introduced when we had to support some old WPE API, no need
for them anymore.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8413>
2025-02-06 17:00:39 +00:00
Nicolas Dufresne
7edb6a5634 waylandsink: Prefer DMABuf over system memory
Swap the template and caps query around to that the sink can describe a
preference for DMAbuf over system memory.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8404>
2025-02-05 18:57:29 -05:00
Sebastian Dröge
a1c123d342 cc708overlay: Deprecate element in favour of cea708overlay
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3459

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8397>
2025-02-03 09:51:53 +00:00
Colin Kinloch
e0e7a11089 wayland: De-dupe filling caps format fields
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8268>
2025-01-29 21:04:16 +00:00