gstreamer_editing_services/auto/
uri_source_asset.rs
1use crate::{ffi, Asset, MetaContainer, TrackElementAsset, UriClipAsset};
7use glib::{prelude::*, translate::*};
8
9glib::wrapper! {
10 #[doc(alias = "GESUriSourceAsset")]
19 pub struct UriSourceAsset(Object<ffi::GESUriSourceAsset, ffi::GESUriSourceAssetClass>) @extends TrackElementAsset, Asset, @implements MetaContainer;
20
21 match fn {
22 type_ => || ffi::ges_uri_source_asset_get_type(),
23 }
24}
25
26impl UriSourceAsset {
27 pub const NONE: Option<&'static UriSourceAsset> = None;
28}
29
30unsafe impl Send for UriSourceAsset {}
31unsafe impl Sync for UriSourceAsset {}
32
33pub trait UriSourceAssetExt: IsA<UriSourceAsset> + 'static {
39 #[doc(alias = "ges_uri_source_asset_get_filesource_asset")]
45 #[doc(alias = "get_filesource_asset")]
46 fn filesource_asset(&self) -> UriClipAsset {
47 unsafe {
48 from_glib_none(ffi::ges_uri_source_asset_get_filesource_asset(
49 self.as_ref().to_glib_none().0,
50 ))
51 }
52 }
53
54 #[doc(alias = "ges_uri_source_asset_get_stream_info")]
60 #[doc(alias = "get_stream_info")]
61 fn stream_info(&self) -> gst_pbutils::DiscovererStreamInfo {
62 unsafe {
63 from_glib_none(ffi::ges_uri_source_asset_get_stream_info(
64 self.as_ref().to_glib_none().0,
65 ))
66 }
67 }
68
69 #[doc(alias = "ges_uri_source_asset_get_stream_uri")]
70 #[doc(alias = "get_stream_uri")]
71 fn stream_uri(&self) -> glib::GString {
72 unsafe {
73 from_glib_none(ffi::ges_uri_source_asset_get_stream_uri(
74 self.as_ref().to_glib_none().0,
75 ))
76 }
77 }
78
79 #[cfg(feature = "v1_18")]
86 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
87 #[doc(alias = "ges_uri_source_asset_is_image")]
88 fn is_image(&self) -> bool {
89 unsafe {
90 from_glib(ffi::ges_uri_source_asset_is_image(
91 self.as_ref().to_glib_none().0,
92 ))
93 }
94 }
95}
96
97impl<O: IsA<UriSourceAsset>> UriSourceAssetExt for O {}