Sebastian Dröge
e6b78d1489
gstreamer: Have Structure::from_iter() take owned values
...
They were copied internally, which can be avoided in many cases if
working with owned values anyway.
2021-10-18 16:36:15 +03:00
François Laignel
f315d3a052
Use published option-operations
2021-10-18 14:30:59 +02:00
François Laignel
4bbd201377
Impl Option*{Div,Mul,Rem}
...
Use the inner type for Rhs, as implemented for Duration.
These operations make sense without providing a "unit".
2021-10-18 14:30:59 +02:00
François Laignel
f83b385487
tutorial: take advantage of Div impl on Percent
2021-10-18 14:30:59 +02:00
François Laignel
deb22b264e
format, clock_time: gather macros together
...
The modules format and clock_time share common macros which are
scattered between each modules. This cross reference makes it
difficult to maintain the macros.
This commit also make it possible to use macro
impl_common_ops_for_newtype_uint for Percent.
2021-10-18 14:30:59 +02:00
François Laignel
986a136492
clock_time & format: basic opt-ops impl
...
The option-operations crate provides traits to improve usability
when dealing with `Option`s, which is often the case with
`ClockTime` & most formats.
2021-10-18 14:30:59 +02:00
François Laignel
051df59cd1
clock_time, format: fix checked, saturating, wrapping ops
...
These operations were implemented using the integer implementations.
These types' MAX values are different from the integers so they must
use specific implementations.
Also add the overflowing variants.
2021-10-18 14:30:59 +02:00
Guillaume Desmottes
675fe349a7
gstreamer: implement Sum on ClockTime
...
Small convenient helper.
2021-10-18 08:05:56 +02:00
Sebastian Dröge
67af5ac569
gstreamer: Add support for 1.18 instant rate request message
2021-10-17 14:39:38 +03:00
Sebastian Dröge
cdddf48f08
gstreamer: Correctly mark various messages as new in 1.10/1.16
2021-10-17 14:33:34 +03:00
Sebastian Dröge
6e3878c8f5
gstreamer: Add bindings for 1.18 instant-rate-change related events
2021-10-17 14:27:44 +03:00
Sebastian Dröge
8b77bd4068
gstreamer: Mark select-streams / stream-collection as only available in 1.10
2021-10-17 14:11:56 +03:00
Sebastian Dröge
d01ed466d0
gstreamer: Use #[non_exhaustive] annotation instead of a dummy enum variant
2021-10-17 14:04:18 +03:00
Sebastian Dröge
aab0a45cfc
gstreamer: Implement pad sticky event getter by type
...
This allows the caller to directly use the specific event type API on
the result instead of first having to match on it first.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/314
2021-10-17 14:04:18 +03:00
Sebastian Dröge
87e7a84a27
gstreamer: Remove one unnecessary use of unsafe in query code
2021-10-17 12:38:59 +03:00
Sebastian Dröge
3d39faac28
video: Implement non-fallible constructor and FromIterator for VideoOverlayComposition when building for 1.20
...
Previous versions needed at least one rectangle for successfull
construction.
2021-10-17 12:33:29 +03:00
Sebastian Dröge
7037f6d836
video: Rename VideoOverlayComposition iterator struct
2021-10-17 11:24:33 +03:00
Sebastian Dröge
e989899467
gstreamer: Remove FromIterator impls on references
...
Creating copies silently while calling collect() is unexpected and can
explicitly added to the iterator via map() if needed.
2021-10-17 11:21:31 +03:00
Sebastian Dröge
3670076f07
gstreamer: Implement IntoIterator / FromIterator for Buffer, BufferList, Caps, CapsFeatures, StreamCollection and Structure
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/285
2021-10-16 23:24:08 +03:00
Sebastian Dröge
219616ced0
video: Implement iterator for VideoOverlayComposition
2021-10-16 21:07:13 +03:00
Sebastian Dröge
dc7e705f44
base: decide_query in Aggregator/BaseTransform propose_allocation() is nullable
2021-10-16 15:36:20 +03:00
Sebastian Dröge
f6cf6c8863
Improve subclass decide_allocation() / propose_allocation() API
...
The queries passed in are always allocation queries, so don't require
implementors to match on that first.
2021-10-16 14:24:08 +03:00
Sebastian Dröge
7e71c74505
base: Add support for propose_allocation()/decide_allocation() in the base classes
2021-10-16 14:24:08 +03:00
Philippe Normand
b9cd38b796
gstreamer: query: Tidy up allocation pool API
...
Use `impl IsA<BufferPool>` and make the `set_nth_` and
`remove_nth_` methods check the index bounds.
2021-10-12 17:16:21 +01:00
Philippe Normand
6d88e18772
gstreamer: Add bindings for querying allocation params
...
This can be used to query downstream for custom allocators.
2021-10-12 17:16:21 +01:00
Sebastian Dröge
8fb37c5134
gstreamer: Implement Deref<Target=[glib::SendValue]> for List and Array
2021-10-12 11:24:54 +03:00
Sebastian Dröge
37c3d2d8e0
Update for glib::source_remove() removal
2021-10-12 09:30:10 +03:00
Sebastian Dröge
d7fe610767
rtp: Fix mutability of caps in RtpHeaderExtension API
2021-10-08 19:57:14 +03:00
Sebastian Dröge
6e6f5108a9
video: Add VideoDecoderImpl::handle_missing_data()
2021-10-08 19:51:52 +03:00
Sebastian Dröge
1c7b4516f9
Regenerate everything with latest GStreamer gir files
2021-10-08 19:44:38 +03:00
Sebastian Dröge
71e58bfec2
Add some newly added API
2021-10-08 19:43:47 +03:00
Sebastian Dröge
72b373c454
Update GStreamer gir files
2021-10-08 19:42:33 +03:00
Guillaume Desmottes
650787ee7c
mpegts-sys: mark a couple of structs as >= gst 1.20
...
Their ABI have changed.
2021-10-07 15:36:40 +02:00
Guillaume Desmottes
da61c19b69
ci: install gst from mono repo
2021-10-07 15:33:19 +02:00
Sanchayan Maity
b13f2060dc
Update prepare_output_buffer's type signature
...
Update prepare_output_buffer's type signature to correctly reflect
whether it gets to work with a writable or readable buffer.
2021-10-07 12:38:07 +05:30
Sebastian Dröge
757530bd8a
ges: Bind a lot of missing API
2021-09-28 18:33:15 +03:00
Sebastian Dröge
c4cbcecc7c
Regenerate everything
2021-09-28 18:11:20 +03:00
Sebastian Dröge
e8d25438e7
Update gst-gir-files
2021-09-28 18:09:01 +03:00
Sebastian Dröge
8f51cbc899
Update gir
2021-09-28 18:08:54 +03:00
Marijn Suijten
eb6939f8b7
Clean up object version overrides
2021-09-28 15:46:39 +03:00
Sebastian Dröge
baccf52e43
Regenerate with latest gir
2021-09-28 15:46:37 +03:00
Sebastian Dröge
931e35cdf9
Update gir
2021-09-28 15:13:48 +03:00
Sebastian Dröge
f5f5fae815
Regenerate with latest gir and gtk-rs gir-files
2021-09-28 12:55:58 +03:00
Sebastian Dröge
d0902f19a8
Update gir
2021-09-28 12:54:49 +03:00
Sebastian Dröge
513fb4cdc3
Update gtk-rs gir-files
...
Should reduce download sizes a bit.
2021-09-28 12:31:55 +03:00
Sebastian Dröge
e5977c2d20
video: Use nested [[f32; 4]; 4] slices for the affine transformation meta instead of [f32; 16]
2021-09-25 15:16:53 +03:00
Sebastian Dröge
4e235b0492
video: Add support for static HDR metadata
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/270
2021-09-25 14:49:33 +03:00
Sebastian Dröge
c2a2549b66
video: Automatically derive Copy/Clone for more structs
2021-09-25 14:32:43 +03:00
Jan Alexander Steffens (heftig)
c05d2e24af
gstreamer/clock_time: Format Debug like Display
...
This allows us to drop `.to_string()` from the custom Debug
implementations, which now also no longer print as strings.
2021-09-23 02:19:41 +02:00
Sebastian Dröge
14edcf9aaf
Regenerate with latest gir
2021-09-22 12:02:53 +03:00