gstreamer_play/auto/
play_media_info.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
6use crate::{ffi, PlayAudioInfo, PlayStreamInfo, PlaySubtitleInfo, PlayVideoInfo};
7use glib::translate::*;
8
9glib::wrapper! {
10    #[doc(alias = "GstPlayMediaInfo")]
11    pub struct PlayMediaInfo(Object<ffi::GstPlayMediaInfo, ffi::GstPlayMediaInfoClass>);
12
13    match fn {
14        type_ => || ffi::gst_play_media_info_get_type(),
15    }
16}
17
18impl PlayMediaInfo {
19    #[doc(alias = "gst_play_media_info_get_audio_streams")]
20    #[doc(alias = "get_audio_streams")]
21    pub fn audio_streams(&self) -> Vec<PlayAudioInfo> {
22        unsafe {
23            FromGlibPtrContainer::from_glib_none(ffi::gst_play_media_info_get_audio_streams(
24                self.to_glib_none().0,
25            ))
26        }
27    }
28
29    #[doc(alias = "gst_play_media_info_get_container_format")]
30    #[doc(alias = "get_container_format")]
31    pub fn container_format(&self) -> Option<glib::GString> {
32        unsafe {
33            from_glib_none(ffi::gst_play_media_info_get_container_format(
34                self.to_glib_none().0,
35            ))
36        }
37    }
38
39    #[doc(alias = "gst_play_media_info_get_duration")]
40    #[doc(alias = "get_duration")]
41    pub fn duration(&self) -> Option<gst::ClockTime> {
42        unsafe { from_glib(ffi::gst_play_media_info_get_duration(self.to_glib_none().0)) }
43    }
44
45    #[doc(alias = "gst_play_media_info_get_image_sample")]
46    #[doc(alias = "get_image_sample")]
47    pub fn image_sample(&self) -> Option<gst::Sample> {
48        unsafe {
49            from_glib_none(ffi::gst_play_media_info_get_image_sample(
50                self.to_glib_none().0,
51            ))
52        }
53    }
54
55    #[doc(alias = "gst_play_media_info_get_number_of_audio_streams")]
56    #[doc(alias = "get_number_of_audio_streams")]
57    pub fn number_of_audio_streams(&self) -> u32 {
58        unsafe { ffi::gst_play_media_info_get_number_of_audio_streams(self.to_glib_none().0) }
59    }
60
61    #[doc(alias = "gst_play_media_info_get_number_of_streams")]
62    #[doc(alias = "get_number_of_streams")]
63    pub fn number_of_streams(&self) -> u32 {
64        unsafe { ffi::gst_play_media_info_get_number_of_streams(self.to_glib_none().0) }
65    }
66
67    #[doc(alias = "gst_play_media_info_get_number_of_subtitle_streams")]
68    #[doc(alias = "get_number_of_subtitle_streams")]
69    pub fn number_of_subtitle_streams(&self) -> u32 {
70        unsafe { ffi::gst_play_media_info_get_number_of_subtitle_streams(self.to_glib_none().0) }
71    }
72
73    #[doc(alias = "gst_play_media_info_get_number_of_video_streams")]
74    #[doc(alias = "get_number_of_video_streams")]
75    pub fn number_of_video_streams(&self) -> u32 {
76        unsafe { ffi::gst_play_media_info_get_number_of_video_streams(self.to_glib_none().0) }
77    }
78
79    #[doc(alias = "gst_play_media_info_get_stream_list")]
80    #[doc(alias = "get_stream_list")]
81    pub fn stream_list(&self) -> Vec<PlayStreamInfo> {
82        unsafe {
83            FromGlibPtrContainer::from_glib_none(ffi::gst_play_media_info_get_stream_list(
84                self.to_glib_none().0,
85            ))
86        }
87    }
88
89    #[doc(alias = "gst_play_media_info_get_subtitle_streams")]
90    #[doc(alias = "get_subtitle_streams")]
91    pub fn subtitle_streams(&self) -> Vec<PlaySubtitleInfo> {
92        unsafe {
93            FromGlibPtrContainer::from_glib_none(ffi::gst_play_media_info_get_subtitle_streams(
94                self.to_glib_none().0,
95            ))
96        }
97    }
98
99    #[doc(alias = "gst_play_media_info_get_tags")]
100    #[doc(alias = "get_tags")]
101    pub fn tags(&self) -> Option<gst::TagList> {
102        unsafe { from_glib_none(ffi::gst_play_media_info_get_tags(self.to_glib_none().0)) }
103    }
104
105    #[doc(alias = "gst_play_media_info_get_title")]
106    #[doc(alias = "get_title")]
107    pub fn title(&self) -> Option<glib::GString> {
108        unsafe { from_glib_none(ffi::gst_play_media_info_get_title(self.to_glib_none().0)) }
109    }
110
111    #[doc(alias = "gst_play_media_info_get_uri")]
112    #[doc(alias = "get_uri")]
113    pub fn uri(&self) -> glib::GString {
114        unsafe { from_glib_none(ffi::gst_play_media_info_get_uri(self.to_glib_none().0)) }
115    }
116
117    #[doc(alias = "gst_play_media_info_get_video_streams")]
118    #[doc(alias = "get_video_streams")]
119    pub fn video_streams(&self) -> Vec<PlayVideoInfo> {
120        unsafe {
121            FromGlibPtrContainer::from_glib_none(ffi::gst_play_media_info_get_video_streams(
122                self.to_glib_none().0,
123            ))
124        }
125    }
126
127    #[doc(alias = "gst_play_media_info_is_live")]
128    pub fn is_live(&self) -> bool {
129        unsafe { from_glib(ffi::gst_play_media_info_is_live(self.to_glib_none().0)) }
130    }
131
132    #[doc(alias = "gst_play_media_info_is_seekable")]
133    pub fn is_seekable(&self) -> bool {
134        unsafe { from_glib(ffi::gst_play_media_info_is_seekable(self.to_glib_none().0)) }
135    }
136}
137
138unsafe impl Send for PlayMediaInfo {}
139unsafe impl Sync for PlayMediaInfo {}