Sebastian Dröge
e0dc84c10a
Run everything through rustfmt again
2017-12-20 19:30:14 +02:00
Sebastian Dröge
70688fd6a9
Clean-up VideoFrame API
...
There's a buffer() for immutable references on all types now, and a
buffer_mut() for getting a mutable reference on the writable videoframe
Also some minor other cleanup
2017-12-16 11:41:48 +02:00
Sebastian Dröge
70e031b729
VideoInfo/AudioInfo are not Sync, only Send
2017-12-16 11:40:36 +02:00
Sebastian Dröge
d3b03de9ff
Nullability fix for VideoFormat::to_string() in case Unknown is passed
2017-12-16 10:58:10 +02:00
Sebastian Dröge
5fb6ce77ee
Add VideoMultiviewFramePacking enum and minor code cleanup
2017-12-16 10:56:19 +02:00
Sebastian Dröge
f2eabaddf7
Make all fields of the force-keyunit events optional in the builder
2017-12-10 22:43:28 +02:00
Sebastian Dröge
580fc603e0
Use builders for the key-unit and still-frame events too
2017-12-10 12:26:16 +02:00
Sebastian Dröge
5065bc76ee
Rename FormattedValue::from_glib/to_glib to from_raw/to_raw_value
...
Otherwise we conflict with GLib translation traits, which causes some
annoyances.
2017-12-10 12:10:25 +02:00
Sebastian Dröge
d55e08a6a4
Add bindings for force-keyunit and still-frame events
2017-12-10 11:57:11 +02:00
Sebastian Dröge
c99928d030
Change FormatValue related API to be more convenient to use
...
FormatValue is now renamed to GenericFormattedValue and the API slightly
changed. In addition there is now a FormattedValue trait, and a
SpecificFormattedValue trait plus types for Bytes, Buffers and the
existing ClockTime.
This allows to create functions like
Pad::query_duration<F: SpecificFormattedValue>() -> Option<F>
and doesn't require the caller to unwrap the generic value anymore,
which is completely unneeded in these cases.
In addition, Segment became FormattedSegment<T> with API to
upcast/downcast between the specific formatted values and the generic
formatted value. This greatly simplifies usage of Segments.
2017-12-09 19:45:18 +02:00
Sebastian Dröge
411f54afed
Run everything to rustfmt again
2017-12-01 19:02:53 +02:00
Sebastian Dröge
8a2e78e586
Regenerate with latest GIR to fix various issues with property getters
...
Get rid of unneeded transmutes and actually initialize flags/enum
GValues with the correct type instead of using integers.
2017-11-27 19:16:34 +02:00
Sebastian Dröge
3c9b7a395b
Get rid of some unneeded transmute() in VideoInfo
2017-11-27 14:03:33 +02:00
Sebastian Dröge
34f70ee0d7
Derive more useful traits for various enums
2017-11-27 14:03:30 +02:00
Sebastian Dröge
7eb8429046
Run everything through latest rustfmt-nightly again
2017-11-15 22:33:51 +02:00
Sebastian Dröge
d4bd1c2d76
Add dox feature to everything as needed
2017-11-12 13:33:02 +01:00
Sebastian Dröge
c39c0c7264
Implement ClockTime as ClockTime(Option<u64>)
...
And also implement a FormatValue type that holds a value together with
its format to make usage of the positions/durations/seek positions/etc
more convenient and safe.
Fixes https://github.com/sdroege/gstreamer-rs/issues/3
2017-11-11 11:57:29 +01:00
Sebastian Dröge
5d266bf31b
Regenerate with latest GIR
...
Which gives us mappings between instance and class struct for now.
2017-11-09 13:33:40 +02:00
Sebastian Dröge
3179806f01
Regenerate everything with latest GIR
...
And fix-up manual code
2017-11-05 19:08:39 +02:00
Sebastian Dröge
e1d134c4be
Run everything through latest rustfmt-nightly
2017-10-17 12:06:51 +03:00
Sebastian Dröge
92e0b525ad
Fix build of unit tests
2017-10-01 16:02:29 +02:00
Sebastian Dröge
19c5556239
Regenerate with latest GIR
2017-10-01 15:52:15 +02:00
Sebastian Dröge
b4cb81cd56
Run everything through latest rustfmt-nightly
2017-09-10 15:21:26 +03:00
Sebastian Dröge
a0ba290d4d
Fix various clippy warnings in gstreamer-video
2017-09-10 15:21:26 +03:00
Sebastian Dröge
3b0e6843e2
Regenerate everything with latest GIR
2017-09-09 16:35:01 +03:00
Sebastian Dröge
380fb319ba
Don't return &'static references from functions but give them a generic lifetime
...
https://github.com/rust-lang/rust/pull/42417#issue-233404573
2017-09-01 11:40:32 +03:00
Sebastian Dröge
52c013b834
Regenerate everything with latest GIR
2017-08-30 14:45:25 +03:00
Sebastian Dröge
f0935d7e1e
Add remaining gst_init() assertions
2017-08-30 14:39:09 +03:00
Sebastian Dröge
f05df73088
Add various gst_init() assertions to video/app bindings
...
audio and core should come next.
Also print something more meaningful than using assert_eq!().
2017-08-30 12:48:01 +03:00
Sebastian Dröge
f751afc0fb
Add prelude modules to all cratest that only re-export the traits
...
And use those in the examples instead of blanket * imports
2017-08-17 18:02:25 +03:00
Sebastian Dröge
767bd0537e
Only re-export traits once
2017-08-17 16:32:17 +03:00
Sebastian Dröge
1cb1cf9936
Implement Send+Sync for VideoInfo too
...
It's also immutable here.
2017-08-15 17:34:32 +03:00
Sebastian Dröge
b0307f9108
Fix build with --all-features and run it on travis
2017-08-15 13:46:16 +03:00
Sebastian Dröge
e66bcf8a5d
Allow any Into<Fraction> for VideoInfo::fps() and VideoInfo::par()
2017-08-14 09:54:32 +03:00
Sebastian Dröge
59af28e508
Simplify VideoFrame impl
2017-08-11 15:20:56 +03:00
Sebastian Dröge
4b24ca1823
Add VideoOverlay bindings
2017-08-11 15:03:16 +03:00
Sebastian Dröge
cb8ca2c00e
Add VideoFrame bindings
2017-08-11 14:55:31 +03:00
Sebastian Dröge
18871110cd
Add VideoInfo::convert()
2017-08-11 12:54:01 +03:00
Sebastian Dröge
b08980cd5e
Add some more VideoInfo convenience API
2017-08-11 12:51:27 +03:00
Sebastian Dröge
830f0b7d83
Add VideoInfo and related bindings
2017-08-11 12:42:59 +03:00
Sebastian Dröge
3a50ca61e3
Add initial libgstvideo bindings
...
Only VideoFormat and VideoFormatInfo and related API for now.
https://github.com/sdroege/gstreamer-rs/issues/5
2017-08-11 00:41:55 +03:00