Viktor Chvatal
f5d372769e
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/1558 >
2024-10-17 13:40:16 +00:00
François Laignel
590338bb43
gst: fix typo in format doc
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1536 >
2024-09-20 06:51:04 +00:00
François Laignel
34b97e21a4
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/1523 >
2024-09-11 15:25:27 +02:00
François Laignel
739de84a6b
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/1521 >
2024-09-11 12:57:30 +02:00
Tim-Philipp Müller
da8c41c6fb
Update CHANGELOG.md for 0.22.7
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1487 >
2024-07-24 13:21:24 +01:00
Sebastian Dröge
ce6741a157
gstreamer: meta: Pass an empty tag array instead of NULL to gst_meta_register_custom()
...
NULL gives a critical warning but an empty, NULL-terminated array gives
the desired result.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/516
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1485 >
2024-07-18 20:51:07 +01:00
Sebastian Dröge
1ff88815df
gstreamer: Unconditionally use gst_parse_context_copy()
...
It's available since 1.12.1 and the minimum supported version for the
bindings is 1.14 nowadays.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1479 >
2024-07-06 13:04:31 +01:00
Sebastian Dröge
e46927057b
gstreamer: childproxy: Include child property name in error message when lookup fails
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1474 >
2024-06-30 11:16:32 +01:00
Sebastian Dröge
ae16a8e276
Update CHANGELOG.md for 0.22.6
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1467 >
2024-06-19 18:35:25 +03:00
Sebastian Dröge
4ba6e88de9
Regenerate with latest gir
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1467 >
2024-06-19 18:28:50 +03:00
Sebastian Dröge
529b91b524
Fix various new 1.79 clippy warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1467 >
2024-06-19 18:26:57 +03:00
Tim-Philipp Müller
4c3146d5bd
log: fix panic when using a log id with a formatted log message
...
Would panic because of a missing NUL terminator:
thread '<unnamed>' panicked at .. glib/src/gstring.rs:61:9:
assertion failed: !bytes.is_empty() && bytes[bytes.len() - 1] == 0
3: glib::gstring::GStr::from_utf8_with_nul_unchecked
4: gstreamer::log::DebugCategory::log_id_unfiltered_internal
at gstreamer-rs/gstreamer/src/log.rs:465
5: gstreamer::log::DebugCategory::log_id_unfiltered
at gstreamer-rs/gstreamer/src/log.rs:425
Also enable logging on the category, so the logging code paths
are actually run here in the tests.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1453 >
2024-06-02 17:42:58 +03:00
Sebastian Dröge
fc554b7486
Update CHANGELOG.md for 0.22.5
2024-05-23 15:49:51 +03:00
Sebastian Dröge
77a012114d
gstreamer: caps: Add missing assertion in Caps::remove_structure()
...
Part of 9e2c6268cb
.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1447 >
2024-05-23 09:50:33 +03:00
Tim-Philipp Müller
f055daf01b
gstreamer: bufferlist: add another test for foreach_mut
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1447 >
2024-05-23 09:45:54 +03:00
Sebastian Dröge
4ca6dc3853
gstreamer: bufferlist: Check index/length when removing a buffer
...
Out of range values give assertions in the C function.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1447 >
2024-05-23 09:45:44 +03:00
Sebastian Dröge
61b69db8e1
gstreamer: bufferlist: Check for out of range indices before trying to get buffer
...
Passing an index bigger than the length will cause an assertion in the C
function.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1447 >
2024-05-23 09:45:30 +03:00
Sebastian Dröge
72ba13410e
Update to itertools 0.13
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1447 >
2024-05-23 09:45:22 +03:00
Seungha Yang
93348efcbf
event: Fix leak in SelectStreamsBuilder
...
gst_event_new_select_streams() does not take ownership of GList
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1447 >
2024-05-23 09:45:17 +03:00
Sebastian Dröge
6b0d286c87
Fix various new 1.78 clippy warnings
...
Quite a bit of API was accidentally not exported but apparently nobody
was using it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1447 >
2024-05-23 09:43:57 +03:00
Sebastian Dröge
e8b00da723
Regenerate with latest gir / gir-files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1430 >
2024-04-27 11:32:46 +03:00
Sebastian Dröge
17c021297a
Update CHANGELOG.md for 0.22.4
2024-04-08 16:07:49 +03:00
Sebastian Dröge
2f35b4251e
Update CHANGELOG.md for 0.22.3
2024-03-19 18:10:40 +02:00
Sebastian Dröge
c7acd517c1
Regenerate with latest gir-files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1411 >
2024-03-19 17:46:27 +02:00
Dave Patrick Caberto
a570625328
fraction: refer to numer and denom more consistently
...
This also lessens the tendency to confuse num with number.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1411 >
2024-03-19 17:42:35 +02:00
Dave Patrick Caberto
d138317510
fraction: add const new_raw and from_integer methods
...
These are direct counterparts to their respective Rational32 constructors.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1411 >
2024-03-19 17:42:25 +02:00
Sebastian Dröge
b5d6697e84
Update CHANGELOG.md for 0.22.2
2024-02-26 14:48:13 +02:00
Sebastian Dröge
4ad5f374b1
Regenerate with latest GStreamer gir files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1402 >
2024-02-26 14:12:52 +02:00
Sebastian Dröge
79088dc6dd
gstreamer: Update serde flags tests for new ObjectFlags
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1402 >
2024-02-26 14:10:14 +02:00
Sebastian Dröge
7cc1f6cd45
gstreamer: bus: Handle all previously queued messages too in the BusStream
...
Before the stream was created, some messages might've been queued on the
bus. For more similar behaviour with the bus watch, first pop all the
queued messages before handling new messages.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1402 >
2024-02-26 14:09:46 +02:00
Benjamin Gaignard
d07f72f34e
meta: Add is_registered function for CustomMeta
...
Test if a Meta type is already registered.
It is useful to know if a custom metadata type has already
been registed to avoid registererd twice and get asserts.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1402 >
2024-02-26 14:09:04 +02:00
Sebastian Dröge
02c6b9128c
Update CHANGELOG.md for 0.22.1
2024-02-13 12:28:34 +02:00
Sebastian Dröge
b08ed23989
structure: Call _full()
serialize function for GST_SERIALIZE_FLAG_STRICT
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1394 >
2024-02-12 18:10:05 +02:00
Sebastian Dröge
36269458f2
tags: Add new ContainerSpecificTrackId
tag
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1394 >
2024-02-12 18:09:56 +02:00
Sebastian Dröge
aa4e0d10c8
Regenerate with new GStreamer gir files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1394 >
2024-02-12 18:09:47 +02:00
Sebastian Dröge
a9354a3715
meta: Add support for 1.24 Meta
clear function
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1394 >
2024-02-12 18:08:59 +02:00
Sebastian Dröge
e0eab9d19b
meta: Fix MetaRefMut::upcast_mut()
to return a mutable reference
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1394 >
2024-02-12 18:08:53 +02:00
Sebastian Dröge
6e360451b7
Regenerate with 0.19.0 gir / gir-files
2024-02-08 14:58:54 +02:00
Sebastian Dröge
b13bfe3617
Update dependency versions for gtk-rs-core and the local crates
2024-02-08 14:47:49 +02:00
Sebastian Dröge
aab36d9745
Update CHANGELOG.md for 0.22.0
2024-02-08 14:27:28 +02:00
Olivier Crête
7ec3c8713a
analytics: Add bindings for apps/plugins
...
The whole API to use the Analytics meta is implemented.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1358 >
2024-02-07 12:21:54 +02:00
Sebastian Dröge
90bb9182c2
Regenerate with latest gir / gir-files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1385 >
2024-02-06 09:55:42 +02:00
Sebastian Dröge
a3b3017d75
gstreamer: Re-export / manually implement new standalone functions
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1385 >
2024-02-06 09:55:42 +02:00
Sebastian Dröge
e16832a2a8
gstreamer: Update configuration for new standalone functions
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1385 >
2024-02-06 09:52:57 +02:00
Sebastian Dröge
a51b5bdfd3
Fix a new clippy warning
...
warning: this bound is already specified as the supertrait of `FusedStream`
--> gstreamer/src/bus.rs:314:15
|
314 | ) -> impl Stream<Item = Message> + Unpin + FusedStream + Send + 'a {
| ^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#implied_bounds_in_impls
= note: `#[warn(clippy::implied_bounds_in_impls)]` on by default
help: try removing this bound
|
314 - ) -> impl Stream<Item = Message> + Unpin + FusedStream + Send + 'a {
314 + ) -> impl Unpin + FusedStream<Item = Message> + Send + 'a {
|
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1383 >
2024-02-05 12:07:15 +02:00
Bilal Elmoussaoui
2dff5b8ae2
Use workspace features for common deps
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1382 >
2024-02-03 10:48:37 +01:00
Bilal Elmoussaoui
14ffbfbe83
Use workspace features for crates metadata
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1382 >
2024-02-03 10:48:37 +01:00
Bilal Elmoussaoui
aaea288abf
Adapt to no longer re-exported traits
...
Some of the traits were moved to prelude or translate
and no longer in the main scope of the crate
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1382 >
2024-02-03 10:48:37 +01:00
Bilal Elmoussaoui
cfc1aed3c3
Adapt to renamed ffi crates
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1382 >
2024-02-03 08:56:45 +01:00
Bilal Elmoussaoui
ba91648bd5
Regenerate with latest gir
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1382 >
2024-02-03 08:48:44 +01:00