Sebastian Dröge
36bcb5630a
Remove various unused use statements
2018-12-08 14:58:14 +02:00
Sebastian Dröge
6bba3d8518
Add 'static trait bound to all ExtManual traits and get rid of trait bounds for their impls
2018-12-08 14:58:14 +02:00
Sebastian Dröge
5c93e134a7
Regenerate everything with new version of gir
2018-12-08 14:58:14 +02:00
Sebastian Dröge
e7b4bafa60
Ignore false clippy warning about casting and pointer alignment in videometa
...
error: casting from `*mut ffi::GstVideoOverlayComposition` to a more-strictly-aligned pointer (`*mut gst_ffi::GstMiniObject`)
--> gstreamer-video/src/video_meta.rs:158:44
|
158 | gst_ffi::gst_mini_object_unref(self.0.overlay as *mut _);
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: #[deny(clippy::cast_ptr_alignment)] on by default
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment
error: casting from `*mut ffi::GstVideoOverlayComposition` to a more-strictly-aligned pointer (`*mut gst_ffi::GstMiniObject`)
--> gstreamer-video/src/video_meta.rs:159:59
|
159 | self.0.overlay = gst_ffi::gst_mini_object_ref(overlay.as_mut_ptr() as *mut _) as *mut _;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment
2018-12-04 10:51:50 +02:00
Sebastian Dröge
aea6f79ef9
Implement Send/Sync for VideoFrame
...
Closes #153
2018-11-26 11:13:13 +01:00
Víctor Manuel Jáquez Leal
284992d83a
Add VideoFrame::from_glib_full() constructor
...
Thus it would be possible to instantiate gst_video::VideoFrame from
FFI's VideoFrame created outside of gstreamer_video's crate.
Fixes #152
2018-11-16 11:45:38 +01:00
Sebastian Dröge
f31827f194
Regenerate with latest gir
...
Gets rid of some unneeded property notification functions in GES
2018-11-05 11:18:31 +02:00
Víctor Manuel Jáquez Leal
60c9cdfda1
Update autogenerated code with latest gir
2018-10-31 17:33:15 +02:00
Sebastian Dröge
e4ecc88825
Remove some unneeded lifetime annotations from video meta code and pass more parameters by reference
2018-10-11 11:58:01 +03:00
Sebastian Dröge
9265cc8232
Correctly generate VideoOverlayFormatFlags as flags
2018-10-04 11:39:15 +03:00
Sebastian Dröge
8f71a81cb5
Regenerate with latest gir to get rid of unneeded notify signal connectors for construct-only properties
2018-10-03 13:57:07 +03:00
Sebastian Dröge
35353445de
VideoOverlayComposition is supposed to be immutable
...
So remove the add() function and instead require an
IntoIterator<Item=&VideoOverlayRetangle> in the constructor, and require
at least one item in the iterator or return None.
2018-10-01 14:52:31 +03:00
Sebastian Dröge
6d5bded7b3
Get rid of lifetime for the Meta structs
...
The structs themselves don't reference the buffer, the reference to
these structs is borrowed from the buffer.
2018-09-30 01:17:12 +03:00
Sebastian Dröge
62074ba1ed
Add bindings for VideoMeta and VideoOverlayCompositionMeta
2018-09-29 12:01:26 +03:00
Sebastian Dröge
2b029bcdd4
Remove unused imports
2018-09-28 18:15:29 +03:00
Sebastian Dröge
0b58bf5c2f
Add bindings for VideoOverlayComposition and VideoOverlayRectangle
...
... the missing file.
2018-09-28 17:42:45 +03:00
Sebastian Dröge
cfe1bd452f
Add bindings for VideoOverlayComposition and VideoOverlayRectangle
2018-09-28 17:37:27 +03:00
Sebastian Dröge
bc8da095c3
Add functions to get the FFI pointer behind a VideoFrame/VideoFrameRef
2018-09-28 17:35:48 +03:00
Sebastian Dröge
255243c16a
Implement Sync for VideoInfo and AudioInfo
...
They are immutable on the Rust side after all.
2018-09-22 10:56:25 +03:00
Sebastian Dröge
0628961c94
Add bindings for is_video_overlay_prepare_window_handle_message()
2018-09-13 22:56:47 +03:00
Sebastian Dröge
6cf34b1b39
Add VideoOverlay::prepare_window_handle() and got_window_handle()
2018-09-13 22:53:13 +03:00
Sebastian Dröge
3c900e6102
Regenerate with latest gir
2018-08-18 00:25:12 +03:00
Sebastian Dröge
2240ef109f
Regenerate with latest GIR and update for the glib::Quark changes
2018-07-30 11:46:40 +03:00
Sebastian Dröge
33a6aab6d7
Run everything through latest rustfmt
2018-07-27 13:36:40 +03:00
Sebastian Dröge
632d5f4c57
Change some empty structs to empty enums
...
These should only really exist at the type-level.
2018-07-25 10:07:20 +03:00
Sebastian Dröge
694bcaa697
Fix all clippy warnings
...
Or silence the ones we don't care about.
2018-07-20 10:28:20 +03:00
Sebastian Dröge
e0972ae1e5
Get rid of manual usage of callback_guard!
2018-06-24 14:52:50 +03:00
Sebastian Dröge
2085d170be
Get rid of callback_guard! as unwinding through FFI is defined behaviour now and aborts
2018-06-24 14:42:11 +03:00
Sebastian Dröge
c2ee8d226c
Print more fields in the VideoInfo fmt::Debug impl
2018-06-08 10:19:25 +03:00
Sebastian Dröge
1192a027b4
Regenerated with latest GIR and GIR files
2018-05-21 11:55:19 +03:00
Thibault Saunier
a10532c379
video_info: Implement fmt::Debug
2018-05-14 09:22:25 +03:00
Sebastian Dröge
2cefd9aea6
Re-run everything through rustfmt
2018-04-25 11:13:14 +03:00
Sebastian Dröge
46d27e3e75
Regenerate everything with latest GIR
2018-04-23 20:45:15 +03:00
Sebastian Dröge
9a3ef2e9f1
Regenerate with latest GIR and update for the non-bitflags flags in -sys now
2018-04-04 10:47:12 +03:00
Sebastian Dröge
492c3d656c
Run everything through rustfmt again
2018-04-01 11:57:58 +03:00
Sebastian Dröge
a33fd41d02
Regenerate everything with latest gir
2018-03-20 11:52:29 +02:00
Sebastian Dröge
6bd63ec8e7
Update gstreamer-video
2018-03-19 10:32:07 +02:00
Sebastian Dröge
a3b294f0f2
Add back callback guards
2018-03-02 21:34:29 +02:00
Sebastian Dröge
808ff293ec
Regenerate everything with latest gir
2018-03-02 21:34:29 +02:00
Sebastian Dröge
4117c01ff2
Run everything through latest rustfmt-nightly
2018-02-22 11:18:37 +01:00
Sebastian Dröge
f1426c82ba
Remove callback guards
...
Since Rust 1.24 it is safe to let panics go to the FFI boundary
2018-02-17 19:58:41 +02:00
Sebastian Dröge
2f179a832c
Fix compilation after gstreamer-sys regeneration with unions
2018-02-07 18:53:12 +02:00
Sebastian Dröge
6d0d7a3df8
Regenerate everything with latest GIR
2018-02-06 16:42:34 +02:00
Sebastian Dröge
fc4ad81777
Change VideoFrameRef::copy_to() and ::copy_plane() to take VideoFrameRefs instead of VideoFrames
...
VideoFrames can always be converted to a VideoFrameRef if needed.
2018-01-16 18:59:04 +02:00
Sebastian Dröge
4297f8f5c5
Don't implement Copy for VideoRectangle and pass by reference to center_video_rectangle()
2018-01-03 17:38:22 +02:00
Sebastian Dröge
899be5e2c3
Add VideoFrameRef API
...
This is like VideoFrame, but can work on gst::BufferRefs and borrows
from it. VideoFrames can be converted into this by borrowing.
2018-01-01 13:47:07 +02:00
Sebastian Dröge
38bd880a74
Add GstVideoFilter bindings
...
Not very useful, but will be useful for gst-plugin-rs
2017-12-30 15:34:41 +02:00
Sebastian Dröge
6083fb63c2
Add unit test for gst_video::convert_sample_async()
2017-12-30 12:08:48 +02:00
Sebastian Dröge
c52da3639a
Fix memory leak for gst_video::convert_sample_async()
...
Values are passed owned to the callback
2017-12-30 12:08:26 +02:00
Sebastian Dröge
d44869711a
Run video_rectangle.rs through rustfmt
2017-12-26 18:18:13 +01:00
Philippe Normand
1722b047bd
gstreamer-video: VideoRectangle bindings
2017-12-26 18:17:30 +01:00
Sebastian Dröge
25a8ce4f8d
Add bindings for gst_video::convert_sample() and ::convert_sample_async()
2017-12-24 14:30:38 +02:00
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