Commit graph

990 commits

Author SHA1 Message Date
Sebastian Dröge b933931d6c gstreamer: Regenerate 2020-11-22 19:15:20 +02:00
Sebastian Dröge 9889bc990a sys: Update to Rust 2018 2020-11-22 19:15:20 +02:00
Sebastian Dröge 4d52ab7d37 gstreamer: Fix plugin version for v1_18 2020-11-21 18:08:24 +02:00
François Laignel 75f6babb57 Event: impl structure_mut getter 2020-11-19 21:12:18 +01:00
Sebastian Dröge 89c4f68fa3 gstreamer: Remove redundant clone of element name
error: redundant clone
   --> gstreamer/src/message.rs:162:63
    |
162 |             .field("src", &self.get_src().map(|s| s.get_name().to_owned()))
    |                                                               ^^^^^^^^^^^ help: remove this
    |
    = note: `-D clippy::redundant-clone` implied by `-D warnings`
2020-11-19 20:30:51 +02:00
Sebastian Dröge 389fa306aa Regenerate with latest gir 2020-11-19 19:53:22 +02:00
Marijn Suijten e88994a0b7 use cfg_if to refactor some #[cfg()] / #[cfg(not())] pairs 2020-11-19 16:39:31 +01:00
Marijn Suijten aeb1b70581 Remove doc(cfg()) from expressions
warning: unused doc comment
       --> gstreamer-video/src/video_info.rs:655:37
        |
    655 |           #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))]
        |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
    656 | /         {
    657 | |             VideoInfoBuilder {
    658 | |                 format,
    659 | |                 width,
    ...   |
    674 | |             }
    675 | |         }
        | |_________- rustdoc does not generate documentation for expressions

Also simplify some blocks into expressions which are allowed to have
attributes as well since Rust 1.43.
2020-11-19 16:39:31 +01:00
Marijn Suijten bd75778fcb Add doc(cfg()) on all manual files 2020-11-19 16:39:31 +01:00
Marijn Suijten 9daa8d20a9 Regenerate with doc(cfg()) attribute on all symbols
This is enabled by a new version of gir, as updated in the previous
commit.
2020-11-19 16:39:31 +01:00
Marijn Suijten 3f373f623a Enable feature(doc_cfg) in all lib.rs
The next version of gir is going to generate doc(cfg()) attributes on
many symbols to show feature-dependence hints. While autogenerated sys
crates get this attribute in their own (generated) lib.rs file the safe
wrapper crates do not have such an autogenerated lib.rs file.
2020-11-19 16:39:31 +01:00
François Laignel 8aba0597e4 Pad: use Result<FlowSuccess, FlowError> for flow return type 2020-11-18 16:59:25 +01:00
François Laignel 755496d0f9 Pad: allow handling Events in PadProbes 2020-11-18 16:59:23 +01:00
François Laignel 9fb0c4937b ProxyPad: impl ExtManual functions as trait functions, not associated functions 2020-11-17 16:35:31 +01:00
Sebastian Dröge 4eaf574cf8 gstreamer: Make virtual methods take wrapper of type, not parent 2020-11-14 19:39:27 +02:00
Sebastian Dröge 1d53b66858 Fix compilation with GLib subclassing changes 2020-11-14 19:39:27 +02:00
François Laignel ca96014c47 Use fully qualified path for plugin_desc in gst_plugin_define
This is required when gst_plugin_define is used from a a submodule
mod.rs (not from the crate's lib.rs).
2020-11-12 13:24:16 +01:00
Sirius Wu a7b0d42964 Check if LoggedObject really a GObject. 2020-11-09 17:33:52 +08:00
Sebastian Dröge 9379c730b9 gstreamer: Update for removal of ElementClass/DeviceProviderClass type aliases 2020-11-07 12:49:19 +02:00
Sebastian Dröge f6ace04caf Regenerate everything with latest gir 2020-11-07 12:17:25 +02:00
François Laignel 5903496e5b regenerate all 2020-11-05 18:29:47 +01:00
Sebastian Dröge b91123d298 Simplify IsSubclassable::override_vfunc() implementations 2020-11-05 17:12:06 +00:00
Sebastian Dröge 99fbbc32cb Use glib::Class instead of glib::object::Class 2020-11-05 17:12:06 +00:00
Sebastian Dröge 027de84349 Update for class struct handling changes in the glib bindings
See https://github.com/gtk-rs/gtk-rs/pull/10
2020-11-05 16:41:48 +02:00
François Laignel 60d48f838b gstreamer: regenerate 2020-11-05 12:34:39 +01:00
Sebastian Dröge 67f5c0767a Regenerate everything with latest gir 2020-11-01 09:48:40 +02:00
Sebastian Dröge 4cd6e09f3d Update documentation link of sys crates 2020-11-01 09:48:37 +02:00
Sebastian Dröge ef120ce923 Update sys versions to 0.17.0
All crates have the same version now, which should cause less confusion
with matching them up.
2020-10-30 18:35:57 +02:00
Sebastian Dröge c9ab2527e8 Remove spurious Cargo.lock 2020-10-30 18:35:57 +02:00
Sebastian Dröge 35f19e17bf Update repository URLs 2020-10-30 18:35:52 +02:00
Sebastian Dröge c833e9ed69 Update dependency paths 2020-10-30 18:27:22 +02:00
Sebastian Dröge b5c376d315 Move every gtk-rs dependency to the combined gtk-rs repository 2020-10-30 18:15:53 +02:00
Sebastian Dröge 109eac2b9a Move sys crates into subdirectories of the non-sys crates 2020-10-30 18:06:07 +02:00
Sebastian Dröge f657a56947 Move Gir.toml into the corresponding subdirectories 2020-10-30 18:06:01 +02:00
Sebastian Dröge a7749b7933 gstreamer/log: Don't provide direct access to the logged object as glib::Object
It might just be constructed or might be finalized currently and it's
not safe to use any APIs on it.

Instead provide a small wrapper type that allows to get the underlying
pointer and that implements the Display trait to print the name of the
object.

Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/287
2020-10-26 10:42:33 +02:00
Sebastian Dröge a6c8fe0c8a Use repr(transparent) where it is more correct and get rid of some unneeded repr(C) 2020-10-24 17:09:10 +00:00
Sebastian Dröge 4c216bca3a Remove unneeded PhantomData markers
And as a side-effect also get rid of the lifetime parameter of
gst::TypeFind that was completely unused anyway.
2020-10-24 17:09:10 +00:00
François Laignel ae9d97dfca ClockTime & opt Formats: fix PartialOrd impl, remove Ord and add min & max
- `PartialOrd` was returning `true` for expressions such as
  - `ClockTime::none() < ClockTime::from_seconds(1)`.
  - `ClockTime::from_seconds(1) > ClockTime::none()`.
- Remove `Ord` because `ClockTime` is not a total order due to
  `ClockTime::none()`. See test `not_ord`.

This also applies to others `Format(Option<{u32,u64}>)` types.
2020-10-20 23:40:18 +02:00
François Laignel 9efe39ff81 ClockTime: add staturating_{add,sub} and ops tests 2020-10-20 23:40:18 +02:00
Sebastian Dröge ba719ac90c Update for glib changes in glib::Value handling 2020-10-20 13:50:35 +00:00
Sebastian Dröge 0207e41160 gstreamer/clock: Creating new clock ids can't fail gracefully but invalid arguments should be checked 2020-10-20 12:00:13 +03:00
Sebastian Dröge fff69b3a23 Update muldiv dependency to 1.0 2020-10-13 09:35:59 +00:00
François Laignel c987bb0c7d gstreamer/message: enhance Debug impl for Message[Ref]
When "{:?}" printing a Message[Ref], the following issues lower the
experience:

- If the Message seqnum is GST_SEQNUM_INVALID (0), a panic occurs due
  to an assertion failure in MessageRef::get_seqnum.
- The src of the Message displays the GString address.

Origin issue for an occurrence of the first case above fixed in
https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/860
2020-10-13 11:11:38 +02:00
François Laignel fa3f6eefc9 message: get_seqnum: return next seqnum if Message seqnum is invalid
See https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/601
2020-10-13 11:11:38 +02:00
raytiley a8ed2ac6e0 Update location of documentation. 2020-10-10 15:51:59 -04:00
Sebastian Dröge 531014a35c gstreamer/clock: Improve ClockId bindings
There is now a separate type for Single and Periodic clock ids. This
allows to have API that is only for one type on that specific type
instead of doing runtime checks, and allows for more refined async
waiting API.
2020-10-10 10:25:44 +00:00
Marijn Suijten cb362e6fbc gstreamer: plugin: Prefix glib:: with $crate:: in gst_plugin_define
Crates using gst_plugin_define might not (need to) import `glib`
directly into their scope; use the one imported in `gstreamer`s root
to make this macro more portable.
Besides, `glib` is prefixed with `$crate::` just below.
2020-10-10 11:54:20 +02:00
Marijn Suijten 10bc09ba82 gstreamer: error: Prefix gst_error_msg with $crate
This macro might not have been imported in the surrounding scope where
gst_panic_to_error is used, thus reference it directly by the full
namespace.
2020-10-10 11:47:41 +02:00
Sebastian Dröge dc9a9c4d78 Update CHANGELOG.md for 0.16.4 2020-10-09 13:41:11 +03:00
Sebastian Dröge 6e404f1831 gstreamer/meta: Don't collect iterators just to check their length in the tests 2020-10-09 11:35:19 +03:00
Sebastian Dröge 7aeb0e8f92 gstreamer/buffer: Don't implement ExactSizeIterator on meta iterator
We don't actually know the number of items and using the trait would
panic.
2020-10-09 11:35:19 +03:00
Sebastian Dröge 323bb1269b gstreamer: Update to cfg-if 1.0 2020-10-09 11:35:19 +03:00
Sebastian Dröge b59b5ada7e gstreamer/clock: Unschedule clock ID when the receiver end of the channel is disconnected 2020-10-01 11:25:40 +03:00
Sebastian Dröge 4778d05238 gstreamer/clock_time: Add From/TryFrom impls to convert between ClockTime and std::time::Duration 2020-10-01 11:00:21 +03:00
Sebastian Dröge c01f7072fb gstreamer/clock: Add ClockID::wait_async_stream()
This provides an async stream with the values of each timeout.
2020-10-01 11:00:21 +03:00
Alexey Galakhov 4120ded424 Add gstreamer-controller 2020-09-30 16:28:51 +00:00
Sebastian Dröge 4f10eefe1e Update CHANGELOG.md for 0.16.3 2020-09-08 22:02:31 +03:00
Sebastian Dröge 8aaec57dac gstreamer: Fix compilation after glib API change 2020-09-08 16:11:39 +03:00
Sebastian Dröge 55efe30258 Regenerate everything 2020-09-08 15:42:28 +03:00
Sebastian Dröge ea3d0246bf gstreamer/log: Fix debug_remove_default_log_function() to actually work
We have to pass `NULL` / `None` instead of the actual default log
function as because of `-Bsymbolic` or how DLLs work on Windows the
external function pointer is different to the internal one.
2020-09-03 10:13:09 +03:00
Sebastian Dröge 160728965b gstreamer: Update pretty-hex dependency to 0.2 2020-09-01 09:55:31 +03:00
Sebastian Dröge a4239c3462 gstreamer: Remove API that was deprecated in 0.16 2020-08-24 17:33:35 +03:00
Ruben Gonzalez 4e6766e6ed gstreamer: Delete duplicated assert_initialized_main_thread 2020-08-14 09:27:10 +02:00
Sebastian Dröge 70fd572a46 Regenerate everything 2020-08-11 12:53:27 +03:00
Sebastian Dröge 746741f910 gstreamer: Update paste dependency from 0.1 to 1.0 2020-08-09 10:33:22 +03:00
Sebastian Dröge 43d1d0a4e9 gstreamer/pad: Factor out PadProbeInfo handling from pad probe trampoline into separate functions
This makes that part of the code non-generic and thus allows the
compiler to not put a copy of it into every caller with a different
closure.

For a test with 3 pad probes this overall reduced the number of LLVM IR
lines needed for the pad probes to about 8.5% of what it was before
(4485 -> 381 lines).
2020-08-05 10:33:12 +03:00
Sebastian Dröge 9cb40878f0 Update CHANGELOG.md for 0.16.2 2020-07-27 12:43:53 +03:00
Sebastian Dröge b8eaef3d02 gstreamer: Add parse_bin_from_description_with_name_full()
The non-full variant existed already.
2020-07-27 10:38:31 +03:00
Sebastian Dröge 4f5b2f5060 Update for removal of ObjectImpl::get_type_data() 2020-07-26 18:02:05 +03:00
Philippe Normand 3adc3d9337 functions: Add new parse_bin_from_description_with_name utility
This is basically `parse_bin_from_description()` but additionally the returned
bin has the passed name. It is sometimes convenient to name those bins so they
can later be easily retrieved by name from the pipeline they belong to.
2020-07-16 09:57:42 +01:00
Sebastian Dröge 81aba1b8a2 gstreamer/ghost_pad: Add convenience constructors with target pad
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/275
2020-07-10 12:12:03 +00:00
Sebastian Dröge 4246a560fc gstreamer/ghost_pad: Move GhostPad specific code into the ghost_pad module 2020-07-10 12:12:03 +00:00
Sebastian Dröge 0db75a5186 Update CHANGELOG.md for 0.16.1 2020-07-10 10:44:40 +03:00
Jan Alexander Steffens (heftig) a430fd93c8
log: Allow calling DebugCategory::new before gstreamer::init
This is safe.
2020-07-09 16:06:01 +02:00
Sebastian Dröge f40821ba66 Update versions to 0.17.0 2020-07-06 15:22:55 +03:00
Sebastian Dröge ca8b8f6a38 Update CHANGELOG.md for 0.16.0 2020-07-06 15:22:07 +03:00
Sebastian Dröge 448c1e10a0 Regenerate 2020-07-06 13:01:57 +03:00
Sebastian Dröge 3bf5215872 Update configuration for new API 2020-07-06 12:08:36 +03:00
Sebastian Dröge 01eaf76b31 gstreamer/buffer: Add bindings for foreach_meta() and foreach_meta_mut()
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/268
2020-07-03 10:28:59 +03:00
Sebastian Dröge f01b590a0c gstreamer/bufferlist: Add bindings for foreach() and foreach_mut()
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/273
2020-07-03 10:28:47 +03:00
François Laignel 275d93e3d2 memory: fix typo 2020-07-02 17:46:20 +02:00
Sebastian Dröge 0cc32a02cc gstreamer/element: Don't catch panics in post_message() vfunc
Otherwise we would post a message, which calls into this code again and
then does the whole thing recursively forever.
2020-07-01 01:36:16 +03:00
Sebastian Dröge 4fbbf48622 gstreamer/element: Change post_message() vfunc return type to bool
It regularly fails in normal situations, e.g. when the element is not
inside a bin and has no bus, and we don't really want to log errors for
that.
2020-07-01 01:15:57 +03:00
Sebastian Dröge 9cc99b27e0 gstreamer/element: Let post_message() and post_error_message() take ownership of the message
This is more in line with the C API and simplifies callers in Rust.
2020-06-30 23:55:02 +03:00
Sebastian Dröge 5b3d6418f0 gstreamer/element: Add support for overriding post_message vfunc 2020-06-30 23:46:51 +03:00
Sebastian Dröge dbc76f1053 gstreamer/miniobject: Remove DerefMut and AsMut impls
They were side-stepping the miniobject writability mechanism.
2020-06-30 15:23:50 +03:00
Sebastian Dröge 911bb34dc2 Don't generate LAST/NONE variants of flags types
Those are automatically provided already.
2020-06-30 11:35:49 +03:00
Sebastian Dröge 45402b5e95 Add specific version configurations for various enum/flags values
gobject-introspection does not support this yet so we have to do that
manually.

Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/271
2020-06-30 11:23:37 +03:00
Sebastian Dröge af01f1bc67 gstreamer: Simplify MiniObject bindings by removing one layer of abstraction
And instead directly implementing this via the macro on the target
types.
2020-06-30 11:06:02 +03:00
Sebastian Dröge 947ac8db5c Name functions returning a builder builder(), not new()
And also make the video event API more consistent with the normal event
API.

Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/269
2020-06-25 19:42:33 +03:00
François Laignel ddd3bbbf84 query: remove unused Jitter & Rate
See https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/532#note_548884
2020-06-25 10:48:25 +02:00
François Laignel c94baa4fe8 query: add constructor on target types
... and deprecate the `Query::new_*` forms.
2020-06-25 10:48:25 +02:00
François Laignel 884e5e4e4a event: add constructor on target types
... and deprecate the `Event::new_*` forms.
2020-06-25 10:48:25 +02:00
François Laignel f421d878b6 message: add constructor on target types
... and deprecate the `Message::new_*` forms.
2020-06-25 10:48:20 +02:00
Sebastian Dröge 07e786b44f gstreamer/pad: Add support for setting proxy pad functions on a ghost pad during construction 2020-06-22 21:20:20 +00:00
Sebastian Dröge a80471747c gstreamer/pad: Borrow the pad when taking the stream lock
Instead of taking a new reference to the pad.
2020-06-22 11:48:56 +03:00
Sebastian Dröge 79c457c8c4 gstreamer/pad: Rename Pad::builder_from_template() to builder_with_template()
Sounds more natural as it creates a build that is initialized *with* a
template.

But keep Pad::from_template() as it creates a new pad *from* a template.
2020-06-22 11:26:24 +03:00
Sebastian Dröge 0c0d671922 gstreamer/pad: Don't provide constructors anymore but instead a builder
This handles safely setting the pad functions during construction and
also has special support for ghost pads.

Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/247
2020-06-22 10:55:24 +03:00
Sebastian Dröge 750f8f5bb5 gstreamer/pad: Don't allow changing a pad's template after construction
That's generally not a good idea and not safe to do.
2020-06-21 20:02:52 +03:00
Sebastian Dröge 059dc5b2cb gstreamer/object: Don't provide bindings for functions to modify an object name
It's generally not safe to change the object name after construction and
not really a good idea.
2020-06-21 20:02:52 +03:00
Sebastian Dröge 210e7c8777 gstreamer/pad: Mark pad function setters as unsafe
This is not thread-safe and changing the function at a bad time will
cause crashes or worse. It's only really safe to set the functions right
after construction of the pad before any other code can know about it.

Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/247
2020-06-21 20:02:52 +03:00
Sebastian Dröge c68df282e8 gstreamer/caps: Fix clippy warning
No need to provide the field name if it's initialized with a variable of
the same name.
2020-06-21 20:02:52 +03:00
Sebastian Dröge 801998c717 Generate documentation from the docs crate directly 2020-06-19 13:16:19 +03:00
Sebastian Dröge 8dfbc9e811 Regenerate 2020-06-19 13:09:11 +03:00
Sebastian Dröge d22b1b5981 gstreamer: Update num-rational dependency to 0.3 2020-06-18 13:06:20 +03:00
Sebastian Dröge bfde1fd9d5 Update for new_with_XXX/new_from_XXX function renaming 2020-06-16 11:45:12 +03:00
Guillaume Desmottes a954c03bc0 functions: rename constructors in manual API
The idiomatic way for Rust constructors is to be named from_XXX()
instead of new_from_XXX() and with_XXX() instead of new_with_XXX().

Fix #460
2020-06-11 12:33:52 +02:00
Guillaume Desmottes 7b2fe31cc1 update gir generator and regenerate 2020-06-11 12:33:49 +02:00
Guillaume Desmottes 6cd711cfdf subclass: clean up subclassing prelude/re-exports
Use re-export pattern from glib.

Fix #255
2020-06-09 14:36:37 +02:00
Sebastian Dröge a56b3cb5a0 Update CHANGELOG.md for 0.15.7 2020-06-08 13:29:06 +03:00
Sebastian Dröge 22113dc9cb gstreamer/iterator: Store filter types in a hash table
Static variables in generic functions only exist once and not once per
type parameter, so before we were only able to register exactly one
filter type.
2020-06-04 12:36:03 +03:00
Guillaume Desmottes 1b0a20e52f regenerate 2020-06-03 20:04:18 +03:00
Sebastian Dröge ede4588e0c gstreamer: Add bindings for ProtectionMeta 2020-06-02 16:05:01 +03:00
Sebastian Dröge 9dbddc9fef gstreamer: Allow calling various global functions before gst::init()
Including most debugging related functions.

Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/211
2020-06-01 07:27:51 +00:00
Sebastian Dröge e9317d0a48 Update CHANGELOG.md for 0.15.6 2020-05-28 15:51:43 +03:00
Sebastian Dröge 40c14ccc03 gstreamer: Update ron dependency to 0.6 2020-05-28 13:18:02 +03:00
Sebastian Dröge dbf6d1fd1a gstreamer/promise: Return a borrowed StructureRef for the reply from the Future
Prevents an usually unneeded copy of the structure.
2020-05-27 14:48:48 +03:00
Sebastian Dröge 9d851bfc48 gstreamer/promise: Allow resolving the Promise with None and handle None explicitly in the change function
See https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1300
2020-05-27 13:55:51 +03:00
Sebastian Dröge 7086a754be Add various glib::Value trait impls for borrowed versions of types
For SDPMessageRef, StructureRef and CapsFeatureRef this involves the
conversion from and to a glib::Value. Specifically this means that e.g.
a StructureRef can be retrieved from a glib::Value via borrowing, i.e.
without creating a copy of the structure first.

For all mini objects only retrieval from a glib::Value is implemented as
the other direction would allow to get multiple immutable references
from a mutable reference without borrowing, which is not allowed and
would make it possible to observe a mini object changing while having an
immutable reference to it.
2020-05-27 13:17:54 +03:00
Sebastian Dröge 0b3bfa7ea2 gstreamer/promise: Convert None promise replies to an empty structure in the change_func
webrtcbin likes to put a NULL structure into the reply under some
circumstances when the promise successfully resolved.

See https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1300
for details.
2020-05-27 12:24:11 +03:00
Sebastian Dröge dfdf01b868 gstreamer/datetime_serde: Use glib::BoolError instead of a &'static str as TryFrom error type 2020-05-26 19:26:35 +03:00
Sebastian Dröge d417656707 Use thiserror more widely for deriving Error/Display impls of error types 2020-05-26 19:26:35 +03:00
Sebastian Dröge 1b7e99938f gstreamer/event: Add setter/getter for the gst::Stream in the stream-start event 2020-05-17 13:38:45 +03:00
Sebastian Dröge 4097c15c96 Don't include LGPL docs in the docs if both embed-lgpl-docs and purge-lgpl-docs features are selected
This makes usage of RLS/rust-analyzer on the repository much faster and
less annoying as the docs don't have to be included and removed on every
change.
2020-05-14 10:44:58 +03:00
Sebastian Dröge 93bc5c9324 gstreamer/gstreamer-app: Don't store strong references in futures Stream/Sink adapters
This applies to the ones of the appsink, appsrc and bus. If we would
store a strong reference then they would keep alive the underlying
object forever even if their pipeline disappeared in the meantime.

Like this e.g. the bus stream would start returning None once the bus
was destroyed, similar to how other channels are working in Rust.
2020-05-13 22:13:11 +03:00
Sebastian Dröge 3f495ce1da gstreamer/plugin: Register plugins with the correct minor version when building for 1.18 2020-05-08 14:32:50 +03:00
Sebastian Dröge 781c5785b1 Regenerate 2020-05-05 17:29:14 +00:00
Vivia Nikolaidou ec4a43be89 Regenerate 2020-05-03 16:48:35 +03:00
Vivia Nikolaidou e986119df6 Update Cargo.toml to 1.18 2020-05-03 16:48:35 +03:00
Vivia Nikolaidou 3ac7631ea0 gstreamer/bin: Implement iterate_all_by_element_factory_name manually 2020-05-03 16:48:35 +03:00
Sebastian Dröge 3192d74389 Update CHANGELOG.md for 0.15.5 2020-05-03 10:17:18 +03:00
Vivia Nikolaidou 118c7d4ad9 Regenerate 2020-04-30 17:16:23 +03:00
Jan Alexander Steffens (heftig) 1d2609d448
gstreamer: Return any lifetime instead of 'static
Following https://github.com/gtk-rs/glib/pull/633
2020-04-30 09:50:00 +02:00
Guillaume Desmottes a6c20922ff update documentation links 2020-04-28 11:17:24 +02:00
Sebastian Dröge 6e431ce060 Run everything through rustfmt again
It got some improvements for applying consistent formatting to code
blocks in macros.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/468>
2020-04-24 12:46:16 +03:00
Sebastian Dröge 834b6d8d69 gstreamer/proxypad: Convert default pad functions to plain functions on ProxyPad instead of a trait
This allows to use them properly when overriding these functions.
2020-04-23 15:37:18 +03:00
Guillaume Desmottes 6a72f65b3b gstreamer: ignore cognitive_complexity warnings
Those are just long tests.
2020-04-21 10:17:46 +02:00
Guillaume Desmottes a12b51abd6 gstreamer: stream_collection: ignore new_ret_no_self clippy warning 2020-04-21 09:00:35 +02:00
Guillaume Desmottes 872024c372 fix option_as_ref_deref clippy warnings 2020-04-21 09:00:35 +02:00
Guillaume Desmottes 932c940102 gstreamer: caps: add new_from_iter(_with_features)() 2020-04-20 17:12:24 +02:00
Guillaume Desmottes 97026d7f86 gstreamer: structure: add new_from_iter()
Allow to easily create a new Structure from an iterator.

Fix #250
2020-04-20 15:53:28 +02:00
Sebastian Dröge caae679d6f gstreamer: Add some API to calculate the next state convert state changes into their component states and back 2020-04-18 09:23:08 +03:00
Sebastian Dröge ada06502b5 gstreamer: Remove redundant stream/stream collection property getters
There are also actual functions for these and we had both enabled
because the properties are missing the "Since: 1.10" markers.
2020-04-15 14:40:37 +03:00
Sebastian Dröge aea43c428c gstreamer: Add Stream::debug() and StreamCollection::debug()
These provide more helpful debug output than just the pointer when
printing.
2020-04-14 17:31:54 +00:00
Sebastian Dröge 2ef7d70ba3 gstreamer: Enforce that stream collections are immutable after creation by using the builder pattern 2020-04-14 17:31:54 +00:00
Sebastian Dröge 185eb188ca Fix various signal handler trampoline usages 2020-04-13 19:24:04 +03:00
Sebastian Dröge 5021994237 Regenerate everything 2020-04-13 19:11:33 +03:00
Sebastian Dröge 76a0410d41 Replace unneeded transmute calls with a safer alternative 2020-04-12 19:47:49 +03:00
Sebastian Dröge d1665b8114 Regenerate with latest gir 2020-04-12 18:55:06 +03:00
Guillaume Gomez 1ef3bf52d2 gstreamer: Add missing init calls in tests 2020-04-12 17:25:54 +03:00