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
33mod sealed {
34 pub trait Sealed {}
35 impl<T: super::IsA<super::UriSourceAsset>> Sealed for T {}
36}
37
38pub trait UriSourceAssetExt: IsA<UriSourceAsset> + sealed::Sealed + 'static {
44 #[doc(alias = "ges_uri_source_asset_get_filesource_asset")]
50 #[doc(alias = "get_filesource_asset")]
51 fn filesource_asset(&self) -> UriClipAsset {
52 unsafe {
53 from_glib_none(ffi::ges_uri_source_asset_get_filesource_asset(
54 self.as_ref().to_glib_none().0,
55 ))
56 }
57 }
58
59 #[doc(alias = "ges_uri_source_asset_get_stream_info")]
65 #[doc(alias = "get_stream_info")]
66 fn stream_info(&self) -> gst_pbutils::DiscovererStreamInfo {
67 unsafe {
68 from_glib_none(ffi::ges_uri_source_asset_get_stream_info(
69 self.as_ref().to_glib_none().0,
70 ))
71 }
72 }
73
74 #[doc(alias = "ges_uri_source_asset_get_stream_uri")]
75 #[doc(alias = "get_stream_uri")]
76 fn stream_uri(&self) -> glib::GString {
77 unsafe {
78 from_glib_none(ffi::ges_uri_source_asset_get_stream_uri(
79 self.as_ref().to_glib_none().0,
80 ))
81 }
82 }
83
84 #[cfg(feature = "v1_18")]
91 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
92 #[doc(alias = "ges_uri_source_asset_is_image")]
93 fn is_image(&self) -> bool {
94 unsafe {
95 from_glib(ffi::ges_uri_source_asset_is_image(
96 self.as_ref().to_glib_none().0,
97 ))
98 }
99 }
100}
101
102impl<O: IsA<UriSourceAsset>> UriSourceAssetExt for O {}