Commit graph

1100 commits

Author SHA1 Message Date
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
Guillaume Desmottes
bee134bc42 audio: implement proper Debug on AudioFormatInfo 2019-07-05 17:07:41 +03:00