François Laignel
ced522ed08
Implement ser / de for Date Values, Structure fields and Tags
2019-08-19 15:51:42 +02:00
François Laignel
c74eef374a
Fix serde for Values
with optional Type
s
...
Attention: these changes induce breaking changes for the serde
representation of some types.
Serialization of `Value`s used to rely on the `get` function
followed by an `unwrap`. This means that optional types couldn't
be serialized when they were `None`.
This commit distinguishes between the optional `Value` `Types` and
the ones that always return some value.
The `Value`s, `Structure` fields and `Tag`s with following types are
now represented as `Option`s:
- `Buffer`
- `DateTime`
- `Sample` (note: this type is used for `Tag` images)
- `String` (except for `Tag`s - see the comment in `tags_serde.rs`).
The representations for these `Type`s remain unchanged when they are
used in-place (not as part of a `Value`).
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/215
2019-08-19 15:34:24 +02:00
François Laignel
26423a069c
structure::tests: use error constructors
2019-08-16 15:04:01 +02:00
Sebastian Dröge
f050750b5e
Update CHANGELOG.md for 0.14.4
2019-08-14 22:48:16 +03:00
Mathieu Duponchelle
6d3cf44573
gstreamer-rtp: initial RTPBuffer bindings
2019-08-14 18:01:00 +00:00
Mathieu Duponchelle
ee014a6df2
Generate initial bindings for gstreamer-rtp
...
This mostly wraps enums, flags, and constants, will wrap RTPBuffer
next
2019-08-14 18:01:00 +00:00
Sebastian Dröge
85d01e853e
baseparse/transform/aggregator: Add constants for custom flow returns
2019-08-14 20:26:22 +03:00
Sebastian Dröge
eddf4a61ff
videoencoder/decoder: Add constants for the NEED_DATA custom flow returns
2019-08-14 20:22:55 +03:00
Sebastian Dröge
5c53f10135
videoencoder: Allow passing None to finish_frame()
2019-08-14 20:22:53 +03:00
Sebastian Dröge
e00781309b
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 11:58:05 +03:00
Sebastian Dröge
2829c7ee2f
gstreamer: Add StructureRef::get_optional()
...
This only returns Err on type mismatches. If the field does not exist or
None it returns None, otherwise the value.
StructureRef::get() returns Err also if the field does not exist.
2019-08-13 18:30:40 +03:00
Sebastian Dröge
39ef834cfe
examples: Fix compilation after GValue API changes
2019-08-13 18:30:40 +03:00
Sebastian Dröge
22d8828015
player: Fix feature flag for gstreamer-player-sys
2019-08-13 18:30:40 +03:00
Sebastian Dröge
cd4ae139d0
Explicitly enable the features we want to test on the CI
2019-08-13 18:30:40 +03:00
Sebastian Dröge
1b860825ee
Update feature flags of all dependencies to include the same version as for the crate itself
...
This improves build times as it allows cargo to reuse more previous
build results when building crates separately.
Also remove the serde-pickle dependency. It was only used in a single
test and caused pulling in of quite a few dependencies.
2019-08-13 16:46:08 +03:00
Sebastian Dröge
da9db6b80d
Improve features selection in Cargo.toml
...
All dependencies now also are compiled with the same version feature as
the crate itself, allowing for more caching of build results by cargo.
2019-08-13 16:23:05 +03:00
François Laignel
514a05accd
Manual update for new Value::get
signature
2019-08-13 10:57:32 +02:00
Mathieu Duponchelle
f8cebe8aa9
Generate bindings for gstreamer-rtp
2019-08-12 23:48:06 +02:00
François Laignel
5d012945df
Regen
2019-08-11 10:43:30 +02:00
François Laignel
3cf034d94b
Update gir
2019-08-10 19:19:56 +02:00
François Laignel
26fda95a54
Fix functions unit tests for v < 1_12
2019-08-08 19:38:42 +02:00
Sebastian Dröge
51ea339a19
Regenerate with latest gir
2019-08-05 13:08:01 +03:00
Sebastian Dröge
4cfcba0811
Update gir
2019-08-05 12:55:29 +03:00
Sebastian Dröge
1eb5525a27
Update array-init to 0.1 and gl_generator to 0.13
2019-07-24 14:23:15 +03:00
Josh Matthews
0e36ac5205
Add high level bindings for adding new log handlers and removing the default handler.
2019-07-22 16:06:41 +00:00
Sebastian Dröge
fcc361f920
gstreamer: Add bindings for gst::calculate_linear_regression()
2019-07-17 00:24:13 +03:00
Sebastian Dröge
eb59456ae3
Update CHANGELOG.md for 0.14.3
2019-07-16 12:47:15 +03:00
Sebastian Dröge
007f80ca32
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:23 +03:00
Sebastian Dröge
e3282c27f1
video: Generate VideoBufferFlags and add a extension trait for setting/getting them on buffers
2019-07-16 11:51:23 +03:00
Sebastian Dröge
36b0cafc5e
Update CHANGELOG.md for 0.14.2
2019-07-15 20:03:48 +03:00
Sebastian Dröge
ae58a469d1
meta: Add support for ReferenceTimestampMeta
2019-07-14 22:32:10 +03:00
Sebastian Dröge
d8325212f4
Fix various clippy warnings
2019-07-11 22:02:01 +03:00
Sebastian Dröge
f63d50546a
Don't use ONCE_INIT anymore now that Once::new() is const
2019-07-11 17:56:50 +03:00
Sebastian Dröge
424a87efbf
Use MaybeUninit::zeroed() everywhere possible instead of mem::zeroed()
2019-07-11 17:56:50 +03:00
Sebastian Dröge
3a8d05075d
Switch everything from mem::uninitialized() to MaybeUninit or mem::zeroed()
...
And also fix a few cases where mem::uninitialized() was simply wrong to
use.
2019-07-11 17:56:50 +03:00
Sebastian Dröge
3ea9a435e2
Update minimum supported Rust version to 1.36
2019-07-10 11:21:53 +03:00
Sebastian Dröge
bde6a04780
Regenerate everything with latest gir
2019-07-10 11:21:28 +03:00
Sebastian Dröge
606525b430
Update gir
2019-07-10 11:17:55 +03:00
Sebastian Dröge
dcbf68e9e7
Update CHANGELOG.md for 0.14.1
2019-07-06 23:57:28 +03:00
Sebastian Dröge
9a3e7d0aa9
gstreamer/format: Fix serde serialization unit test
...
Regression from fdb95f0033
2019-07-06 10:19:03 +03:00
Sebastian Dröge
04ed22a356
examples/futures: Use future::pending() instead of future::empty()
...
It was renamed in the last release.
2019-07-06 09:56:34 +03:00
Sebastian Dröge
f7cf709062
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 02:38:58 +03:00
Sebastian Dröge
39ea788835
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 02:38:58 +03:00
Sebastian Dröge
27f0d86068
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-04 17:28:15 +03:00
Guillaume Desmottes
f84e94db78
audio: AudioInfo: display format info in Debug
2019-07-03 15:27:30 +02:00
Guillaume Desmottes
6c1392220d
audio: implement proper Debug on AudioFormatInfo
2019-07-03 15:25:40 +02:00
Guillaume Desmottes
86f7a1dd9b
video: VideoInfo: display format info in Debug
2019-07-03 14:32:43 +02:00
Guillaume Desmottes
71414fe052
video: implement proper Debug on VideoFormatInfo
2019-07-03 14:23:58 +02:00
Sebastian Dröge
38f3d3eff2
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:42:33 +03:00
Sebastian Dröge
6871e501db
webrtc: Generate various new enum types that were added in 1.14.1/1.16
2019-06-25 19:20:37 +03:00