Commit graph

1442 commits

Author SHA1 Message Date
François Laignel
8a08557ce4 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/1526>
2024-09-11 18:00:38 +02:00
Sebastian Dröge
b9307ca258 gstreamer: memory: Fix assertions for copy_range/resize/share functions
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1392>
2024-02-12 15:56:52 +02:00
Sebastian Dröge
bdf502c632 Update CHANGELOG.md for 0.19.8 2023-02-09 21:30:01 +02:00
Sebastian Dröge
cc4c814095 Update versions to 0.19.8 2023-02-09 21:27:26 +02:00
Sebastian Dröge
b708208408 gstreamer: Add bindings for Message::structure_mut()
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1215>
2023-02-09 20:43:09 +02:00
Sebastian Dröge
b54746cf62 gstreamer: Use obj() instead of instance() in the remaining places
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1202>
2023-01-24 16:08:45 +02:00
Sebastian Dröge
7ca1834cd6 Add 1.22 to extra_versions
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1202>
2023-01-24 16:07:51 +02:00
Sebastian Dröge
4f6f7028b9 gstreamer: Mark MessageType enum as non-exhaustive
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1202>
2023-01-24 16:07:51 +02:00
Sebastian Dröge
57052b9417 Regenerate with latest gir files
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1202>
2023-01-24 16:06:56 +02:00
Sebastian Dröge
f27a717ceb Get README.md in sync again
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/437
2023-01-23 12:01:31 +02:00
Sebastian Dröge
455fef0734 Update CHANGELOG.md for 0.19.7 2023-01-19 19:03:29 +02:00
Sebastian Dröge
fd28a25948 Update versions to 0.19.7 2023-01-19 19:02:09 +02:00
Sebastian Dröge
ee2505388b gstreamer: Handle NULL caps when parsing the allocation query
With the next release this will be handled explicitly and setting no
caps will also be possible when creating allocation queries.

See https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1194

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1195>
2023-01-19 16:25:15 +02:00
Sebastian Dröge
24f8b74f21 Fix version links in CHANGELOG.md 2023-01-18 16:50:50 +02:00
Sebastian Dröge
085108f4a2 Update versions to 0.19.6 2023-01-18 16:47:43 +02:00
Sebastian Dröge
f50ddc134b Update CHANGELOG.md for 0.19.6 release 2023-01-18 16:47:23 +02:00
Sebastian Dröge
47a8d27a04 gstreamer: Fix memory leak in buffer pool subclassing test
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1193>
2023-01-18 16:34:46 +02:00
Sebastian Dröge
a78177aacb gstreamer: Add missing doc alias
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1193>
2023-01-18 16:34:46 +02:00
Sebastian Dröge
8ff2416988 Update CHANGELOG.md for 0.19.5 2022-12-27 12:49:55 +02:00
Sebastian Dröge
aadbeac8c1 Update versions to 0.19.5 2022-12-27 12:47:10 +02:00
Sebastian Dröge
251dc5c576 Regenerate with latest GStreamer gir files
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1176>
2022-12-27 12:31:03 +02:00
Sebastian Dröge
58ea85c52c gstreamer: Allow returning Handled from BufferList pad probes
This is handled exactly the same way as buffers.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1176>
2022-12-27 12:28:09 +02:00
Sebastian Dröge
913dfdcdfc Update CHANGELOG.md for 0.19.4 2022-12-16 11:43:16 +02:00
Sebastian Dröge
9520f2da0e Update versions to 0.19.4 2022-12-16 11:40:57 +02:00
Sebastian Dröge
bb90b58547 Fix various new clippy warnings
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1168>
2022-12-16 09:22:59 +02:00
Sebastian Dröge
dbd9447a26 Regenerate with latest gir / gir files
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1163>
2022-12-12 13:25:01 +02:00
Sebastian Dröge
a8dd4aa165 gstreamer: Add DebugCategory::above_threshold() to check if the category's threshold is above the given level
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1163>
2022-12-12 13:22:45 +02:00
Sebastian Dröge
2cf5347d1b gstreamer: Reduce some code duplication in the logging code
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1163>
2022-12-12 13:17:35 +02:00
Sebastian Dröge
8c6758f4a4 gstreamer: Add bindings for new 1.22 debug log ID API
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1163>
2022-12-12 13:17:21 +02:00
Sebastian Dröge
7fcd2f0cf6 gstreamer: Directly use fields for DebugCategory getters
This allows for better optimizations as it doesn't go through an opaque
FFI function.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1163>
2022-12-12 13:17:15 +02:00
Sebastian Dröge
d5e58d2dd4 gstreamer: Ignore EventType::to_sticky_ordering
This is handled manually via the `PartialOrd` impl.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1163>
2022-12-12 13:16:51 +02:00
Sebastian Dröge
2fe30fb166 Update versions to 0.19.3 2022-11-28 10:14:29 +02:00
Sebastian Dröge
7f1f7f4d67 Update CHANGELOG.md for 0.19.3 2022-11-28 10:14:29 +02:00
Sebastian Dröge
51c8a12f35 gstreamer: Add PartialEq impls between owned/borrowed miniobjects/structures
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1158>
2022-11-27 19:54:18 +02:00
Sebastian Dröge
40143109da gstreamer: Fix sticky event ordering for instant-rate-change
The event type for instant-rate-change events was poorly chosen, leading
to them being re-sent too late and even after EOS.

See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3387

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1158>
2022-11-27 19:53:39 +02:00
Sebastian Dröge
1087b63ac4 Regenerate with latest GStreamer gir files
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1158>
2022-11-27 19:53:25 +02:00
Sebastian Dröge
048693202c gstreamer: Implement FromIterator<Caps> and Extend<Caps> for Caps
This allows easily generating new/extending existing caps from an
iterator.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1158>
2022-11-27 19:50:57 +02:00
Sebastian Dröge
056b0df294 Update CHANGELOG.md for 0.19.2 2022-11-13 19:50:21 +02:00
Sebastian Dröge
bfa468e87f Update versions to 0.19.2 2022-11-13 19:45:33 +02:00
Sebastian Dröge
38dfe1596d Regenerate with latest gir
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1147>
2022-11-12 17:38:39 +02:00
Elie Génard
250a65f02d gstreamer: Add gst::Allocator subclassing support
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1147>
2022-11-12 17:34:25 +02:00
Sebastian Dröge
784c44b947 gstreamer: Manually implement Allocator::register()
Due to a bug it causes use-after-free in versions < 1.20.5, so work
around that here.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1147>
2022-11-12 17:34:11 +02:00
Sebastian Dröge
41c2a2d4af Fix various new clippy warnings
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1147>
2022-11-12 17:33:04 +02:00
Sebastian Dröge
f440534c6d Fix 0.19.1 release date in the changelog 2022-10-24 12:34:05 +03:00
Sebastian Dröge
a6a168d200 Update CHANGELOG.md for 0.19.1 2022-10-24 12:32:29 +03:00
Sebastian Dröge
20120fda3d Update versions to 0.19.1 2022-10-24 11:23:00 +03:00
Sebastian Dröge
f60dfebe07 Update GLib dependency to 0.16.2 2022-10-24 10:55:34 +03:00
Sebastian Dröge
d1029e374a Move from imp.instance() to imp.obj()
It's doing the same thing and is shorter.
2022-10-24 10:47:25 +03:00
François Laignel
2bec28e920 gst/log: accept non-ref obj in macros 2022-10-24 10:46:54 +03:00
Sebastian Dröge
83d5efbeb4 Add version requirement to the sys dependency of each crate too 2022-10-22 21:11:51 +03:00