Commit graph

676 commits

Author SHA1 Message Date
Sebastian Dröge be3c378f28 Use Results instead of Options where they signal an error instead of just a missing value
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/216
2019-12-17 22:21:28 +02:00
Sebastian Dröge eaafbd14f7 Regenerate 2019-12-15 12:19:33 +02:00
Sebastian Dröge f417d68820 Remove usage of glib_floating_reference_guard!()
It's not needed anymore.
2019-12-07 23:05:14 +02:00
Sebastian Dröge 2375c9da59 gstreamer/element: Don't steal floating references passed into release_pad()
They are apparently not part of this element so we can directly return
here instead of stealing the reference.
2019-12-07 22:58:26 +02:00
Sebastian Dröge 802fa4fcb4 gstreamer/bin: Take a strong reference of the element passed into remove_element()
It might be gone once we called into the parent class' implementation so
we need to keep a strong reference around here. Also we need to ensure
that we don't accidentally steal a floating reference from the caller
here: if the element is still floating it is apparently not part of this
bin and we can directly return FALSE.
2019-12-07 22:56:11 +02:00
Sebastian Dröge bef1143df3 gstreamer/device: Preserve floating reference flag from create_element() parent class' implementation 2019-12-07 22:51:57 +02:00
Sebastian Dröge 84ac2ef073 bin: Use from_glib_none() in Bin::add() for subclasses
This way we take ownership of any floating references passed in here, as
required by the GstBin API, instead of just borrowing the reference and
having someone else sink it or not.
2019-12-04 18:49:12 +02:00
François Laignel fd6bbf5929 Fully qualify glib_bool_error! in gst_loggable_error! 2019-11-21 19:18:01 +01:00
Sebastian Dröge 175863668d Regenerate everything with latest gir 2019-11-21 09:52:51 +02:00
François Laignel dc7937a8d4 Don't leak missing Safety doc clippy warnings
With rustc 1.40.0, clippy checks that the `unsafe` functions come with
a `Safety` section. When running clippy on a downstream crate, the
macros such as `gst_plugin_define!` leak the clippy warnings for the
unsafe functions.

Silence the warnings for now.
2019-11-18 10:25:06 +01:00
Sebastian Dröge 9f121b1f12 gstreamer/sample: Silence clippy warning
warning: methods called `new` usually return `Self`
   --> gstreamer/src/sample.rs:107:5
    |
107 | /     pub fn new<'a>() -> SampleBuilder<'a> {
    | |_____^
2019-11-14 12:11:10 +00:00
Sebastian Dröge 0c944cb26e gstreamer: Add documentation to gst::deinit() about when it's safe to be called 2019-11-14 12:11:10 +00:00
Sebastian Dröge 8b687ab4a7 Remove header from the README.md about the move from github to gitlab
At this point everybody should've noticed.
2019-11-14 10:21:02 +00:00
Guillaume Desmottes 1206dc5b15 gstreamer: typefind: add binding for gst_type_find_get_length() 2019-11-14 09:33:29 +00:00
Sebastian Dröge 043af60126 iterator: Fix leak of the closure in Iterator::filter() 2019-11-13 12:18:21 +01:00
Sebastian Dröge 3d1b3211bf promise: Add unit test for change func handling 2019-11-13 12:13:14 +01:00
Sebastian Dröge d69e8e237f promise: Remove unneeded feature gates 2019-11-13 12:05:25 +01:00
Sebastian Dröge cd55f02e20 promise: Change change_func to get the actual reply of the promise passed 2019-11-13 11:40:41 +01:00
Sebastian Dröge 77c6741ae0 Update to futures 0.3 and require Rust 1.39
Also use async/await in the futures examples.
2019-11-11 12:18:49 +01:00
Guillaume Gomez 9e30687d8e Fix glib reexports 2019-11-11 11:34:09 +01:00
Guillaume Gomez a58cd4b5bc Manual code fixes 2019-11-11 11:34:09 +01:00
Guillaume Gomez 457ac9118b Regenerate with latest gir 2019-11-11 11:34:09 +01:00
Sebastian Dröge 8dcf3fec20 gstreamer: Change Sample constructor to the builder pattern
Simplifies construction of Samples considerably.
2019-10-23 09:55:56 +03:00
Sebastian Dröge 2d2459ed52 Export traits from the crate level and ensure that all traits are in the preludes 2019-10-17 13:30:35 +03:00
Sebastian Dröge 132eb891ed Fix dox feature and docs.rs Cargo.toml metadata 2019-10-05 00:13:29 +03:00
Sebastian Dröge 991f2e1576 Update and regenerate everything with latest gir 2019-10-05 00:03:57 +03:00
Fernando Jimenez Moreno 591468f53b gstreamer/log: Use non-panicking UTF8 conversion in log handler
Make sure that `log_handler` and `DebugMessage::get` do not panic while
processing non-UTF8 characters by using lossy instead of strict UTF8
string conversion.
2019-10-04 09:03:28 +00:00
Sebastian Dröge 06cfcd57fc Move to_string() methods into the Display trait or rename to to_str(), move from_string() into the FromStr trait
Fixes clippy warnings, prevents confusing errors and is more consistent.

The Display trait provides a to_string() method by itself and FromStr
provides from_str().
2019-10-04 11:01:55 +03:00
Sebastian Dröge 861f5c1e1a Re-run cargo fmt
Minor changes in the latest version.
2019-10-04 08:19:24 +03:00
Sebastian Dröge 19b3427909 clock: Move wake_id() from ClockId to ClockImpl
This shouldn't really be called on anything outside a Clock
implementation.
2019-09-26 11:25:52 +03:00
Sebastian Dröge 6abb0d3506 gstreamer: Add support for subclassing gst::SystemClock 2019-09-25 17:22:15 +03:00
Sebastian Dröge bacf4998ce clock: Add some more ClockId API for being able to implement clock subclasses 2019-09-25 17:22:15 +03:00
Sebastian Dröge 4e60a0aea4 clock: Add support for setting/getting/unsetting clock flags 2019-09-25 17:22:15 +03:00
Sebastian Dröge 1faf41986b gstreamer: Add bindings for ClockEntryType and ClockFlags 2019-09-25 17:22:15 +03:00
Sebastian Dröge 1c8b2c671b gstreamer: Add support for subclassing gst::Clock 2019-09-25 17:22:15 +03:00
Sebastian Dröge 74b05f0272 gstreamer: Add support for implementing gst::TagSetter interface 2019-09-25 17:22:11 +03:00
Sebastian Dröge eda3539330 gstreamer: Add support for implementing gst::Preset interface 2019-09-25 16:11:54 +03:00
Jan Alexander Steffens (heftig) 29710d9970 gstreamer: Assert that FromValueOptional works as expected
Fails without the preceding patch.
2019-09-24 10:34:44 +00:00
Jan Alexander Steffens (heftig) dca2cc1c5d gstreamer: Remove bad asserts in two impl FromValueOptional
These prevented actually getting a None out of a Value which contains a
NULL.
2019-09-24 10:34:44 +00:00
Jan Alexander Steffens (heftig) eaacee49de
iterator: Simplify StdIterator a bit 2019-09-24 11:31:28 +02:00
Sebastian Dröge 79d3888c3d Update CHANGELOG.md for 0.14.5 2019-09-17 15:41:12 +03:00
Fernando Jimenez Moreno de7a9dee1e Fix Windows build 2019-09-13 09:55:32 +02:00
Sebastian Dröge 7868018abb gstreamer/element: Add support for ElementClass::add_metadata() 2019-09-12 10:18:23 +03:00
Sebastian Dröge 6dcd255815 gstreamer/deviceprovider: Add support for subclassing gst::DeviceProvider 2019-09-12 10:18:23 +03:00
Sebastian Dröge 9df56faf48 gstreamer/device: Add support for creating gst::Device subclasses 2019-09-11 22:46:15 +03:00
Sebastian Dröge 8208ee0891 gstreamer/device: Device::create_element() is transfer floating, not transfer full
See https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/444
2019-09-11 22:41:59 +03:00
Sebastian Dröge 52509b4b95 Remove subclassing feature and make it the default 2019-09-09 11:51:07 +03:00
Sebastian Dröge ea367bac14 Fix or ignore various clippy warnings
And ignore some common warnings we don't care about in general, while
also making clippy errors fail the build.
2019-09-07 19:39:19 +03:00
Jan Alexander Steffens (heftig) 105412b5a0
Iterator: Test that Iterator can be used in a for loop
`for x in foo` depends on foo implementing IntoIterator.
2019-09-05 11:01:16 +02:00
Jan Alexander Steffens (heftig) 7a12c4d5e1
Iterator: Replace ad-hoc fn iter with impl IntoIterator
std has a trait for converting things into Iterators. Make use of it.
2019-09-05 10:33:54 +02:00