Commit graph

833 commits

Author SHA1 Message Date
Sebastian Dröge 6b6fae51cd Regenerate everything 2020-09-08 17:14:37 +03:00
Sebastian Dröge 080f6a3906 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-07 14:26:08 +03:00
Sebastian Dröge 730500b09f gstreamer: Update pretty-hex dependency to 0.2 2020-09-07 14:25:55 +03:00
Ruben Gonzalez c68b68f37f gstreamer: Delete duplicated assert_initialized_main_thread 2020-09-07 14:25:05 +03:00
Sebastian Dröge fc21a2d9a3 Add git locations for gstreamer-sys in addition to the version
Otherwise we'd always use the version from crates.io.
2020-08-11 12:43:57 +03:00
Sebastian Dröge c93ade0920 gstreamer: Update paste dependency from 0.1 to 1.0 2020-08-11 12:43:57 +03:00
Sebastian Dröge 272022bdac 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-11 12:43:57 +03:00
Sebastian Dröge 2624e2a6d1 Regenerate everything 2020-08-11 12:43:57 +03:00
Sebastian Dröge 4e57412fa3 Update versions to 0.16.2 2020-07-27 12:19:10 +03:00
Sebastian Dröge 3f58306e3b Update CHANGELOG.md for 0.16.2 2020-07-27 12:18:44 +03:00
Sebastian Dröge 4afd47a8a8 gstreamer: Add parse_bin_from_description_with_name_full()
The non-full variant existed already.
2020-07-27 11:14:01 +03:00
Philippe Normand 4e9ee99c88 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-27 11:13:48 +03:00
Sebastian Dröge 7517a50834 gstreamer/ghost_pad: Add convenience constructors with target pad
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/275
2020-07-21 09:37:28 +02:00
Sebastian Dröge af15dafc14 gstreamer/ghost_pad: Move GhostPad specific code into the ghost_pad module 2020-07-21 09:37:21 +02:00
Sebastian Dröge f95ca85a27 Update CHANGELOG.md for 0.16.1 2020-07-10 10:42:47 +03:00
Sebastian Dröge 3643f3ea80 Update version to 0.16.1 2020-07-10 10:42:44 +03:00
Jan Alexander Steffens (heftig) 7e7d74af1e log: Allow calling DebugCategory::new before gstreamer::init
This is safe.
2020-07-10 10:18:20 +03:00
Sebastian Dröge 9511b19c0a Update versions from git to releases 2020-07-06 14:37:02 +03:00
Sebastian Dröge 2f69fe81f2 Update CHANGELOG.md for 0.16.0 2020-07-06 14:03:45 +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