Commit graph

8417 commits

Author SHA1 Message Date
Edward Hervey
6f9f951e83 rtmp2: Explicitly define scheme error enum
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
45df33196f mxfdemux: Fix segments iteration
`i >= 0` is always true since it's an unsigned integer ...

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>
2025-01-13 12:51:46 +00:00
Edward Hervey
37a8d49eaa siren: Cast shift mask to unsigned value
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>
2025-01-13 12:51:45 +00:00
Edward Hervey
9b5ea24e2b h265parser: Fix unsigned value reading
Unsigned values are always above 0, use MAX variant for reading

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>
2025-01-13 12:51:45 +00:00
Edward Hervey
7f697a7065 examples/ipcpipeline: Fix ESC handler
Same as for gst-play

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>
2025-01-13 12:51:45 +00:00
Edward Hervey
55319cbf32 tests/play: Fix debug statement
The interval is in milliseconds, convert to nanoseconds for debugging statement

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>
2025-01-13 12:51:45 +00:00
Edward Hervey
fc5b616fca tests/webrtcbin: Remove useless checks with unsigned values
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>
2025-01-13 12:51:45 +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
8d0cd490f0 mpeg2decoder: Remove useless check
The enum is unsigned

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>
2025-01-13 12:51:45 +00:00
Edward Hervey
9b8ecba9a1 vkinstance: Remove useless check
priv->requested_api_major is unsigned

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>
2025-01-13 12:51:45 +00:00
Edward Hervey
7a2aef9fa2 basetsmux: Add explicit macro for GstClockTimeDiff handling
The checks in the other macro were useless for unsigned values

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>
2025-01-13 12:51:45 +00:00
Edward Hervey
67c4c35fb7 mxfdemux: Remove useless check
values will always be positive

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>
2025-01-13 12:51:45 +00:00
Edward Hervey
5bc4ebfe61 speed: Refactor event handler
To avoid fallthrough issues which were tricky to fix

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
Edward Hervey
a9984a0003 vorbisdec: Fix check for "-1" bitrate values
The check is exactly the same, but more explicit.

Original commit that introduced the check is
20fb58be19:
---
vorbisdec: don't put invalid bitrate values into the taglist

Bitrates are stored as 32-bit signed integers in the vorbis
identification headers, but seem to be read incorrectly,
namely as unsigned 32-bit integers, into the vorbis structure
members which are of type long, which makes our check for
values <= 0 fail with files that put -1 in there for unset
values.
---

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>
2025-01-13 12:51:45 +00:00
Edward Hervey
8b9ac40710 good: Enable extra warning flags
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>
2025-01-13 12:51:45 +00:00
Edward Hervey
47b723c6e1 splitmuxsink: Fix GST_(S)TIME_{ARGS|FORMAT} usage
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>
2025-01-13 12:51:45 +00:00
Edward Hervey
8bc17b58a2 good: 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
Edward Hervey
2a6c1bbb01 matroska: Reorder switch/case for parsing
Just makes it clearer

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>
2025-01-13 12:51:45 +00:00
Edward Hervey
5d69f2bc36 qtmux: Fix GST_STIME_ARGS usage
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>
2025-01-13 12:51:45 +00:00
Edward Hervey
b0f527a79e adaptivedemux2: Fix CLAMP usage
It's a positive value

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>
2025-01-13 12:51:45 +00:00
Edward Hervey
02df2a5e9a adaptivedemux2: Remove useless ABS
Just compare the difference (in the right order)

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>
2025-01-13 12:51:45 +00:00
Edward Hervey
9f4f500543 filesrc: Properly handle lseek return value
On windows we use _lseeki64 which returns a guint64.

The only error code lseek and _lseeki64 return is a casted -1, therefore just do
that to handle all platforms

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>
2025-01-13 12:51:45 +00:00
Edward Hervey
77ad891e68 test: Remove always-true assertion
The offset is not deterministic

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>
2025-01-13 12:51:45 +00:00
Edward Hervey
72df7ab3bd test: Avoid type-limit issue
```
../subprojects/gstreamer/tests/check/elements/filesink.c: In function ‘test_seeking’:
../subprojects/gstreamer/tests/check/elements/filesink.c:92:23: warning: comparison of unsigned expression in ‘< 0’ is
  always false [-Wtype-limits]

   92 |         for (i = 0; i < num_bytes; ++i)                                 \
      |                       ^
../subprojects/gstreamer/tests/check/elements/filesink.c:266:3: note: in expansion of macro ‘PUSH_BYTES’
  266 |   PUSH_BYTES (0);
      |   ^~~~~~~~~~
```

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>
2025-01-13 12:51:45 +00:00
Edward Hervey
a81371bf8b base: Enable more warning flags
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>
2025-01-13 12:51:45 +00:00
Edward Hervey
568ae91a2a compositor: Don't use CLAMP for unsigned values
Just use MIN, we already know it's above 0

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>
2025-01-13 12:51:45 +00:00
Edward Hervey
c0d35e14a5 gst-play: Move esc-handling to the right place
It's meant to fall through to the default handler of the switch (for
debugging). Some intermediary commits broke that.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>
2025-01-13 12:51:45 +00:00
Edward Hervey
989539830d libvisual: Fix for libvisual headers
They use old style definition

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>
2025-01-13 12:51:44 +00:00
Edward Hervey
9e58164cfb base: Do not use old-style definition
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>
2025-01-13 12:51:44 +00:00
Edward Hervey
319ff17300 base: Fix fallthrough declarations
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>
2025-01-13 12:51:44 +00:00
Edward Hervey
0e8f8dfe15 gstreamer: Add more warning flags
See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4123

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>
2025-01-13 12:51:44 +00:00
Edward Hervey
316722d7c9 gstptpclock: Fix GST_STIME_ARGS usage
It requires a signed value

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>
2025-01-13 12:51:44 +00:00
Edward Hervey
39a1b61469 gstreamer: Make switch passthrough as such
vasnprintf requires special handling since the following 'case' is #ifdef'ed

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>
2025-01-13 12:51:44 +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
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
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
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
Mathieu Duponchelle
cc7c3183f4 docs/contribute: add section about fixing since tags
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7531>
2025-01-07 20:05:19 +01:00
Alex Ashley
f3e9330575 dashdemux2: mpdparser: add test for ISO8601 durations that overflow
See https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/82
and https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2576

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8209>
2025-01-07 14:49:26 +00:00
Piotr Brzeziński
8f5caeb86d osxaudiosrc: Work around timestamps on iOS not starting from 0
On macOS, you always get your own 'timeline' for the AudioUnit session, so timestamps start from 0.
On iOS however, AudioUnit seems to give you a 'shared' timeline so timestamps start at a later, non-0 point in time.
Simply offsetting seems to do the trick.

This was causing osxaudiosrc to not output any sound on iOS.

Regressed in 2df9283d3f

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7856>
2025-01-07 11:55:03 +00:00
Piotr Brzeziński
212290baf0 osxaudiosrc: Fix render callback removal when pausing/stopping
At least on iOS, the 'input' callback kept being called after going to PAUSED.
Specifying the right type (like in gst_core_audio_io_proc_start()) fixes that.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7856>
2025-01-07 11:55:03 +00:00
Piotr Brzeziński
49489d35ae osxaudio: Fix AudioOutputUnitStart() deadlock on iOS >=17
At some point in iOS 17, this call started waiting for the first render callback (io_proc) to finish.
In our case, that callback also takes the ringbuf object lock by calling gst_audio_ring_buffer_set_timestamp(),
which results in a deadlock.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7856>
2025-01-07 11:55:02 +00:00
Piotr Brzeziński
307cfc2561 osxaudio: Automatically set up AVAudioSession on iOS
A correctly configured AVAudioSession is needed on iOS to:
- allow the application to capture microphone audio (in some cases)
- avoid playback being silenced in silent mode

Without this, initializing AudioUnit for capture can fail on iOS >=17 (from my testing).

Since AVAudioSession has a lot of settings, in most cases its setup should be handled by the user/app.
However, just to have a basic default scenario covered, let's configure the bare minimum ourselves,
and allow anyone to disable that behaviour by setting configure-session=false on src/sink.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7856>
2025-01-07 11:55:02 +00:00
Ruben Gonzalez
47c29127b6 tracers: Fix issue in the BC layer added in refactor to simplify params handling
Issue added in refactor done in commit 5e18499372, which includes a
logic to not break the backward compatibility. Issue found with Rust
pcap-writer tracer, fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/644

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8248>
2025-01-06 20:29:00 +01:00
Dean Zhang (张安迪)
e000a1ec1f v4l2videodec: release decode only frame in input list
For some frames with decode-only flag, the v4l2 decoder will not
put them in output list. The corresponding decode-only frames will
be still kept in input list, which may cause potential performance
issue when the input list is full. So release the decode-only frames
according to the decode-only flag after they are processed by decoder
driver.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8153>
2025-01-06 16:27:53 +00:00
Sebastian Dröge
06a0ab7b33 matroskamux: Consider audio buffers as keyframes when writing out simpleblocks
Otherwise mpv complains and considers the file broken.

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

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8225>
2025-01-06 11:43:59 +00:00
Sebastian Dröge
32e79c1041 matroskamux: Fix audio-only stream conditions
The num_a_streams and related counters are used for pad numbers and don't give
the absolute number of streams in this run of the muxer.

Also, consider the output audio-only if there are more than 1 audio stream too.

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

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8225>
2025-01-06 11:43:59 +00:00
Christian Meissl
422fca76ca qtdemux: fix accumulated base offset in segment seeks
analog to fix for matroska-demux
commit f3c126d07c

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8240>
2025-01-06 09:44:00 +00:00