Commit graph

1101 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 251548e5e5 Switch to Rust 1.36 as the lower-bound version
Some of the dependencies require it now.
2019-11-14 11:01:51 +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
jerry73204 d373fcac84 appsink: Use FnMut instead of Fn for callbacks
They can only be called from a single thread at once.
2019-11-02 10:53:11 +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 d418278dba audio/video: Add decoder base class error macros 2019-09-17 11:25:48 +03:00
Sebastian Dröge 25860f7701 audio/video: proxy_getcaps() can't return None and get_caps() vfuncs must not return None
Other than in git master / 0.15, proxy_getcaps() on the video base
classes still returns an Option to preserve API compatibility.
2019-09-17 11:25:48 +03:00
Sebastian Dröge a40835351f audio/video: Use proxy_getcaps() function for default handling of getcaps() vfunc 2019-09-17 11:25:48 +03:00
Sebastian Dröge 18ced8dda4 audio: Add support for subclassing AudioEncoder and AudioDecoder
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/159
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/158
2019-09-17 11:25:48 +03:00
Sebastian Dröge ac15298d49 video: Add support for VideoDecoder::drain() vfunc 2019-09-17 10:52:38 +03:00
Sebastian Dröge bc42a245ce video: Add support for getcaps(), negotiate(), src/sink_query/event() vfuncs in VideoEncoder/Decoder 2019-09-17 10:52:33 +03:00
Sebastian Dröge 0868bce87d video: Return NotNegotiated if setting the output state fails 2019-09-17 10:52:26 +03:00
Sebastian Dröge 7dfe7c09bd video: Add VideoEncoder/VideoDecoder::get_allocator() 2019-09-17 10:52:11 +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 c28ab78795 baseparse/transform/aggregator: Add constants for custom flow returns 2019-08-14 20:27:18 +03:00
Sebastian Dröge 163030e984 videoencoder/decoder: Add constants for the NEED_DATA custom flow returns 2019-08-14 20:27:17 +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 9c0f1d0103 video: Generate VideoBufferFlags and add a extension trait for setting/getting them on buffers 2019-07-16 11:51:36 +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 0bfa8fdcce examples/futures: Use future::pending() instead of future::empty()
It was renamed in the last release.
2019-07-06 10:36:10 +03:00
Sebastian Dröge dda55616dd tutorials/basic-tutorial-5: Make sure to only declare GDK C functions for the right platform
Otherwise linking might fail depending on the compiler flags if the
linker does not remove all references to unused code.
2019-07-06 10:36:10 +03:00
Sebastian Dröge 881cdf2a5e examples/gtkvideooverlay: Make sure to only declare GDK C functions for the right platform
Otherwise linking might fail depending on the compiler flags if the
linker does not remove all references to unused code.
2019-07-06 10:36:10 +03:00
Sebastian Dröge 01a98ecdbb Run stable clippy in gitlab CI again and also build all features on stable
Now that futures are stable in 1.36 we can do that again.
2019-07-06 10:36:10 +03:00
Guillaume Desmottes 5a2868ac57 audio: AudioInfo: display format info in Debug 2019-07-05 17:07:41 +03:00