gstreamer_editing_services/auto/
formatter.rs1#![allow(deprecated)]
6
7use crate::{Asset, Extractable, Timeline, ffi};
8use glib::{prelude::*, translate::*};
9
10glib::wrapper! {
11 #[doc(alias = "GESFormatter")]
12 pub struct Formatter(Object<ffi::GESFormatter, ffi::GESFormatterClass>) @implements Extractable;
13
14 match fn {
15 type_ => || ffi::ges_formatter_get_type(),
16 }
17}
18
19impl Formatter {
20 pub const NONE: Option<&'static Formatter> = None;
21
22 #[doc(alias = "ges_formatter_can_load_uri")]
23 pub fn can_load_uri(uri: &str) -> Result<(), glib::Error> {
24 assert_initialized_main_thread!();
25 unsafe {
26 let mut error = std::ptr::null_mut();
27 let is_ok = ffi::ges_formatter_can_load_uri(uri.to_glib_none().0, &mut error);
28 debug_assert_eq!(is_ok == glib::ffi::GFALSE, !error.is_null());
29 if error.is_null() {
30 Ok(())
31 } else {
32 Err(from_glib_full(error))
33 }
34 }
35 }
36
37 #[doc(alias = "ges_formatter_can_save_uri")]
38 pub fn can_save_uri(uri: &str) -> Result<(), glib::Error> {
39 assert_initialized_main_thread!();
40 unsafe {
41 let mut error = std::ptr::null_mut();
42 let is_ok = ffi::ges_formatter_can_save_uri(uri.to_glib_none().0, &mut error);
43 debug_assert_eq!(is_ok == glib::ffi::GFALSE, !error.is_null());
44 if error.is_null() {
45 Ok(())
46 } else {
47 Err(from_glib_full(error))
48 }
49 }
50 }
51
52 #[cfg_attr(feature = "v1_30", deprecated = "Since 1.30")]
53 #[allow(deprecated)]
54 #[doc(alias = "ges_formatter_get_default")]
55 #[doc(alias = "get_default")]
56 #[allow(clippy::should_implement_trait)]
57 pub fn default() -> Asset {
58 assert_initialized_main_thread!();
59 unsafe { from_glib_none(ffi::ges_formatter_get_default()) }
60 }
61
62 #[cfg(feature = "v1_30")]
63 #[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
64 #[doc(alias = "ges_formatter_get_default_full")]
65 #[doc(alias = "get_default_full")]
66 pub fn default_full() -> Asset {
67 assert_initialized_main_thread!();
68 unsafe { from_glib_full(ffi::ges_formatter_get_default_full()) }
69 }
70}
71
72pub trait FormatterExt: IsA<Formatter> + 'static {
73 #[cfg_attr(feature = "v1_18", deprecated = "Since 1.18")]
74 #[allow(deprecated)]
75 #[doc(alias = "ges_formatter_load_from_uri")]
76 fn load_from_uri(&self, timeline: &impl IsA<Timeline>, uri: &str) -> Result<(), glib::Error> {
77 unsafe {
78 let mut error = std::ptr::null_mut();
79 let is_ok = ffi::ges_formatter_load_from_uri(
80 self.as_ref().to_glib_none().0,
81 timeline.as_ref().to_glib_none().0,
82 uri.to_glib_none().0,
83 &mut error,
84 );
85 debug_assert_eq!(is_ok == glib::ffi::GFALSE, !error.is_null());
86 if error.is_null() {
87 Ok(())
88 } else {
89 Err(from_glib_full(error))
90 }
91 }
92 }
93
94 #[cfg_attr(feature = "v1_18", deprecated = "Since 1.18")]
95 #[allow(deprecated)]
96 #[doc(alias = "ges_formatter_save_to_uri")]
97 fn save_to_uri(
98 &self,
99 timeline: &impl IsA<Timeline>,
100 uri: &str,
101 overwrite: bool,
102 ) -> Result<(), glib::Error> {
103 unsafe {
104 let mut error = std::ptr::null_mut();
105 let is_ok = ffi::ges_formatter_save_to_uri(
106 self.as_ref().to_glib_none().0,
107 timeline.as_ref().to_glib_none().0,
108 uri.to_glib_none().0,
109 overwrite.into_glib(),
110 &mut error,
111 );
112 debug_assert_eq!(is_ok == glib::ffi::GFALSE, !error.is_null());
113 if error.is_null() {
114 Ok(())
115 } else {
116 Err(from_glib_full(error))
117 }
118 }
119 }
120}
121
122impl<O: IsA<Formatter>> FormatterExt for O {}