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
Guillaume Desmottes
94253529c4
glmixerbin: derivate the mixer name from the bin name
...
Make it easier to identify a specific instance in logs in complex
pipelines.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8183 >
2025-01-06 07:50:43 +00:00
Guillaume Desmottes
69cd1a2d60
glcontext: add trace log when scheduling function in GL thread
...
There is already a log when the function is executed. Adding one when
scheduled can be useful to know how long we are waiting.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8190 >
2025-01-06 06:56:50 +00:00
Sam James
775a2bd26f
codec2json: move option to right section
...
It has an external dependency (json-glib) so should be under
that heading.
Fixes: fd588a50e4
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8238 >
2025-01-04 20:30:07 +00:00
Sam James
fd54c57260
analyticsoverlay: move option to right section
...
It has an external dependency (pango/cairo) so should be under
that heading. Also, fix an inconsistency with the ':' style.
Fixes: 95464c8977
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8238 >
2025-01-04 19:53:00 +00:00
Tim-Philipp Müller
64970e721f
tcpclientsrc, tcpserversrc: don't try to get stats from NULL socket
...
Fixes criticals during gst-inspect.
Wasn't an issue before because the entire stats gathering
code path was inactive.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8211 >
2025-01-04 12:20:18 +00:00
Tim-Philipp Müller
b4bef7fd35
tcpclientsrc, tcpserversrc: fix tcp stats gathering
...
Fix-up after commit e56b78417
. Unclear how that could
ever have worked. Code only built because basically
everything was disabled due to the missing config.h
include.
- Include config.h so that HAVE_* defines are available.
- Fix missing variable declarations that somehow disappeared
when moving the stats gathering code block into a separate
function in a new file.
- Fix structure variable modified to match name in new function.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8211 >
2025-01-04 12:15:03 +00:00
Daniel Morin
e272e229e8
python tests: Adapt analytics unit test
...
- Adapt test to batch size moved into dims field
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8191 >
2025-01-03 23:14:39 +00:00
Daniel Morin
0a343fa738
analytics: remove batch-size
...
- Batch-size will be the outer-most dimension. Presence of batch dimension can
be identified using `dims` and `id`.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8191 >
2025-01-03 23:14:39 +00:00