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
25pub trait UriSourceAssetExt: IsA<UriSourceAsset> + 'static {
26 #[doc(alias = "ges_uri_source_asset_get_filesource_asset")]
27 #[doc(alias = "get_filesource_asset")]
28 fn filesource_asset(&self) -> UriClipAsset {
29 unsafe {
30 from_glib_none(ffi::ges_uri_source_asset_get_filesource_asset(
31 self.as_ref().to_glib_none().0,
32 ))
33 }
34 }
35
36 #[doc(alias = "ges_uri_source_asset_get_stream_info")]
37 #[doc(alias = "get_stream_info")]
38 fn stream_info(&self) -> gst_pbutils::DiscovererStreamInfo {
39 unsafe {
40 from_glib_none(ffi::ges_uri_source_asset_get_stream_info(
41 self.as_ref().to_glib_none().0,
42 ))
43 }
44 }
45
46 #[doc(alias = "ges_uri_source_asset_get_stream_uri")]
47 #[doc(alias = "get_stream_uri")]
48 fn stream_uri(&self) -> glib::GString {
49 unsafe {
50 from_glib_none(ffi::ges_uri_source_asset_get_stream_uri(
51 self.as_ref().to_glib_none().0,
52 ))
53 }
54 }
55
56 #[cfg(feature = "v1_18")]
57 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
58 #[doc(alias = "ges_uri_source_asset_is_image")]
59 fn is_image(&self) -> bool {
60 unsafe {
61 from_glib(ffi::ges_uri_source_asset_is_image(
62 self.as_ref().to_glib_none().0,
63 ))
64 }
65 }
66}
67
68impl<O: IsA<UriSourceAsset>> UriSourceAssetExt for O {}