Arun Raghavan
f62c8658e4
gstreamer: Add API to take an event and buffers in a pad probe
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1448 >
2024-09-12 13:02:32 +00:00
François Laignel
88a52d9ea1
gst: anticipate GQuark to GstIdStr lifetime changes
...
GStreamer fixes a memory leak due to GQuarks by switching to GstIdStr.
The consequence is that strings previously backed by a GQuark returned by a
function will now get their lifetime bound to that of its owner, while the
GQuark version ensured static lifetime.
Because some functions return a string with the assumption that they are static
and because we can't alter the API for existing versions of the bindings, this
MR temporarily forces affected strings as GQuarks, thus gaining static lifetime
regardless of the GStreamer version actually being used.
For newer versions of the bindings, the API will be fixed and GQuarks will be
removed in favor a leakless solution.
See: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7432
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1519 >
2024-09-11 09:19:35 +00:00
François Laignel
96ec17b1e9
structure: fix doc
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1519 >
2024-09-11 09:19:35 +00:00
François Laignel
1b578b6113
tags: fix index() lifetime bind
...
The signature for `TagListRef::index` didn't bind the lifetime of the returned
`TagValue` to `&self`. This causes the following code to compile:
```rust
1 let title = {
2 let mut tags = TagList::new();
3 {
4 let tags = tags.get_mut().unwrap();
5 tags.add::<Title>(&"some title", TagMergeMode::Append);
6 }
7
8 let title = tags.index::<Title>(0).unwrap();
9 assert_eq!(title.get(), "some title");
10
11 title
12 };
13
14 assert_eq!(title.get(), "some title");
```
... but it panics at runtime on the last `title.get()`:
```
Invalid tag type: WrongValueType(ValueTypeMismatchError
{ actual: <invalid>, requested: gchararray })
```
Indeed, the `title` `TagValue` is freed with the `tags` on line 12.
This commit fixes the function signature so the returned `TagValue` can't
outlive its `TagListRef`.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1518 >
2024-09-10 19:40:33 +00:00
L. E. Segovia
7eaf47d7b5
Add workaround for linking against macOS SDK's relocatable dylibs
...
See https://github.com/rust-lang/cargo/issues/5077#issuecomment-1284482987
and https://github.com/rust-lang/rust/issues/127100
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1516 >
2024-09-10 16:48:29 +00:00
Sebastian Dröge
5c39500308
ci: Ignore derive_more 1.0 update until MSRV can be updated to 1.75+
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1512 >
2024-09-10 05:56:53 +00:00
Sebastian Dröge
299601f7e3
Update Cargo.lock
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1512 >
2024-09-10 05:56:53 +00:00
Piotr Brzeziński
9bb441880d
Remove unused imports in example/tutorial macOS code
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1512 >
2024-09-10 05:56:53 +00:00
Sebastian Dröge
c818778ad7
examples: Update to cocoa 0.26
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1512 >
2024-09-10 05:56:53 +00:00
Sebastian Dröge
628f040e2d
Fix new 1.81 clippy warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1515 >
2024-09-05 21:52:35 +03:00
Sebastian Dröge
b9d34e1c21
ci: Update to Rust 1.81
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1515 >
2024-09-05 21:36:38 +03:00
Sebastian Dröge
ed6aac91bd
Remove deprecated API
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1513 >
2024-08-28 09:44:55 +03:00
Sebastian Dröge
497f15acd3
Update CHANGELOG.md for 0.23.1
2024-08-27 20:42:18 +03:00
Sebastian Dröge
be7b3e3522
deny: Remove toml_edit override
2024-08-27 20:31:50 +03:00
Sebastian Dröge
2f9f70bd67
Update Cargo.lock
2024-08-27 20:31:33 +03:00
Jordan Petridis
78c490ef17
ci: Update the .cargo/config file
...
```
warning: `/builds/alatiera/gstreamer-rs/.cargo/config` is deprecated in favor of `config.toml`
```
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1504 >
2024-08-21 16:54:22 +00:00
Jordan Petridis
e8797c95e7
ci: Add a default retry policy for jobs
...
Automatically retry if it's a system failure or similar
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1503 >
2024-08-21 17:30:10 +03:00
Jordan Petridis
a8234a67d2
ci: Use gstreamer runners for jobs that recursively clone submodules
...
Seems like the placeholder runner is having issues with git-lfs atm.
```
Could not pull
Errors logged to '/builds/alatiera/gstreamer-rs/.git/modules/gir-files/lfs/logs/20240820T212811.645856902.log'.
Use `git lfs logs last` to view the log.
fatal: run_command returned non-zero status for gir-files
```
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1503 >
2024-08-21 17:30:10 +03:00
Jordan Petridis
9b5b1d4650
ci: Avoid cloning the submodules when they are not needed
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1503 >
2024-08-21 17:30:10 +03:00
Jordan Petridis
4ee374e60c
ci: Pin the windows jobs to gstreamer runners for now
...
There seem to be some seemingly random failures if the
jobs get scheduled on the hyper-v isolation runners,
and they need to be debugged further.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1503 >
2024-08-21 17:30:10 +03:00
Nirbheek Chauhan
c5dfc87953
ci: Bump linux image tag, and make a separate tag for windows
...
It is fairly common to rebuild only the linux or windows image. This
avoids needless rebuilds and then (v slow) downloads into the docker
cache of runners.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1500 >
2024-08-19 21:10:07 +05:30
Nirbheek Chauhan
57aa8e09ea
ci: Use debian's gtk package instead of building our own
...
GTK 4.14 needs a newer glib, but we cannot build and use our own
because the system glib ends up taking precedence because cargo-c
doesn't set RPATHs for the plugins it builds.
The oldest GTK that supports glib 2.74 is GTK 4.10, and Debian 12
ships GTK 4.8, so let's just use the system GTK.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1500 >
2024-08-19 21:09:54 +05:30
Nirbheek Chauhan
4cf22e91cf
ci: Don't pip install tomli on Debian anymore
...
It ships Python 3.11 which ships with a toml module.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1500 >
2024-08-19 20:48:07 +05:30
Sebastian Dröge
7959e37204
ci: Disable GTK Vulkan backend
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1499 >
2024-08-19 13:17:30 +03:00
Nirbheek Chauhan
ebe7f5f663
ci: Force fallback for glib when building gstreamer
...
Also canonicalize some argument passing in install-gst.sh
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1499 >
2024-08-19 13:16:20 +05:30
Sebastian Dröge
63935bb680
ci: Update image version
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1499 >
2024-08-19 10:05:42 +03:00
Sebastian Dröge
c463c07871
examples: glupload: Fix compilation with Rust < 1.72 on Windows
...
The event proxy on Windows is only `Sync` if the contained `Sender` is,
but until Rust 1.72 it was not.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1499 >
2024-08-19 10:02:36 +03:00
Sebastian Dröge
09bc0a2836
examples: d3d11videosink: Fix compiler warning about unused closure parameter
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1499 >
2024-08-19 09:58:16 +03:00
Nirbheek Chauhan
44479cf42a
ci: Rely on the monorepo's gtk subproject support
...
The monorepo now ensures that the gtk subproject keeps building on
windows and macOS via its own CI.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1499 >
2024-08-17 16:03:54 +05:30
Jordan Petridis
ec66403c24
ci: Remove the manual trigger for the rust msrv windows job
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1499 >
2024-08-16 20:09:23 +03:00
Jordan Petridis
c7694a4a91
ci: Fix rust version check in the windows build
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1499 >
2024-08-16 20:08:04 +03:00
Jordan Petridis
b829c41cdc
ci: Add comments to the windows dockerfile about build-args
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1491 >
2024-08-13 15:43:09 +03:00
Jordan Petridis
75ed9b668f
ci: Update ci-templates ref
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1491 >
2024-08-13 15:41:44 +03:00
Sebastian Dröge
ae120b300f
ci: Remove unnecessary --force from cargo install
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1491 >
2024-08-13 15:41:44 +03:00
Sebastian Dröge
6c5ceca804
ci: Fix version checks
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1491 >
2024-08-13 15:41:44 +03:00
Sebastian Dröge
6674f8d23a
ci: Update to Rust 1.80.1
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1491 >
2024-08-13 15:41:44 +03:00
Sebastian Dröge
326e5861f3
ci: Don't use --locked for cargo-outdated / grcov with 1.80 / nightly
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1491 >
2024-08-13 15:41:44 +03:00
Sebastian Dröge
57f407fa89
ci: Also use cargo-c 0.10.3 for Rust 1.80
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1491 >
2024-08-13 15:41:44 +03:00
Sebastian Dröge
c9412e663b
ci: Update to cargo-c 0.9.26 and 0.10.3 when building for nightly
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1491 >
2024-08-13 15:41:44 +03:00
Sebastian Dröge
99f598a45a
ci: Update to dav1d 1.4.3
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1491 >
2024-08-13 15:41:44 +03:00
Sebastian Dröge
ce9c1729b8
ci: Update to meson 1.5.1
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1491 >
2024-08-13 15:41:44 +03:00
Sebastian Dröge
a145ce6ab1
Ignore a new 1.80 clippy warning
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1491 >
2024-08-13 15:41:44 +03:00
Sebastian Dröge
30d247fd5c
ci: Update to Rust 1.80
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1491 >
2024-08-13 15:41:44 +03:00
Jordan Petridis
2061a4e310
ci/windows-docker: Move rustup install into a ps1 script
...
We will need this in order to be able to add conditionals
depending on the rustc version, like we do on the linux
script.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1491 >
2024-08-13 15:41:44 +03:00
Jordan Petridis
80d1066a20
ci: Generate html and cobertura coverage with a single command
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1497 >
2024-08-12 19:37:34 +03:00
Albert Sjolund
4d6c30cdb6
utils: streamproducer: wrap atomic operations
...
In order to support more platforms, especially MIPS,
add a small wrapper for necessary atomic(u64) instructions.
It exposes the necessary functions, and falls back to
mutex if needed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1471 >
2024-08-12 14:54:29 +02:00
Sebastian Dröge
4306c9a2c9
deny: Update for new configuration format
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1496 >
2024-08-07 18:16:07 +03:00
Sebastian Dröge
bc96a99576
Regenerate with latest gir
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1496 >
2024-08-07 18:16:07 +03:00
Sebastian Dröge
0bd9fbd615
Update gir
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1496 >
2024-08-07 18:16:07 +03:00
Sebastian Dröge
f8d1d813c5
Update Cargo.lock
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1496 >
2024-08-07 18:16:07 +03:00