Commit graph

121356 commits

Author SHA1 Message Date
Edward Hervey
0891a0e5eb wasapi: Use signed value for can_frames
The can retrieval function can return negative values (which will be properly handled)

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8286>
2025-01-13 08:08:01 +00:00
Edward Hervey
aedb587616 amfcodec: Add missing break statement
Setting frame-sad would also set ltr

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8286>
2025-01-13 08:08:01 +00:00
Edward Hervey
8b62792e5c d3d12: Add missing breaks to switch/case
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8286>
2025-01-13 08:08:01 +00:00
Edward Hervey
916774b4f0 h265bitwriter: Don't use type too small
The computed `coef_val` could exceed the maximum range of a gint8. Use a bigger
one, the checks after will ensure it's properly cropped/padded

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8286>
2025-01-13 08:08:01 +00:00
Edward Hervey
5bb22c24dc mpegts: Add missing break
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8286>
2025-01-13 08:08:01 +00:00
Edward Hervey
b78c119a42 msemediabuffer: Fix ASCII character detection
Use glib function. The previous check was checking whether a signed int was
lower than its limit (which ... is always TRUE).

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8286>
2025-01-13 08:08:01 +00:00
Edward Hervey
efbe1e96ca msesourcebuffer: Fix unsigned value handling
Use the explicit valid clocktime handler instead

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8286>
2025-01-13 08:08:01 +00:00
Edward Hervey
2f1f44cdc7 ristsink: Add missing break
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8286>
2025-01-13 08:08:01 +00:00
Edward Hervey
a0f50df7a0 splitmuxsink: Fix wrong usage of GstClockTime vs GstClockTimeDiff
This could potentially have caused issues (because of the rest of the code using
checks for signed invalid values on a unsigned value)

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8286>
2025-01-13 08:08:01 +00:00
Edward Hervey
2e6b98ad89 splitmuxsrc: Add missing break
This would cause the reconfigure path to be called

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8286>
2025-01-13 08:08:00 +00:00
Edward Hervey
0ee882cfb9 adaptivedemux2: Add missing break
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8286>
2025-01-13 08:08:00 +00:00
Edward Hervey
32ebee5594 adaptivedemux2: Fix usage of GstClockTime vs GstClockTimeDiff
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8286>
2025-01-13 08:08:00 +00:00
Edward Hervey
65b4d26db6 audiorate: Fix unsigned integer comparision
next_offset uses a magic "-1" value for unset values. Use that value and not
checking whether it's positive (it always is, it's unsigned)

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8286>
2025-01-13 08:08:00 +00:00
Edward Hervey
344ef36b5a videorate: Avoid overflow in calculations
base_ts and next_end_ts are both guint64. Use explicit check to avoid "negative"
timestamps (which would overflow, not be negative).

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8286>
2025-01-13 08:08:00 +00:00
Edward Hervey
84f995dd90 test: Fix unsigned integer usage
num_queued is unsigned, it'll never be below 0.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8286>
2025-01-13 08:08:00 +00:00
Edward Hervey
9656ae6c0b decodebin3: Add missing break in switch
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8286>
2025-01-13 08:08:00 +00:00
Ruben Gonzalez
da5a4f7820 videoparsers: Fix indentation
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8281>
2025-01-12 22:51:44 +00:00
Sebastian Dröge
10f870ac5c decklinkaudiosink: Don't crash if started without corresponding video sink
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8253>
2025-01-12 18:48:36 +00:00
Andrew Yooeun Chun
26e769589a basetransform: fix incorrect logging inside gst_base_transform_query_caps
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7381>
2025-01-12 03:41:02 +00:00
Sebastian Dröge
c513340c89 ci: Update to Rust 1.84 and cargo-c 0.10.8
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8285>
2025-01-11 17:38:00 +02:00
Edward Hervey
6d30b82054 splitmuxsrc: Ensure only a single stream-start event is pushed
Since we are simulating a single output, we want to ensure only a single
stream-start is pushed downstream. We do *not* want to send a (potentially) new
stream start event after flushing (like after seeks).

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

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8252>
2025-01-10 15:01:04 +00:00
Will Miller
05158769c3 rtpvp9pay: fix profile parsing
Incorrect parsing of these bits meant that we were incorrectly parsing
the VP9 uncompressed bitstream header for some profiles, as the header
is of variable length and format depending on the profile. Amongst
various unintended effects, this caused the width and height from the SS
to be incorrectly parsed and set in the caps.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8275>
2025-01-10 11:19:52 +00:00
L. E. Segovia
bc285dbbbe ges: Fix Xcode-provided Python library name fetching
Both INSTSONAME and LDLIBRARY point to the Python interpreter, not to
libpythonX.Y.dylib, unlike the pythonX.Y-embed module Xcode provides.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8199>
2025-01-10 00:08:56 +00:00
L. E. Segovia
06192c125b ges: Fix Python library name fetching on Windows
The fix in 753aeccde7 is also needed here.

See #3368

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8199>
2025-01-10 00:08:56 +00:00
Olivier Crête
1485a387a4 codec-utils: Add missing nullable annotation to new APIs
Those APIs are documented to sometimes return NULL.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8271>
2025-01-09 22:43:54 +00:00
Colin Kinloch
4a56c82f0c wayland: Print table split when DMABuf format changes
The `zwp_linux_dmabuf_v1` doesn't specify an order for modifier events
to be sent.

In my case the linear format was sent last resulting in the first item
in each row being the previous format.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8272>
2025-01-09 18:34:51 +00:00
Mathieu Duponchelle
a15c786db5 docs: implement pre-commit hook to check cache updates and since tags
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8231>
2025-01-09 16:19:39 +00:00
Mathieu Duponchelle
c276f5daca doc: store path to dynamic library in plugin configuration
This can then be used by the pre-commit hook to avoid rebuilding
complete plugin caches to check a change, thus minimizing the potential
diff and making analysis of completely-unrelated cache diffs much less
likely.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8231>
2025-01-09 16:19:39 +00:00
Mathieu Duponchelle
7b4e6e67d3 docs: start using custom_target instead of run_command for sitemap
Intead of passing around the output of the config generator program,
which consists of paths joined by a separator we can have the generator
simply produce an extra file containing those paths.

This commit only implements the new approach for the core plugins, as
this was needed to avoid spurious meson rebuilds when the pre-commit
hook regenerates the core plugins_cache.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8231>
2025-01-09 16:19:39 +00:00
Mathieu Duponchelle
506680c86c docs: list doc sources explicitly for GStreamer core
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8231>
2025-01-09 16:19:39 +00:00
Mathieu Duponchelle
8fa87f45f9 docs: start listing sources explicitly in hotdoc configuration files
A JSON configuration file is generated for core plugins, which maps
plugin names with sources to parse for docstrings.

The file is then opened by the configuration generator script, which
will now favor explicitly listed files to (usually wildcarded) paths
passed on its command line.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8231>
2025-01-09 16:19:39 +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
Seungha Yang
f7e70e5261 d3d12mipmapping: Add mip-levels property
Generating full levels would result in waste of GPU resource
depending on rendering usecase. Adding a property to make it
controllable

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8255>
2025-01-08 22:46:14 +00:00
Seungha Yang
ca82e717c6 d3d12mipmapping: Add YUV and 64bits output formats
Add support for YUV and 64bits output formats to avoid
colorspace conversion and bitdepth loss

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8255>
2025-01-08 22:46:13 +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
Thibault Saunier
bb6bf7d23b ges: pipeline: Implement context sharing logic
That is the logic from `playbin2`

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

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7883>
2025-01-08 21:01:17 +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
3dcc6f4807 video-info: add "field-order" field to serialised caps also for interlace-mode=fields
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8219>
2025-01-08 19:48:31 +00:00
Tim-Philipp Müller
a62e517f6d videoencoder: copy over the field order for more interlace modes
.. when copying over video info things from the input state
to the output state.

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
ef57213426 mpegtsmux: add support for interlaced JPEG XS
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
Tim-Philipp Müller
23ffffe57b tsdemux: handle interlaced JPEG XS
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
Mathieu Duponchelle
33da5f0d5d appsink: fix initial pile-up of caps events
appsink was queuing the caps event both in its GstBaseSinkClass.set_caps()
and its GstBaseSinkClass.sink_event() implementation, but only signaling
new_event from `sink_event`.

This caused `new_event` callbacks to start lagging by one.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7749>
2025-01-08 09:00:31 +00:00