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
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
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
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
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
da5a4f7820
videoparsers: Fix indentation
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8281 >
2025-01-12 22:51:44 +00:00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
e908d22c44
wpevideosrc: Handle latency queries
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8217 >
2025-01-09 07:49:51 +00:00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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