Commit graph

1091 commits

Author SHA1 Message Date
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
Guillaume Desmottes
f3c2cb80f1 video: VideoInfo: display format info in Debug 2019-07-05 17:07:41 +03:00
Guillaume Desmottes
a9e401084d video: implement proper Debug on VideoFormatInfo 2019-07-05 17:07:41 +03:00
Sebastian Dröge
369d195e9f video-info: Use gst_video_info_set_interlaced_format() when building for 1.16 and having an interlace-mode set
This ensures that the plane information is filled correctly.
2019-06-26 12:41:47 +03:00
Sebastian Dröge
5da8ead7c9 webrtc: Generate various new enum types that were added in 1.14.1/1.16 2019-06-26 12:20:46 +03:00
Sebastian Dröge
dba110bff2 Add missing versions to new WebRTC enum types 2019-06-26 12:20:45 +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
be0075647a Update documentation 2019-06-24 20:28:25 +03:00
Sebastian Dröge
fe93089bb9 Remove unused subclassing configuration from toml files 2019-06-24 20:27:28 +03:00
Sebastian Dröge
e026c67874 Update CHANGELOG.md for 0.14.0 2019-06-24 20:26:18 +03:00