gstreamer_editing_services/auto/
uri_source_asset.rs1use crate::{ffi, Asset, MetaContainer, TrackElementAsset, UriClipAsset};
7use glib::{prelude::*, translate::*};
8
9glib::wrapper! {
10 #[doc(alias = "GESUriSourceAsset")]
11 pub struct UriSourceAsset(Object<ffi::GESUriSourceAsset, ffi::GESUriSourceAssetClass>) @extends TrackElementAsset, Asset, @implements MetaContainer;
12
13 match fn {
14 type_ => || ffi::ges_uri_source_asset_get_type(),
15 }
16}
17
18impl UriSourceAsset {
19 pub const NONE: Option<&'static UriSourceAsset> = None;
20}
21
22unsafe impl Send for UriSourceAsset {}
23unsafe impl Sync for UriSourceAsset {}
24
25mod sealed {
26 pub trait Sealed {}
27 impl<T: super::IsA<super::UriSourceAsset>> Sealed for T {}
28}
29
30pub trait UriSourceAssetExt: IsA<UriSourceAsset> + sealed::Sealed + 'static {
31 #[doc(alias = "ges_uri_source_asset_get_filesource_asset")]
32 #[doc(alias = "get_filesource_asset")]
33 fn filesource_asset(&self) -> UriClipAsset {
34 unsafe {
35 from_glib_none(ffi::ges_uri_source_asset_get_filesource_asset(
36 self.as_ref().to_glib_none().0,
37 ))
38 }
39 }
40
41 #[doc(alias = "ges_uri_source_asset_get_stream_info")]
42 #[doc(alias = "get_stream_info")]
43 fn stream_info(&self) -> gst_pbutils::DiscovererStreamInfo {
44 unsafe {
45 from_glib_none(ffi::ges_uri_source_asset_get_stream_info(
46 self.as_ref().to_glib_none().0,
47 ))
48 }
49 }
50
51 #[doc(alias = "ges_uri_source_asset_get_stream_uri")]
52 #[doc(alias = "get_stream_uri")]
53 fn stream_uri(&self) -> glib::GString {
54 unsafe {
55 from_glib_none(ffi::ges_uri_source_asset_get_stream_uri(
56 self.as_ref().to_glib_none().0,
57 ))
58 }
59 }
60
61 #[cfg(feature = "v1_18")]
62 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
63 #[doc(alias = "ges_uri_source_asset_is_image")]
64 fn is_image(&self) -> bool {
65 unsafe {
66 from_glib(ffi::ges_uri_source_asset_is_image(
67 self.as_ref().to_glib_none().0,
68 ))
69 }
70 }
71}
72
73impl<O: IsA<UriSourceAsset>> UriSourceAssetExt for O {}