Philippe Normand
c4bfa73391
oggdemux: Don't push new packets if there is a pending seek
...
There was a race condition where the demuxer would seek back to beginning after
determining the duration and while that seek was in progress one pad would
attempt to push a new buffer downstream, leading to a critical warning in
gst_pad_push().
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8785 >
2025-04-14 10:15:05 +01:00
Jordan Petridis
db17f54253
build: Add devcontainer manifest for our CI image
...
Devcontainer [1] is a popular container schema that makes
IDEs and tooling aware about the container image you want
to use and develop against.
The most popular implementation of devcontainer are Visual
Studio and VSCode and this allows us to have a out of the
box pre-defined and working build environment that is very
close to the environment CI runs against.
This also allows VSCode on Windows and Mac to setup a
Linux docker container (vm) to develop against if so
desired.
[1] https://containers.dev/
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7816 >
2025-04-12 10:11:29 +00:00
Jordan Petridis
2aa7dcd715
install-rust.sh: Remove rust-docs from the install
...
We don't make use use of the html documentation in
the ci image, so it only takes space.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7816 >
2025-04-12 10:11:29 +00:00
Jordan Petridis
f9cd0f0d9b
ci: Remove some leftover caches in the linux images
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7816 >
2025-04-12 10:11:29 +00:00
Jordan Petridis
5ce342f8fd
ci: Move containeruser creation into the main image
...
Doesn't need to be done only for toolbox and we will
need this when we switch the user gitlab-ci runs as.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7816 >
2025-04-12 10:11:28 +00:00
Jordan Petridis
ca44d76c4f
ci: Print some metadata at the start of the build
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7816 >
2025-04-12 10:11:28 +00:00
Jordan Petridis
b9c3e7c162
build-toolbox-image.sh: Install rust-analyzer into the image
...
If you develop against the image, then you can configure
your IDE to spawn rust-analyzer inside the container as well.
This works with devcontainer and vscode.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7816 >
2025-04-12 10:11:28 +00:00
Jordan Petridis
17cf7226f4
build-toolbox-image.sh: Hardcode the RUSTUP/CARGO_HOME env vars
...
We install the rust toolchain, but then we have to manually
source it in CI since the headless containers skip over
the shell profiles that rustup typically uses.
Ideally we'd set these as variables in the main image, but
we don't have access to the buildah instance used in
ci-templates/cbuild.
However adding them to the toolbox image is good enough to
have the toolbox setup work ootb even if it doesn't call the
ci/scripts/source_image_env.sh script like the gitlab-ci jobs
will do.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7816 >
2025-04-12 10:11:28 +00:00
Jordan Petridis
2ce8a1aea9
build-toolbox-image.sh: Only publish the latest tag on the appropriate branch
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7816 >
2025-04-12 10:11:28 +00:00
Jordan Petridis
22a83c8db6
build-toolbox-image.sh: Change the suggested name for the toolbox
...
Previously the script will give you a command like:
```
toolbox create gst-toolbox ..
```
Which is a bit redundant since we are already creating
toolbox, we don't need to label it as such.
Now instead use gst-$GST_UPSTREAM_BRANCH for the name,
so we will suggest gst-main and gst-1.24 instead
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7816 >
2025-04-12 10:11:28 +00:00
Andrew Yooeun Chun
1d014e6146
v4l2codecs: fix typos in the documentation
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8829 >
2025-04-12 15:02:38 +09:00
Jordan Petridis
741d1e5039
ci: Set CARGO_NET_GIT_FETCH_WITH_CLI
...
Recent infrastructure migration are causing issues
with the cargo fetch for our gitlab instance.
Use git itself to do the fetching
Similar to [1]
[1]: https://gitlab.freedesktop.org/gstreamer/gst-ci/-/issues/71
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8801 >
2025-04-11 11:38:08 +03:00
Stéphane Cerveau
a2793a4663
vkh265dec: add main-10 support
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8282 >
2025-04-10 19:58:47 +00:00
Stéphane Cerveau
ba44f0c9e0
vkformat: add NV12 10 bits support
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8282 >
2025-04-10 19:58:47 +00:00
Thibault Saunier
f110f9c290
devtools: dots-viewer: Bundle js dependncies using webpack
...
And avoid relying on cdn's and require access to the network to use `dots-viewer`
And git ignore `node_modules`
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4334
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8754 >
2025-04-10 18:48:49 +00:00
Carlos Bentzen
ffaa4bbb38
h266decoder: fix leak parsing SEI messages
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8814 >
2025-04-10 14:06:16 +00:00
Jan Schmidt
7212848e41
rtspsrc: Don't error out on not-linked too early
...
Wait until all pads have been exposed before accepting a not-linked,
as pads are added one-by-one and downstream might not be interested
in the first ones to appear.
Follow up to
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7946
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8798 >
2025-04-10 11:50:33 +00:00
Hou Qi
bf24ca6d29
gldownload: unref glcontext after usage
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8807 >
2025-04-10 09:27:04 +00:00
Carlos Rafael Giani
9ffab2199d
audiobasesink: Fix custom slaving driftsamples calculation
...
driftsamples currently uses the requested skew directly, even if it
exceeds cexternal.
Use the approach that skew_slaving uses to fix this. As a side benefit,
this makes the custom_slaving and skew_slaving code easier to compare.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8605 >
2025-04-10 06:41:13 +00:00
Carlos Rafael Giani
a59810ef97
examples: Add custom audio clock slaving callback example
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8605 >
2025-04-10 06:41:13 +00:00
Thibault Saunier
c48ba1ae10
discoverer: Enhance debug logging
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8803 >
2025-04-09 17:19:01 +00:00
Thibault Saunier
4066b145b6
ges: Enhance debug logging
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8803 >
2025-04-09 17:19:01 +00:00
Detlev Casanova
28fdf598e4
v4l2codecs: Unref the frame before leaving on error
...
In h264, h265 and mpeg2, make sure that dec_submit_bitstream() doesn't leak
a frame when dec_ensure_output_buffer() fails.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8794 >
2025-04-09 15:43:03 +00:00
Detlev Casanova
880053c52c
v4l2codecs: av1,vp9: Use temporary variable for buffer
...
This makes the end_picture() function handle the frame in the same way
as in vp8, which also fixes a frame leak when
gst_buffer_pool_acquire_buffer() fails.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8794 >
2025-04-09 15:43:03 +00:00
Xavier Claessens
f6115efe8d
Revert "va: h266 requires libva 2.22.0"
...
This reverts commit 8c017c79c5736c9e45e635df210e08550287646d.
1.22 was the correct pkg-config version. It's only the subproject
version that was wrong. Since we bumped libva.wrap to 2.22 version, h266
is now always available when using the subproject.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8800 >
2025-04-09 09:01:22 -04:00
Mathieu Duponchelle
d1b4104cbc
aggregator: expose current-level-* properties on sink pads
...
As aggregator internally queues data (up to latency), those properties
are helpful to monitor queue levels in the complete pipeline.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8731 >
2025-04-08 17:26:34 +00:00
Víctor Manuel Jáquez Leal
4fc8773371
y4menc: fix Y41B format
...
This a regression of commit fb0bea8f where output info variable was swapped with
input info variable by mistake.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8786 >
2025-04-08 13:10:19 +00:00
Xavier Claessens
a591dec87c
libva: Update wrap to 2.22.0
...
It is required for h266 support.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8788 >
2025-04-08 11:45:11 +00:00
Xavier Claessens
8c017c79c5
va: h266 requires libva 2.22.0
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8788 >
2025-04-08 11:45:11 +00:00
Philippe Normand
4e0a184c2a
ci: Update the ABI tag
...
The previous tag included the WebRTC ABI that is being reverted.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8787 >
2025-04-08 09:36:31 +01:00
Philippe Normand
1a55ae2c51
Revert "webrtc: stats: Increase spec compliance for ICE candidate stats"
...
This reverts commit 4718fc9be72ccbbb9278c9abe7d72106e161aebf.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8787 >
2025-04-08 09:35:49 +01:00
Philippe Normand
70af47ee17
Revert "webrtc: Add missing Since markers to new ICE API"
...
This reverts commit 601c772447b0bada8e54d097088b8ea51ecba09a.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8787 >
2025-04-08 09:35:49 +01:00
Guillaume Desmottes
9b19c10f39
alphacombine: unblock when alpha sink is eos
...
If the alpha sink receives EOS while the other thread was waiting for a
alpha buffer it was stuck waiting forever.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8775 >
2025-04-07 23:45:33 +00:00
Guillaume Desmottes
d2086675a4
alphadecodebin: use a multiqueue instead of a couple of queues
...
Fix gapless playback as queues are no longer stopped after the first
eos.
Co-authored-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
Fix #4165
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8775 >
2025-04-07 23:45:33 +00:00
Nicolas Dufresne
be63900324
ci: Update the ABI tag
...
This is to include the new gst_fd_allocator_alloc_full() function in
the check.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8025 >
2025-04-07 16:20:36 -04:00
Jakub Adam
75517d0faf
unixfdsrc: fix allocating FD memory with nonzero offsets
...
The element should allocate GstFdMemory large enough to fit incoming
memory's size plus its potential offset.
Fixes "gst_memory_resize: assertion 'size + mem->offset + offset <=
mem->maxsize' failed".
Fixes an issue reproducible on Raspberry Pi 4 that results in a garbled
image on the receiver's end:
gst-launch-1.0 libcamerasrc ! unixfdsink socket-path=/tmp/socket
gst-launch-1.0 unixfdsrc socket-path=/tmp/socket ! autovideosink
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8025 >
2025-04-07 14:51:47 +00:00
Jakub Adam
98bcd041d1
fdmemory: add gst_fd_allocator_alloc_full()
...
Allows allocating FD memory with offset != 0 and size != maxsize.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8025 >
2025-04-07 14:51:47 +00:00
Matthew Waters
601c772447
webrtc: Add missing Since markers to new ICE API
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8698 >
2025-04-07 12:07:16 +00:00
Philippe Normand
4718fc9be7
webrtc: stats: Increase spec compliance for ICE candidate stats
...
We now fill the foundation, related-address, related-port, username-fragment and
tcp-type fields.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8698 >
2025-04-07 12:07:16 +00:00
Philippe Normand
ac465ebfe1
webrtc: stats: Fill data-channel transport stats
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8698 >
2025-04-07 12:07:16 +00:00
Philippe Normand
b088d53970
webrtc: nice: Add niceutils
...
The gst_webrtc_nice_get_candidate_server_url() function is going to be used for
stats generation purposes and also from the upcoming get_selected_candidate_pair
implementation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8698 >
2025-04-07 12:07:16 +00:00
Philippe Normand
19dea1507e
webrtc: nice: Make use of nice_candidate_type_to_string
...
This API was added in libnice 0.1.19 and we currently require 0.1.20.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8698 >
2025-04-07 12:07:16 +00:00
Philippe Normand
aa15eb30ff
webrtc: nice: Remove unused libnice utilities
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8698 >
2025-04-07 12:07:16 +00:00
Razvan Grigore
0017384ae2
webrtcbin: add missing warning for caps missmatch
...
This helps debug cases when the remote is offerer and m-line does not match with already existing transceivers.
In this case, it will create new ones with sendrecv direction without any warning.
Similar with code from _create_answer_task
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8735 >
2025-04-07 01:26:25 +00:00
Sebastian Dröge
883ff6caaa
ci: Update to Rust 1.86 and cargo-c 0.10.12
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8783 >
2025-04-05 19:56:17 +03:00
Seungha Yang
d9bbfc27fd
ci: Update ABI_CHECK_TAG for h264/h265parser change
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8679 >
2025-04-05 09:48:41 +00:00
Seungha Yang
740b7564ee
h265parser: Make gst_h265_parser_link_slice_hdr public
...
... and updating h265decoder/h265ccinserter to match
the changed gst_h265_parser_link_slice_hdr method
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8679 >
2025-04-05 09:48:41 +00:00
Seungha Yang
deee13a6c3
h264parser: Store associated parameter set id
...
Make h264parser and h265parser consistent
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8679 >
2025-04-05 09:48:41 +00:00
Seungha Yang
1bd5afa460
h265parser: Store PPS id in slice header
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8679 >
2025-04-05 09:48:41 +00:00
Ognyan Tonchev
6db576f033
gstrtpsession: Do not push events while holding SESSION_LOCK
...
Doing so can trigger deadlocks
Fixes : #4328
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8695 >
2025-04-05 08:43:06 +00:00