Sebastian Dröge
538eb95e51
ci: Update to rustup 1.25.0 and meson 0.63.0
2022-07-12 10:26:44 +03:00
François Laignel
a787197254
Use CompatibleFormattedValue where applicable
...
See https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1059
2022-07-11 19:45:52 +02:00
François Laignel
865df62f8d
gst/format: add CompatibleFormattedValue
...
The trait CompatibleFormattedValue can be used to check argument
compatibility to a certain Format. This is convenient to define
function which accept several FormattedValues which must hold
values of the same Format.
This trait enforces format compatibility at compilation time for
SpecificFormattedValues and at runtime when a GenericFormattedValue
is provided.
See https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1059
2022-07-11 19:45:52 +02:00
François Laignel
fe319af598
Implement FormattedValue on any candidate type
...
The trait FormattedValue was only implemented on types which
could implement the full range of values for a Format. In order
to declare a function which could take both the intrinsic type
of any Format (e.g. `ClockTime`) as well the full range of values
(e.g. `Option<ClockTime>`), the argument was declared:
```rust
impl Into<GenericFormattedValue>,
```
This commit implements `FormattedValue` for any type representing
a format. E.g.: both `ClockTime` and `Option<ClockTime>` will now
implement `FormattedValue`. The trait `FormattedValueFullRange`
is implemented on types which can be built from any raw value.
These changes are intended to help for the implementation of a
means to enforce format conformity at compilation time for
functions with multiple formatted value arguments.
The following signatures were found to be incorrect and are fixed:
- `message::StepDone`: forced the type for `amount` and `duration`
to be of the same type, when `duration` is expected to be of the
`Time` format.
- `query::Convert::set`: the two arguments were forced to the same
type, so potentialy the same format, unless a
`GenericFormattedValue` was used.
See https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1059
2022-07-11 19:45:52 +02:00
Guillaume Desmottes
fbceaab941
utils: streamproducer: add API to retrieve last sample from producer
...
This may be used for example to easily generate thumbnails from video
producers.
2022-07-11 11:32:06 +02:00
Guillaume Desmottes
0e17878bed
utils: streamproducer: add API to retrieve pushed and dropped buffers
...
This may be used by applications to compute statistics about the overall
pipeline health, like the ratio of buffers dropped.
2022-07-11 09:10:52 +02:00
Paolo Borelli
f2a2e6702c
caps: add new_empty_simple constructor
2022-07-05 14:49:21 +02:00
Sebastian Dröge
17005f220b
ci: Update to Rust 1.62
2022-07-01 00:04:33 +03:00
Sebastian Dröge
4dade30f0d
Fix/silence a couple new clippy warnings
2022-06-30 13:08:33 +00:00
Sebastian Dröge
f30fcbcf9a
pbutils: Fix PbUtilsCapsDescriptionFlags serde (de)serialization tests
2022-06-30 12:42:37 +03:00
Sebastian Dröge
65629426cb
tracer: Add bindings for new pad chain hooks
2022-06-30 08:46:06 +03:00
Sebastian Dröge
07562c592f
video: Add bindings for is_common_aspect_ratio()
2022-06-30 08:46:06 +03:00
Sebastian Dröge
90aaa32957
Regenerate
2022-06-30 08:46:06 +03:00
Sebastian Dröge
fb724aedeb
Update gst-gir-files
2022-06-30 08:46:06 +03:00
Sebastian Dröge
8e9e135128
Update gir-files
2022-06-30 08:46:06 +03:00
Sebastian Dröge
542bb130f4
Update gir
2022-06-30 08:46:06 +03:00
Sebastian Dröge
f333991a5a
ci: Update image
2022-06-30 08:46:06 +03:00
Sebastian Dröge
c61d913ec6
tracer: Add support for the 1.20 "plugin-feature-loaded" hook
2022-06-29 10:13:59 +03:00
Sebastian Dröge
9e77ab3212
tracer: Re-order trait functions slightly for the order to make more sense
2022-06-29 10:13:36 +03:00
Sebastian Dröge
14f485d0b1
bus: Take ownership of the message in post()
2022-06-28 23:36:08 +03:00
Sebastian Dröge
20ac231146
gstreamer: Allow borrowing Segment
s from Value
s without copying
2022-06-27 22:28:49 +03:00
Sebastian Dröge
c9d07219c8
Store whether GStreamer was initialized in an AtomicBool
...
Avoids a function call in the normal case.
2022-06-27 10:28:28 +03:00
Sebastian Dröge
7754b8dd70
allocators: Reduce number of initialization check macros
2022-06-27 10:07:58 +03:00
Sebastian Dröge
310ff531fb
base: Fix memory leak if BaseSrc/PushSrc parent class is not filling the provided buffer as it should
2022-06-24 11:13:06 +03:00
Sebastian Dröge
b28664ccbd
gstreamer: Fix serde serialization tests
...
ron serialization is now writing `1.0` instead of just `1`.
2022-06-24 11:13:06 +03:00
Sebastian Dröge
6b47d646c0
base: Add support for returning buffer lists from BaseSrc/PushSrc subclasses
2022-06-24 11:13:06 +03:00
Sebastian Dröge
5e3ace0ecc
ci: Fix syntax for coverage reports to the new format
2022-06-07 09:04:40 +03:00
Sebastian Dröge
2c373f5d24
examples: Update to memfd 0.6
2022-06-06 11:18:40 +03:00
Sebastian Dröge
50f3eee8eb
play: Mark play_message
module as private
...
The only type that is defined in it is re-exported at the crate root.
2022-05-24 11:02:27 +03:00
Philippe Renon
01b8279bc1
examples: add GstPlay example
2022-05-24 06:55:12 +00:00
Philippe Renon
35aff36c61
Introduce gstreamer-play
2022-05-24 06:55:12 +00:00
Philippe Renon
f35baffb52
Update gst-gir-files
2022-05-24 06:55:12 +00:00
Stephan Seitz
c254c5fd1a
gstreamer: add PadProbeId::as_raw()
...
This allows to convert PadProbeId to numberic values without
taking them by value (like `into_glib`).
See https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/382#note_1391236
2022-05-23 08:19:47 +00:00
Sebastian Dröge
cb1f08a425
gstreamer: Implement FusedFuture for PromiseFuture
2022-05-22 12:42:42 +03:00
Sebastian Dröge
aaf601831e
gstreamer: Index structures/taglist more safely
...
Accessing after the length will lead to a critical warning and should
not happen.
2022-05-22 12:42:42 +03:00
Sebastian Dröge
d4430ecc6a
Implement more iterator functions / traits in custom iterators for efficiency reasons
2022-05-22 12:42:42 +03:00
Philippe Renon
8f1c94f45d
Regenerate with latest gir
2022-05-20 17:48:40 +02:00
Philippe Renon
5ed8416717
Update gir
2022-05-20 17:48:40 +02:00
Sebastian Dröge
e76ae3f434
gstreamer: Fix a few new clippy warnings
2022-05-20 11:19:07 +03:00
Sebastian Dröge
0055399471
ci: Update to Rust 1.61
2022-05-19 18:10:24 +03:00
Jordan Petridis
7283fe69b2
ci: Build gstreamer-gl on windows
...
This was disabled since DirectX wasn't available, but its working
now on the server2022 image that provides the required headers
and dlls.
2022-05-19 13:26:34 +03:00
Jordan Petridis
9d873d6755
ci: define the dependencies between jobs
...
This means that jobs can start the moment they are ready, instead
of waiting for the previous stage to finish.
Also define their interruptibility so new pipelines can automatically
cancel the previous ones.
https://docs.gitlab.com/ee/ci/yaml/index.html#needs
2022-05-18 22:21:08 +03:00
Jordan Petridis
7075a4b3ea
ptp_clock: fix build on windows
...
c_ulong/gulong can be 32bit or 64bit depending on the platform.
Always cast it to u64 so the compiler will be happy.
2022-05-18 22:20:37 +03:00
Jordan Petridis
4d7bd9bfcb
ci: use rules instead of only/except
...
only/except has got deprecated in favour of rules
maybe it fixes #370 ?
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/701 >
2022-05-18 19:51:49 +03:00
Jordan Petridis
d53dfcf94e
ci: use a custom powershell script to run windows tests
...
There are a couple things going on here.
First, we need to avoid building egl/wayalnd/x11 crates on windows
as they can't be built.
Then we need to avoid running -sys tests as they don't succeed
currently. See [1]
Finally use a matrix:parallel job to tests multiple build
configurations.
[1] https://github.com/gtk-rs/gtk3-rs/issues/54
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/701 >
2022-05-18 19:51:49 +03:00
Jordan Petridis
5e27da5a1c
ci: add an msvc 2017 test
...
Tests disabled for now, till some quirks are worked out.
Thi should be good enough to at least not break the build though.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/701 >
2022-05-18 19:51:49 +03:00
Jordan Petridis
842dad3fa5
Cargo.toml: add cross-platform crates to default-members
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/701 >
2022-05-18 13:12:47 +03:00
Philippe Renon
5d2f36fac3
gstreamer: implement FromGlibPtrBorrow trait for gst::Structure
...
needed for callbacks that pass GstStructure by reference
for example: the PlaySignalAdapter error and warning signals
needed by https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1036
2022-05-17 23:19:35 +02:00
Philippe Renon
268e351dde
examples: fix clippy errors
2022-05-17 21:47:34 +02:00
Thibault Saunier
8c69388eff
utils: Re export AddConsumerError
2022-05-17 20:19:12 +03:00