Commit graph

8748 commits

Author SHA1 Message Date
Tim-Philipp Müller
44b99e0337 lame: update to v3.100-9
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8490>
2025-02-17 06:30:17 +00:00
Tim-Philipp Müller
ad189fd22a libjpeg-turbo: update wrap to v3.1.0
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8490>
2025-02-17 06:30:17 +00:00
Tim-Philipp Müller
e27ba4abb2 libpng: update wrap to v1.6.46
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8490>
2025-02-17 06:30:17 +00:00
Tim-Philipp Müller
09ee07c7d0 zlib: update wrap to v1.3.1
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8490>
2025-02-17 06:30:17 +00:00
Tim-Philipp Müller
4674d95529 ogg: update wrap to v1.3.5-6
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8490>
2025-02-17 06:30:17 +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
Sebastian Dröge
ad66d338dd play: Fix annotations of parse_missing_plugins() API
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8487>
2025-02-16 17:11:32 +02:00
Tim-Philipp Müller
4c13d1453f gst-libav: update docs for hap codec addition and other changes
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7717>
2025-02-15 21:25:05 +00:00
Tim-Philipp Müller
c9062375e9 pbutils: descriptions: add Hap video codec
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7717>
2025-02-15 21:25:05 +00:00
Tim-Philipp Müller
9724227c09 avcodecmap: add mapping for Hap video codec
Decoder works, encoder needs more work.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7717>
2025-02-15 21:25:05 +00:00
Tim-Philipp Müller
7c3a468056 qtdemux: add mappings for Hap video codec
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3596

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7717>
2025-02-15 21:25:05 +00:00
Thibault Saunier
1f7b6fea6d dots-viewer: Add dragscroll support for better UX
Patch suggested by Rubén Gonzalez

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7999>
2025-02-15 18:01:37 +00:00
Thibault Saunier
fcfa668a27 devtools: Remove the gstdump binary as the 'dots' tracer replaces it
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7999>
2025-02-15 18:01:37 +00:00
Thibault Saunier
174460770b gst: Allow tracers to set the GST_DEBUG_DUMP_DOT_DIR
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7999>
2025-02-15 18:01:37 +00:00
Thibault Saunier
642ad6c927 tracers: Add a dots tracer which is meant to be used with gst-dots-viewer
See documentation

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7999>
2025-02-15 18:01:37 +00:00
Thibault Saunier
f103692205 devtools: dots-viewer: Reimplement get_user_cache_dir the same way as in the GLib
The 'dirs' crate doesn't behave the same which makes it harder to work with in rust

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7999>
2025-02-15 18:01:37 +00:00
Thibault Saunier
5685e36293 devtools: gstdump: Check that pipeline-snapshot is present
And use the tracing crate for logging to make it cleaner

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7999>
2025-02-15 18:01:37 +00:00
Thibault Saunier
d95417621d dots-viewer: Add "Dump Pipelines" button
Add a button in the web interface to trigger pipeline dumps via websocket,
replacing the need to manually send SIGUSR1 to the process. Also set up
the pipeline-snapshot tracer with the proper websocket URL by default.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7999>
2025-02-15 18:01:37 +00:00
Thibault Saunier
0bfc9a8350 dots-viewer: Use a dark theme
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7999>
2025-02-15 18:01:37 +00:00
Thibault Saunier
61159bd992 devtools: Add dots-viewer set of tools
This adds `gstdump` and `gst-dots-viewer` server, see the
README for more details about what those tools do.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7999>
2025-02-15 18:01:36 +00:00
Thibault Saunier
4b74819671 core: debugutils: Write dot files atomically
Replace fopen/fputs with g_file_set_contents() to ensure dot files are written
atomically. This prevents tools like gst-dots-viewer from reading partially
written files when watching the dot folder.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7999>
2025-02-15 18:01:36 +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
Alicia Boya García
ee97c89c51 gstreamer: parse: Log bus error messages during construction
Suppose you invoke gst-launch with this invalid pipeline:

```
$ gst-launch-1.0  videotestsrc num-buffers=10 ! x264enc name=enc ! mux.sink_0 \
    mpegtsmux name=mux ! fakesink
0:00:00.018631594 351169      0xb523090 ERROR           GST_PIPELINE
subprojects/gstreamer/gst/parse/grammar.y:1151:gst_parse_perform_link:
could not link enc to mux
WARNING: erroneous pipeline: could not link enc to mux
```

The error message you get is not very helpful. This is a pity, because
this is where the error comes from:

```c
static GstPad *
gst_base_ts_mux_request_new_pad (GstElement * element, GstPadTemplate * templ,
    const gchar * name, const GstCaps * caps)
{ // [...]
    GST_ELEMENT_ERROR (element, STREAM, MUX,
        ("Invalid Elementary stream PID (0x%02u < 0x40)", pid), (NULL));
    return NULL;
```

mpegtsmux posted an error with an explanation of why the linking failed.
However, since the error ocurred within gst_parse_launchv(), gst-launch
could not have set a bus handler, and the error message got discarded.

This patch attempts to make gst-launch more user-friendly by setting a
temporary bus handler during early bin construction to catch error
messages like this.

The errors are logged as ERROR level in the GST_PIPELINE category.
However, this is not enough, as GST_LEVEL_DEFAULT defaults to
GST_LEVEL_NONE in releases. In other words, outside of the dev
environment, GStreamer won't print ERROR logs by default.

To make sure the errors can reach users of packaged versions of
GStreamer, a new AtomicRcBox-based struct is added: reason_receiver_t.
graph_t owns a reference to reason_receiver_t and so does the temporary
bus handler.

When the temporary bus handler receives an error message, the `reason`
field of `reason_receiver_t` is filled with the error message.
Later, when SET_ERROR() is called as a consequence of the operation that
posted the error having returned failure, the reason message is
extracted and added to the GError message.

This is how the resulting error would look in the example from above:

    WARNING: erroneous pipeline: could not link enc to mux --
    GstMpegTsMux <mux> posted an error message: Invalid Elementary
    stream PID (0x00 < 0x40)

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8417>
2025-02-15 00:04:46 +00:00
Sebastian Dröge
fc026fcfbe glupload: Don't skip all other methods than the currently selected one when transforming caps
This leads to spurious negotiation failures because the configured method can
change over time and caps queries (and thus transform_caps) are happening
independently from configuring caps. Instead prefer the transformed caps of the
current method, but always also return the transformed caps for all other
methods. Previously all other methods would've only been used if the current
method returned empty caps. If a different method is needed later when
configuring the caps, it will be and was selected regardless.

Later during caps fixation, prefer the caps of the current method too for the
fixated caps if possible in any way.

This should preserve the desired behaviour of preferring the current method if
possible but to change to a different method if nothing else is possible, while
also returning consistent (and not too narrow) caps every time.

The way how the current method was checked was also racy as the current method
might change at any moment during caps query handling, and apart from
inconsistent results also a NULL pointer dereference was possible here. Use the
GST_OBJECT_LOCK to protect access to the current method like in other places.

This part of the code was introduced in f349cdccf5
and tried to be fixed multiple times over the years without addressing the root
cause of caps queries and caps configuration happening independently from each
other, e.g. in !2687 and !2699.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8431>
2025-02-14 18:44:34 +00:00
Sebastian Dröge
4fb5784e53 gluploadelement: Fix typo in debug output
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8431>
2025-02-14 18:44:33 +00:00
Sebastian Dröge
8411a46c72 video-overlay-composition: Fix meta scale transformation for xscale != yscale
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8431>
2025-02-14 18:44:33 +00:00
Sebastian Dröge
6e9a0c2229 videoconvertscale: Explicitly handle overlaycomposition meta caps feature
Otherwise it will be dropped unnecessarily. videoconvertscale can always pass it
through, no matter if it does conversion or not.

Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4161

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8431>
2025-02-14 18:44:33 +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
Edward Hervey
96e660e0d9 mpegts: Fix PCR Discontinuity handling for HLS
We can only reliably use the adaptation field discontinuity flag if our input is
properly timestamped on a regular basis (ex: UDP, DVB, RTP, etc...).

For HLS and other systems which don't provide that information, we should not
reset the base observations. Otherwise we would potentially end up picking a
reference time from a long time ago.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8480>
2025-02-14 14:33:45 +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
Alexander Slobodeniuk
1eaf9b867e avfassetsrc: fix mutex leak
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8479>
2025-02-14 12:55:27 +00:00
Alexander Slobodeniuk
c3fdd1ea3a avfassetsrc: fix missing GObject dispose chainup
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8479>
2025-02-14 12:55:27 +00:00
Marc-André Lureau
7fffcc2b6a gst-docs: add avdec/avenc qoi symbols
See also:
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8458#note_2780035

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8458>
2025-02-14 11:35:52 +00:00
Marc-André Lureau
6583c554ba gst-libav: update plugins cache
curl https://gitlab.freedesktop.org/elmarco/gstreamer/\
-/jobs/70876411/artifacts/raw//diffs/documentation_cache.diff | git apply -

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8458>
2025-02-14 11:35:52 +00:00
Marc-André Lureau
670b8653f5 gst-libav: add QOI codec mime mappings
image/qoi is the recommended MIME type:
https://github.com/phoboslab/qoi?tab=readme-ov-file#mime-type-file-extension

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8458>
2025-02-14 11:35:52 +00:00
Alexander Slobodeniuk
80b99f08dd applemedia: fix chaining up GObject's constructed virtual method
Fixes #4224

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8446>
2025-02-14 10:33:31 +00:00
xizhen
0d98646dd5 avvidenc: Fix typo in log
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8450>
2025-02-14 09:45:39 +00:00
François Laignel
874a59bff2 rtpjitterbuffer: add RFC7273 active status to stats
Checking whether rtpjitterbuffer actually timestamps the buffers according to
the RFC7273 clock definition and rtpjitterbuffer configuration required looking
at the DEBUG logs.

This commit adds an entry in the rtpjitterbuffer stats to indicate if
conditions are met for RFC7273 to be active.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7829>
2025-02-14 01:12:23 +00:00
Brad Hards
49d8921232 qtdemux: fix version 1 profile handling, add diagnostics
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8456>
2025-02-14 00:03:30 +00:00
Thibault Saunier
be7cdea096 ges: Annotate TimelineElement in-point getter and setter
So they are not duplicated in (rust) bindings.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8475>
2025-02-13 22:07:43 +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
James Oliver
bd37947254 nvcodec: fix invalidated std::set::iterator usage
As per the C++ standard, any usage of a std::set::iterator after it has
been erased from the collection results in undefined behaviour. This has
resulted in application crashes due to CUDA illegal address errors.

This commit fixes the issue by copying and incrementing the iterator
within any for-loops that also invoke std::set::erase.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8472>
2025-02-13 15:18:10 +00:00
Alexander Slobodeniuk
ae47dd2529 d3d11: fix chaining up GObject's constructed virtual method
Fixes #4223

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8448>
2025-02-13 14:32:14 +00:00
Alexander Slobodeniuk
b737bde9f6 wasapi: fix chaining up GObject's constructed virtual method
Fixes #4223

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8448>
2025-02-13 14:32:14 +00:00
Alexander Slobodeniuk
df4c2f18bd asio: fix chaining up GObject's constructed virtual method
Fixes #4223

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8448>
2025-02-13 14:32:14 +00:00
Alexander Slobodeniuk
6c64794fca winrt: fix chaining up GObject's constructed virtual method
Fixes #4223

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8448>
2025-02-13 14:32:14 +00:00
Seungha Yang
39f4b1ee4d d3d12: Update root signature flags for old Windows10
Use root signature flags which are part of initial Direct3D12 release.
Old OS does not understand newly introduced flags

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8469>
2025-02-13 13:39:11 +00:00
wbartel
41ff7727dc webrtc: fix recursive G_BEGIN_DECLS and include missing sctptransport.h in webrtc.h
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8470>
2025-02-13 10:08:52 +00:00
Brad Hards
c7367addb5 qtdemux: support uncompressed mono with component interleave
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8464>
2025-02-13 08:17:17 +00:00
Jochen Henneberg
6d849f5ee1 v4l2: object: Make sure dmabuf_tmpl isn't used uninitialized
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8457>
2025-02-12 20:59:15 +00:00
Ognyan Tonchev
9faf555219 rtpmanager: skip RTPSources if last_rtime is not set yet
Fixes previous commit (which worked in GStreamer 1.22 but not in
1.24 and newer). Sorry for the noise, should have tested on
master before pusshing it :(

Fixes: #3918
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8455>
2025-02-12 19:56:35 +00:00
Thibault Saunier
5fb88176c1 validate: medias: Update to take into account chroma-site changes
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8258>
2025-02-12 13:15:24 -03:00
Sebastian Dröge
959ccf65ad video-info: Validate chroma-site when parsing caps and set defaults if none is set
Previously there was no validation at all and the defaults were set if the
colorimetry was not set or invalid, but there's not really any connection
between colorimetry and chroma-site.

More validation could make sense in the future.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8258>
2025-02-12 13:15:24 -03:00
Thibault Saunier
bdce7166b8 docs: rust-unifier: Iterate over all pipelines to find latest gstreamer-rs docs
Since the documentation job is manually triggered, the latest docs might not be
in the most recent pipelines. Change the pipeline listing to iterate over all
pipelines until we find the last successful documentation build.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8463>
2025-02-12 12:39:30 +00:00
Mart Raudsepp
def2f12d84 mpegtsmux: Fix error message for PID < 0x40 to be in the claimed base 16
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8463>
2025-02-12 12:39:29 +00:00
Mart Raudsepp
395c8cafa6 mpegtsmux: Fix deadlock when requesting pad for PID < 0x40
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8463>
2025-02-12 12:39:29 +00:00
Alexander Slobodeniuk
238ef923aa tracerrecord: 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
ac1fb2464a tracer: 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
a2059c1bb3 dshowdeviceprovider: 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
33fc2d9c65 glvideomixer: 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
15bf924940 cpu-throttling-clock: 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
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
Alexander Slobodeniuk
7c2f510cd0 gesbasebin: fix missing GObject vtable chainups
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8452>
2025-02-11 22:49:06 +01:00
sergey radionov
d8a85e3793 v4l2: bufferpool: update buffer state after group release
This fixes the state that lead to a flood of "newly allocated buffer
%u is not free" warnings.

Fixes #1185 #3184 #4037

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8454>
2025-02-11 19:17:48 +00:00
sergey radionov
c79b256795 v4l2: allocator: added group pointer to "group-released" signal
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8454>
2025-02-11 19:17:48 +00:00
sergey radionov
5577174668 v4l2: allocator: G_TYPE defined for GstV4l2MemoryGroup
This is needed to pass the GstV4l2MemoryGroup structure through
a glib signal.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8454>
2025-02-11 19:17:48 +00:00
Robert Mader
3d525f9b65 wayland: Report correct modifiers
Fixes: e0e7a11089 ("wayland: De-dupe filling caps format fields")
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8460>
2025-02-11 17:42:41 +00:00
Nirbheek Chauhan
5b201e42d2 gobject-introspection.wrap: Backport patch from upstream
This allows it to build with the newer glib subproject.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8363>
2025-02-11 15:41:38 +00:00
Carlos Bentzen
e2bd8809bf qtmux: add support for VVC/H.266 video
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8436>
2025-02-11 03:25:38 +00:00
Hou Qi
5feb80193e v4l2: Add BGR10A2_LE support
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8154>
2025-02-11 02:18:30 +00:00
Seungha Yang
967ab2dc50 d3d12screencapturesrc: Fix infinite negotiation on resolution change
Updates crop rect if previous capture got error. The error might
result from resolution change.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8444>
2025-02-11 00:34:00 +00:00
Seungha Yang
1902b5ca1b d3d12screencapturesrc: Fix capturing rotated monitor
Acquired and reconstructed frames will have different resolution
if monitor is rotated. Use the copying logic of d3d11 implementation

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8444>
2025-02-11 00:34:00 +00:00
Carlos Bentzen
8cfbdd7cf6 matroskamux: add support for VVC/H.266 video
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8441>
2025-02-10 22:49:35 +00:00
Carlos Bentzen
1be3d7f37b matroskademux: add support for VVC/H.266 video
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8441>
2025-02-10 22:49:35 +00:00
Carlos Bentzen
deaa9260f3 matroska: add V_MPEGI/ISO/VVC id
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8441>
2025-02-10 22:49:35 +00:00
Carlos Bentzen
b848c91dec mpegtsmux: add support for VVC/H.266 video
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8435>
2025-02-10 20:57:40 +00:00
Edward Hervey
63a03b167a mpegts: Take into account adaptation field discont
If the flag is set, there is an *expected* discontinuity:
* For CC, we ignore the fact it's not contiguous
* For PCR, we acknowledge the values aren't contiguous

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8420>
2025-02-10 19:41:21 +00: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
Alexander Slobodeniuk
986d651fba kms: fix chaining up GObject's constructed virtual method
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8416>
2025-02-10 17:49:29 +00:00
Alexander Slobodeniuk
5b0934fa7f msesrc: fix chaining up GObject's constructed virtual method
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8416>
2025-02-10 17:49:29 +00:00
Alexander Slobodeniuk
5a14de805e vkphysicaldevice: fix chaining up GObject's constructed virtual method
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8416>
2025-02-10 17:49:29 +00:00
Alexander Slobodeniuk
7aa7e0e4b0 tracers: fix chaining up GObject's constructed virtual method
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8416>
2025-02-10 17:49:29 +00:00
Alexander Slobodeniuk
3cae6af025 examples/gl/gtk: fix chaining up GObject's constructed virtual method
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8416>
2025-02-10 17:49:29 +00:00
Alexander Slobodeniuk
7ae94a4bd0 autodetect: cleanup no-op check for "constructed" implementation
It's always implemented by GObject.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8416>
2025-02-10 17:49:29 +00:00
Alexander Slobodeniuk
b22c1da0d3 basetsmux: fix chaining up GObject's constructed virtual method
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8416>
2025-02-10 17:49:29 +00:00
Alexander Slobodeniuk
6016cdccf1 gl: fix chaining up GObject's constructed virtual method
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8416>
2025-02-10 17:49:29 +00:00
Alexander Slobodeniuk
610a6f3aaf videoflip: fix chaining up GObject's constructed virtual method
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8416>
2025-02-10 17:49:29 +00:00
Alexander Slobodeniuk
9f5c08931d rtpsrc: fix chaining up GObject's constructed virtual method
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8416>
2025-02-10 17:49:29 +00:00
Alexander Slobodeniuk
413ba205e1 ges: fix chaining up GObject's constructed virtual method
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8416>
2025-02-10 17:49:29 +00:00
Alexander Slobodeniuk
e9f488a2c5 audioaggregator: fix chaining up GObject's constructed virtual method
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8416>
2025-02-10 17:49:29 +00:00
Alexander Slobodeniuk
7aace62267 aggregator: fix chaining up in GObject "constructed" virtual methods
This doesn't always bring visible issue, but is formally incorrect:
not chaining up means that the code doesn't trigger GstObject and
GstElement "constructed" implementations.

In particular both GstElement's and GstObject's classes in
"constructed" may sign up this object for tracing and
GstObject's class sets GST_OBJECT_FLAG_CONSTRUCTED flag.

If we don't chain up none of this is going to be executed.

For example, before the fix leaks tracer couldn't detect this leak:
```c

int main (int argc, char **argv) {
  g_setenv ("GST_TRACERS", "leaks(name=all-leaks)", TRUE);
  g_setenv ("GST_DEBUG", "GST_TRACER:7", TRUE);
  g_setenv ("G_DEBUG", "fatal-warnings", TRUE);

  gst_init (&argc, &argv);

  // leak audiomixer: doesn't detect because it's based on the aggregator
  gst_element_factory_make ("audiomixer", "Jerry");

  // leak videoconvert: this one is detected fine because it's not
  // based on the aggregator
  //gst_element_factory_make ("videoconvert", "Tom");

  gst_deinit ();
  return 0;
}

// $ cc tst.c $(pkg-config --cflags --libs gstreamer-1.0) -o tst && ./tst
```

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8416>
2025-02-10 17:49:28 +00:00
Stéphane Cerveau
178f05aac7 vkutils: update gst_vulkan_handle_set_context doc
device is a GstVulkanDevice

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7011>
2025-02-10 16:13:20 +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
Benjamin Gaignard
7fb19b37d8 v4l2codecs: av1: Allow inter-frames resolution change
When the stream resolution change it is needed to negotiate
a new pools and to update the caps.
Resolution change could occurs on a new sequence or a new
picture so move resolution change detection code in a common
function.
Only call streamoff if the resolution occur while decoding a key frame.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8064>
2025-02-10 13:36:57 +00:00
Benjamin Gaignard
88e0b6ba2d codecs: av1 decoder: Drain output buffers resolution change
We must drain the pending output picture so that subclass can renegotiate
the caps. Not doing so while still renegotiating would mean that the
subclass would have to do an allocation query before pushing the caps.
Pushing the caps now without this would also not work since these caps
won't match the pending buffers format.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8064>
2025-02-10 13:36:57 +00:00
Glyn Davies
f32402e9b4 h264parse: Force full timestamp on all timecode updates. Was invalid between midnight and 1am
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8401>
2025-02-10 11:50:23 +00:00
Carlos Bentzen
a5c6eea957 qtdemux: add support for VVC/H.266
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5088>
2025-02-10 09:20:22 +00:00