Commit graph

3882 commits

Author SHA1 Message Date
Sebastian Dröge
d3593c86b6 Update CHANGELOG.md for 0.23.3
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1582>
2024-11-01 09:26:08 +02:00
Sebastian Dröge
15525c1dd1 Update versions to 0.23.3
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1582>
2024-11-01 09:23:30 +02:00
Sebastian Dröge
e92899b12d Update Cargo.lock
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1582>
2024-11-01 09:22:18 +02:00
Sebastian Dröge
186fbd7a73 examples: Update to cocoa 0.26
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1582>
2024-11-01 09:22:01 +02:00
Jerome Colle
11c632e580 app: fix appsink processing deadline setter
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1579>
2024-11-01 01:34:44 +00:00
Sebastian Dröge
a538e20581 analytics: Remove unnecessarily mutable references
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1574>
2024-10-22 16:22:44 +00:00
Sebastian Dröge
370737fa1a base: Add new Aggregator::push_src_event() method
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1574>
2024-10-22 16:22:44 +00:00
Sebastian Dröge
fa1b7e22e0 Regenerate with latest GStreamer gir files
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1574>
2024-10-22 16:22:43 +00:00
Sebastian Dröge
a279e02ca2 Update GStreamer gir files
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1574>
2024-10-22 16:22:43 +00:00
Sebastian Dröge
8b07e64b41 Update Gir.tomls
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1574>
2024-10-22 16:22:43 +00:00
Sebastian Dröge
0c1f795f73 ci: Update to cargo-c 0.10.5
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1572>
2024-10-22 14:34:08 +00:00
Sebastian Dröge
a8d694af16 ci: Update to meson 1.5.2
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1572>
2024-10-22 14:34:08 +00:00
Sebastian Dröge
8f226ba48f ci: Update to Rust 1.82
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1572>
2024-10-22 14:34:08 +00:00
Jordan Petridis
af3bb7558f ci: Specify the number of build jobs on windows
Followup to 7b51a7c77b

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1572>
2024-10-22 14:34:08 +00:00
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