Commit graph

628 commits

Author SHA1 Message Date
Guillaume Desmottes ec6a999649 gstreamer: typefind: add binding for gst_type_find_get_length() 2019-11-14 11:21:33 +01:00
Sebastian Dröge a71cc91001 iterator: Fix leak of the closure in Iterator::filter() 2019-11-14 10:19:55 +01:00
Sebastian Dröge e6df685667 gstreamer: Update indentation 2019-11-02 10:56:23 +01:00
Sebastian Dröge 38e7a4f8d4 Update versions to 0.14.5 2019-09-17 15:13:26 +03:00
Sebastian Dröge b4f94e98f5 Update CHANGELOG.md for 0.14.5 2019-09-17 15:13:19 +03:00
Sebastian Dröge 2a442f6ec1 gstreamer/element: Add support for ElementClass::add_metadata() 2019-09-12 12:32:27 +03:00
Sebastian Dröge 5b00f973a6 gstreamer/deviceprovider: Add support for subclassing gst::DeviceProvider 2019-09-12 12:32:19 +03:00
Sebastian Dröge 161351e5c4 gstreamer/device: Add support for creating gst::Device subclasses 2019-09-12 12:32:13 +03:00
Sebastian Dröge 1528510c68 gstreamer/device: Device::create_element() is transfer floating, not transfer full
See https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/444
2019-09-12 12:32:06 +03:00
Jan Alexander Steffens (heftig) 23fe9efe08 Iterator: Test that Iterator can be used in a for loop
`for x in foo` depends on foo implementing IntoIterator.
2019-09-12 12:31:58 +03:00
Jan Alexander Steffens (heftig) dcec895b30 Iterator: Replace ad-hoc fn iter with impl IntoIterator
std has a trait for converting things into Iterators. Make use of it.
2019-09-12 12:31:51 +03:00
Jan Alexander Steffens (heftig) cf6d15bc00 Iterator: Add a wrapper implementing std's Iterator
Transposing the item type lets us be a std-compatible Iterator.

The iterator is automatically resynced when resuming iteration after
yielding Resync. This lets some combinators like `collect` and `find`
work properly.
2019-09-12 12:31:45 +03:00
Jan Alexander Steffens (heftig) de85702408 Iterator: Manually implement Debug
The derived implementation is restricted to `where T: Debug`, but the
iterator doesn't actually contain a value of type T.
2019-09-12 12:31:38 +03:00
Jan Alexander Steffens (heftig) 5149dc254d log_handler test: Ignore unknown categories
Tests run parallel in multiple threads. This makes the log_handler test
flaky because it may see log messages triggered by other threads. Make
the handler ignore all messages not in the category we care about.
2019-09-12 12:31:28 +03:00
Vivia Nikolaidou 168db3b948 element: Added num_pads, num_src_pads, num_sink_pads
Exposing the corresponding struct element in GstElement
2019-09-12 12:31:21 +03:00
François Laignel eb87563479 Fully qualify inner macros for exported macros...
... otherwise they can't be resolved in dependent crates compiled
for edition 2018.
2019-09-12 12:31:15 +03:00
Mathieu Duponchelle c00bceb123 subclass/element: expose set_clock and provide_clock vmethods 2019-09-12 12:31:07 +03:00
Sebastian Dröge 98701dac1b Update versions to 0.14.4 2019-08-14 22:18:19 +03:00
Sebastian Dröge 1427a05c32 Update CHANGELOG.md for 0.14.4 2019-08-14 22:17:55 +03:00
Sebastian Dröge 2ead2e60eb gstreamer/element: Use from_glib_none() for the release_pad() trampoline
The reference to the pad we get passed is not guaranteed to be valid for
the whole scope of release_pad(). It might be the last reference as
owned by GstElement, and gst_element_remove_pad() would destroy it then.
2019-08-14 12:38:08 +03:00
François Laignel ec3a11cec1 Fix functions unit tests for v < 1_12 2019-08-14 12:38:08 +03:00
Josh Matthews 65f548cd98 Add high level bindings for adding new log handlers and removing the default handler. 2019-08-14 12:38:08 +03:00
Sebastian Dröge 0c4d6cf151 gstreamer: Add bindings for gst::calculate_linear_regression() 2019-08-14 12:38:08 +03:00
Sebastian Dröge d9f4be0170 Update versions to 0.14.3 2019-07-16 12:44:26 +03:00
Sebastian Dröge fa8a9db311 Update CHANGELOG.md for 0.14.3 2019-07-16 12:44:07 +03:00
Sebastian Dröge 058d792548 buffer: Allow setting/unsetting buffer flags
As there are extension flags types, we need separate setter/unsetter
functions for the flags, or otherwise we would always clear the
extension flags types (e.g. GstVideoBufferFlags).
2019-07-16 11:51:37 +03:00
Sebastian Dröge 1dc66b58d8 Update version to 0.14.2 2019-07-15 20:02:35 +03:00
Sebastian Dröge 97ff067b9c Update CHANGELOG.md for 0.14.2 2019-07-15 20:02:35 +03:00
Sebastian Dröge 4cf3166317 meta: Add support for ReferenceTimestampMeta 2019-07-15 14:51:08 +00:00
Sebastian Dröge 68e1f31fd2 Update versions to 0.14.1 2019-07-06 23:45:56 +03:00
Sebastian Dröge c3e712d1bf Update CHANGELOG.md for 0.14.1 2019-07-06 19:17:43 +03:00
Sebastian Dröge 3d4697cf63 gstreamer/format: Fix serde serialization unit test
Regression from fdb95f0033
2019-07-06 10:36:10 +03:00
Sebastian Dröge 285f60db06 Update versions of all dependencies and point to releases instead of GIT 2019-06-24 20:41:13 +03:00
Sebastian Dröge e026c67874 Update CHANGELOG.md for 0.14.0 2019-06-24 20:26:18 +03:00
Sebastian Dröge 12e1ca9b09 Regenerate everything with latest gir 2019-06-24 19:54:04 +03:00
Guillaume Desmottes 24d9dc6209 gstreamer: tags: make call to to_string() explicit
This one was actually working but better to be safe as it may be
ambigious.
2019-06-18 17:11:24 +05:30
Guillaume Desmottes 40d2db7095 gstreamer: caps: make call to to_string() explicit
This one was actually working but better to be safe as it may be
ambigious.
2019-06-18 17:11:24 +05:30
Sebastian Dröge b87ffa17bb Run rustfmt also over all the generated code 2019-06-18 13:12:00 +03:00
Sebastian Dröge e5aa6f59f9 Regenerate everything 2019-06-18 13:10:46 +03:00
Sebastian Dröge 4f024af7d6 gstreamer/serde: Fix compilation with serde feature enabled 2019-06-06 09:25:19 +03:00
Sebastian Dröge d1e562b9f6 Explicitly add dyn keyword to trait objects
Trait objects without are deprecated with the latest nightly and this
makes it more clear that we're doing dynamic dispatch anyway.
2019-06-06 09:09:34 +03:00
Guillaume Desmottes 7a69a1137c gstreamer: plugin_feature: use Rank enum 2019-06-04 12:56:18 +03:00
Guillaume Desmottes 1cd733fb0b gstreamer: allow to register using Rank enum directly
Prevent user to have to cast to a u32 manually.
2019-06-04 12:50:43 +03:00
Sebastian Dröge 2c31baaa0c gstreamer: Implement Add<u32> for gst::TypeFindProbability and fix comparison
While the enum is a signed integer, all operations inside GStreamer
(especially comparison) is based on unsigned integers.
2019-06-04 12:45:56 +03:00
Sebastian Dröge 620a9b2a95 gstreamer: Implement Add<u32> for gst::Rank and fix comparison
While the enum is a signed integer, all operations inside GStreamer
(especially comparison) is based on unsigned integers.
2019-06-04 12:45:56 +03:00
Sebastian Dröge d44c293753 Use TryFrom/TryInto traits where it makes sense instead of our previous ad-hoc solutions 2019-06-03 18:42:34 +03:00
Sebastian Dröge fdb95f0033 gstreamer/format: Implement formatted value arithmetic with overflow checks
We have a value to represent invalid/overflow anyway, so let's make sure
that all operations are actually not overflowing and if they do we
assigned that value to the result.
2019-06-03 08:25:43 +00:00
Sebastian Dröge fbcdf90386 gstreamer/format: Add various other arithmetic operation impls for the different formatted values
This includes gst::ClockTime.
2019-06-03 08:25:43 +00:00
Sebastian Dröge b2ffe98d59 gstreamer/fraction: Add impls for various other arithmetic operations on fractions
Any arithmetic operation on plain values or references in any order
should be possible now, and on fractions with i32.
2019-06-03 08:25:43 +00:00
Sebastian Dröge 37071c9d60 gstreamer: Fix build with serde feature enabled 2019-05-28 04:35:12 +02:00