gstreamer_editing_services/auto/
formatter.rs1#![allow(deprecated)]
6
7use crate::{ffi, Asset, Extractable, Timeline};
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 #[doc(alias = "ges_formatter_get_default")]
53 #[doc(alias = "get_default")]
54 #[allow(clippy::should_implement_trait)]
55 pub fn default() -> Asset {
56 assert_initialized_main_thread!();
57 unsafe { from_glib_none(ffi::ges_formatter_get_default()) }
58 }
59}
60
61pub trait FormatterExt: IsA<Formatter> + 'static {
62 #[cfg_attr(feature = "v1_18", deprecated = "Since 1.18")]
63 #[allow(deprecated)]
64 #[doc(alias = "ges_formatter_load_from_uri")]
65 fn load_from_uri(&self, timeline: &impl IsA<Timeline>, uri: &str) -> Result<(), glib::Error> {
66 unsafe {
67 let mut error = std::ptr::null_mut();
68 let is_ok = ffi::ges_formatter_load_from_uri(
69 self.as_ref().to_glib_none().0,
70 timeline.as_ref().to_glib_none().0,
71 uri.to_glib_none().0,
72 &mut error,
73 );
74 debug_assert_eq!(is_ok == glib::ffi::GFALSE, !error.is_null());
75 if error.is_null() {
76 Ok(())
77 } else {
78 Err(from_glib_full(error))
79 }
80 }
81 }
82
83 #[cfg_attr(feature = "v1_18", deprecated = "Since 1.18")]
84 #[allow(deprecated)]
85 #[doc(alias = "ges_formatter_save_to_uri")]
86 fn save_to_uri(
87 &self,
88 timeline: &impl IsA<Timeline>,
89 uri: &str,
90 overwrite: bool,
91 ) -> Result<(), glib::Error> {
92 unsafe {
93 let mut error = std::ptr::null_mut();
94 let is_ok = ffi::ges_formatter_save_to_uri(
95 self.as_ref().to_glib_none().0,
96 timeline.as_ref().to_glib_none().0,
97 uri.to_glib_none().0,
98 overwrite.into_glib(),
99 &mut error,
100 );
101 debug_assert_eq!(is_ok == glib::ffi::GFALSE, !error.is_null());
102 if error.is_null() {
103 Ok(())
104 } else {
105 Err(from_glib_full(error))
106 }
107 }
108 }
109}
110
111impl<O: IsA<Formatter>> FormatterExt for O {}