1 | // Take a look at the license at the top of the repository in the LICENSE file. |
2 | |
3 | #[cfg (feature = "v1_16" )] |
4 | #[cfg_attr (docsrs, doc(cfg(feature = "v1_16" )))] |
5 | use glib::translate::*; |
6 | |
7 | #[cfg (feature = "v1_16" )] |
8 | #[cfg_attr (docsrs, doc(cfg(feature = "v1_16" )))] |
9 | use crate::VideoCaptionType; |
10 | #[cfg (feature = "v1_20" )] |
11 | #[cfg_attr (docsrs, doc(cfg(feature = "v1_20" )))] |
12 | use crate::VideoOrientationMethod; |
13 | |
14 | #[cfg (feature = "v1_16" )] |
15 | #[cfg_attr (docsrs, doc(cfg(feature = "v1_16" )))] |
16 | impl VideoCaptionType { |
17 | #[doc (alias = "gst_video_caption_type_from_caps" )] |
18 | pub fn from_caps(caps: &gst::CapsRef) -> VideoCaptionType { |
19 | skip_assert_initialized!(); |
20 | unsafe { from_glib(ffi::gst_video_caption_type_from_caps(caps.as_ptr())) } |
21 | } |
22 | } |
23 | |
24 | #[cfg (feature = "v1_20" )] |
25 | #[cfg_attr (docsrs, doc(cfg(feature = "v1_20" )))] |
26 | impl VideoOrientationMethod { |
27 | #[cfg (feature = "v1_20" )] |
28 | #[cfg_attr (docsrs, doc(cfg(feature = "v1_20" )))] |
29 | #[doc (alias = "gst_video_orientation_from_tag" )] |
30 | pub fn from_tag(taglist: &gst::TagListRef) -> Option<VideoOrientationMethod> { |
31 | skip_assert_initialized!(); |
32 | |
33 | unsafe { |
34 | use std::mem; |
35 | |
36 | let mut method = mem::MaybeUninit::uninit(); |
37 | let ret = from_glib(ffi::gst_video_orientation_from_tag( |
38 | mut_override(taglist.as_ptr()), |
39 | method.as_mut_ptr(), |
40 | )); |
41 | if ret { |
42 | Some(from_glib(method.assume_init())) |
43 | } else { |
44 | None |
45 | } |
46 | } |
47 | } |
48 | } |
49 | |