Commit graph

1093 commits

Author SHA1 Message Date
François Laignel f80abb0ba9 Exclude gir from workspace so that we can run it 2019-08-19 18:46:49 +02:00
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 Types
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
François Laignel 514a05accd Manual update for new Value::get signature 2019-08-13 10:57:32 +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 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
Sebastian Dröge e0d345fbb4 Add missing versions to new WebRTC enum types 2019-06-25 19:17:36 +03:00
Sebastian Dröge 28a24a4fc0 Update versions to 0.15.0 2019-06-24 20:53:05 +03:00
Sebastian Dröge e10df81166 Update documentation 2019-06-24 20:52:03 +03:00