gstreamer_editing_services/auto/
formatter.rs

1// This file was generated by gir (https://github.com/gtk-rs/gir)
2// from gir-files (https://github.com/gtk-rs/gir-files)
3// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git)
4// DO NOT EDIT
5#![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 {}