Jordan Petridis
9e89c93ad5
ci: Use cargo nextest as the test runner and export junit reports
...
Close #519
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1572 >
2024-10-22 14:34:08 +00:00
Sebastian Dröge
1deddbc6d3
iterator: Add a few more constructors for convenience
...
And implement `Vec` version more generically.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1568 >
2024-10-21 18:26:18 +00:00
juan.adarve
43fbdd54a7
utils: streamproducer: update appsrc latency upon appsink latency event
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1564 >
2024-10-21 14:37:50 +00:00
Viktor Chvatal
a360f11ac7
gstreamer: Fix binding to wrong C function in PadExtManual::proxy_query_caps
...
Fixes #533
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1557 >
2024-10-17 13:02:11 +00:00
Arun Raghavan
c9f7a2a947
gstreamer: Add tests for pad probes taking and dropping data
...
This is quite similar to the HANDLED case, so reuse that code.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1552 >
2024-09-28 16:29:28 +03:00
Arun Raghavan
9e6ec4c68d
ci: Update CI image with current gstreamer commits
...
This is needed so that the fix from
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7493
can be used while testing recent changes to the pad probe API.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1552 >
2024-09-28 16:29:23 +03:00
Sebastian Dröge
bbbcda32e8
Fix new 1.81 clippy warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1551 >
2024-09-28 10:43:02 +01:00
Sebastian Dröge
d6caf2d048
ci: Update to Rust 1.81
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1551 >
2024-09-28 10:43:02 +01:00
Sebastian Dröge
41b938674d
Update CHANGELOG.md for 0.23.2
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1549 >
2024-09-28 12:15:07 +03:00
Sebastian Dröge
b66a639620
Update versions to 0.23.2
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1549 >
2024-09-28 12:09:34 +03:00
Sebastian Dröge
2540917995
Update Cargo.lock
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1549 >
2024-09-28 12:09:16 +03:00
Sebastian Dröge
0c1ea6abbf
gstreamer: Remove manual #[link] attribute
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1544 >
2024-09-28 11:49:23 +03:00
Sebastian Dröge
6a554744f5
Regenerate with latest gir
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1544 >
2024-09-28 11:48:43 +03:00
Sebastian Dröge
e99c7f859b
Update gir
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1544 >
2024-09-28 11:48:17 +03:00
Daniel Stone
46af337b23
ci: Only use as many cores as we're supposed to
...
Instead of spawning 64 compiler instances on a 64-core machine that's
being shared with 7 other jobs.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1547 >
2024-09-21 00:29:04 +02:00
L. E. Segovia
43b0f4ec71
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/1538 >
2024-09-19 12:54:00 +02:00
Arun Raghavan
a369f9e345
gstreamer: Use new pad probe take_*() API in tests
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1537 >
2024-09-19 10:03:03 +02:00
Arun Raghavan
e34323cf2a
gstreamer: Set data to null if it's consumed
...
When the probe has HANDLED the data, we're expecting the caller to no
longer access it. Let's explicitly protect against that by setting the
data to NULL on return.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1537 >
2024-09-19 10:03:02 +02:00
Arun Raghavan
58efcc5fd5
gstreamer: Add some setters for Message
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1537 >
2024-09-19 10:03:02 +02:00
Arun Raghavan
301e25c832
gstreamer: Add some setters for Event
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1537 >
2024-09-19 10:03:02 +02:00
Arun Raghavan
e1accc5ffd
gstreamer: Add a MessageViewMut for mutable message access
...
This isn't very generally useful, but there are special cases where
accessing the structure, or adding details is handy.
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/474
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1537 >
2024-09-19 10:03:02 +02:00
Arun Raghavan
2aeff17297
gstreamer: Add an EventViewMut accessor
...
Should make mutable access to events less verbose.
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/474
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1537 >
2024-09-19 10:03:02 +02:00
Arun Raghavan
6321323ca6
gstreamer: Add API to take an event and buffers in a pad probe
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1537 >
2024-09-19 10:03:02 +02:00
Jan Alexander Steffens (heftig)
4a5d62311e
gst: Fix range in Percent::ppm doc
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1535 >
2024-09-18 23:31:52 +00:00
François Laignel
ddff075fb8
gst: fix typo in format doc
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1534 >
2024-09-19 00:13:39 +01:00
Sebastian Dröge
7dd435daa6
video: Add #[must_use]
attribute to VideoTimeCode::add_interval()
...
It doesn't change the original value but returns the new result.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1530 >
2024-09-16 09:45:39 +01:00
François Laignel
314731b62c
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/1522 >
2024-09-11 10:58:07 +01:00
François Laignel
33cb47229a
structure: fix doc
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1522 >
2024-09-11 10:58:07 +01:00
François Laignel
9a628848cf
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/1520 >
2024-09-10 23:57:23 +01:00
Sebastian Dröge
500499827d
Update CHANGELOG.md for 0.23.1
2024-08-27 20:41:59 +03:00
Sebastian Dröge
3a67b7b752
Update versions to 0.23.1
2024-08-27 20:32:57 +03:00
Sebastian Dröge
c52f6be92b
deny: Remove toml_edit override
2024-08-27 20:32:11 +03:00
Sebastian Dröge
decd9182b1
deny: Update for new configuration format
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1496 >
2024-08-27 20:31:10 +03:00
Sebastian Dröge
dd9db07f29
Update Cargo.lock
2024-08-27 20:30:32 +03:00
Albert Sjolund
dc9be3b60e
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/1505 >
2024-08-22 11:23:18 +00:00
Sebastian Dröge
5ae5f14532
Fix new 1.80 clippy warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1506 >
2024-08-22 13:41:21 +03:00
Jordan Petridis
7dc638e620
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/1506 >
2024-08-22 11:00:34 +01:00
Jordan Petridis
625bd4140d
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/1506 >
2024-08-22 10:57:54 +01:00
Jordan Petridis
68377c41d6
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/1506 >
2024-08-22 10:57:50 +01:00
Jordan Petridis
61814c9b0c
ci: Avoid cloning the submodules when they are not needed
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1506 >
2024-08-22 10:57:40 +01:00
Jordan Petridis
d1d2111413
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/1506 >
2024-08-22 10:57:35 +01:00
Nirbheek Chauhan
3685935554
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/1506 >
2024-08-22 10:56:55 +01:00
Nirbheek Chauhan
4349ef5b03
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/1506 >
2024-08-22 10:56:51 +01:00
Nirbheek Chauhan
d8137106c1
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/1506 >
2024-08-22 10:56:47 +01:00
Sebastian Dröge
99478a848e
ci: Disable GTK Vulkan backend
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1506 >
2024-08-22 10:55:10 +01:00
Nirbheek Chauhan
d01c3e65a5
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/1506 >
2024-08-22 10:55:05 +01:00
Sebastian Dröge
7e1ba0b40f
ci: Update image version
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1506 >
2024-08-22 10:54:59 +01:00
Sebastian Dröge
1501f9b944
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/1506 >
2024-08-22 10:54:53 +01:00
Sebastian Dröge
30b90673f5
examples: d3d11videosink: Fix compiler warning about unused closure parameter
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1506 >
2024-08-22 10:54:48 +01:00
Nirbheek Chauhan
d920cb4629
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/1506 >
2024-08-22 10:54:43 +01:00