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 // DO NOT EDIT
4 
5 use glib::translate::*;
6 use glib::GString;
7 use gst;
8 use gst_player_sys;
9 use PlayerAudioInfo;
10 use PlayerStreamInfo;
11 use PlayerSubtitleInfo;
12 use PlayerVideoInfo;
13 
14 glib_wrapper! {
15     pub struct PlayerMediaInfo(Object<gst_player_sys::GstPlayerMediaInfo, gst_player_sys::GstPlayerMediaInfoClass, PlayerMediaInfoClass>);
16 
17     match fn {
18         get_type => || gst_player_sys::gst_player_media_info_get_type(),
19     }
20 }
21 
22 impl PlayerMediaInfo {
get_audio_streams(&self) -> Vec<PlayerAudioInfo>23     pub fn get_audio_streams(&self) -> Vec<PlayerAudioInfo> {
24         unsafe {
25             FromGlibPtrContainer::from_glib_none(
26                 gst_player_sys::gst_player_media_info_get_audio_streams(self.to_glib_none().0),
27             )
28         }
29     }
30 
get_container_format(&self) -> Option<GString>31     pub fn get_container_format(&self) -> Option<GString> {
32         unsafe {
33             from_glib_none(gst_player_sys::gst_player_media_info_get_container_format(
34                 self.to_glib_none().0,
35             ))
36         }
37     }
38 
get_duration(&self) -> gst::ClockTime39     pub fn get_duration(&self) -> gst::ClockTime {
40         unsafe {
41             from_glib(gst_player_sys::gst_player_media_info_get_duration(
42                 self.to_glib_none().0,
43             ))
44         }
45     }
46 
get_image_sample(&self) -> Option<gst::Sample>47     pub fn get_image_sample(&self) -> Option<gst::Sample> {
48         unsafe {
49             from_glib_none(gst_player_sys::gst_player_media_info_get_image_sample(
50                 self.to_glib_none().0,
51             ))
52         }
53     }
54 
get_number_of_audio_streams(&self) -> u3255     pub fn get_number_of_audio_streams(&self) -> u32 {
56         unsafe {
57             gst_player_sys::gst_player_media_info_get_number_of_audio_streams(self.to_glib_none().0)
58         }
59     }
60 
get_number_of_streams(&self) -> u3261     pub fn get_number_of_streams(&self) -> u32 {
62         unsafe {
63             gst_player_sys::gst_player_media_info_get_number_of_streams(self.to_glib_none().0)
64         }
65     }
66 
get_number_of_subtitle_streams(&self) -> u3267     pub fn get_number_of_subtitle_streams(&self) -> u32 {
68         unsafe {
69             gst_player_sys::gst_player_media_info_get_number_of_subtitle_streams(
70                 self.to_glib_none().0,
71             )
72         }
73     }
74 
get_number_of_video_streams(&self) -> u3275     pub fn get_number_of_video_streams(&self) -> u32 {
76         unsafe {
77             gst_player_sys::gst_player_media_info_get_number_of_video_streams(self.to_glib_none().0)
78         }
79     }
80 
get_stream_list(&self) -> Vec<PlayerStreamInfo>81     pub fn get_stream_list(&self) -> Vec<PlayerStreamInfo> {
82         unsafe {
83             FromGlibPtrContainer::from_glib_none(
84                 gst_player_sys::gst_player_media_info_get_stream_list(self.to_glib_none().0),
85             )
86         }
87     }
88 
get_subtitle_streams(&self) -> Vec<PlayerSubtitleInfo>89     pub fn get_subtitle_streams(&self) -> Vec<PlayerSubtitleInfo> {
90         unsafe {
91             FromGlibPtrContainer::from_glib_none(
92                 gst_player_sys::gst_player_media_info_get_subtitle_streams(self.to_glib_none().0),
93             )
94         }
95     }
96 
get_tags(&self) -> Option<gst::TagList>97     pub fn get_tags(&self) -> Option<gst::TagList> {
98         unsafe {
99             from_glib_none(gst_player_sys::gst_player_media_info_get_tags(
100                 self.to_glib_none().0,
101             ))
102         }
103     }
104 
get_title(&self) -> Option<GString>105     pub fn get_title(&self) -> Option<GString> {
106         unsafe {
107             from_glib_none(gst_player_sys::gst_player_media_info_get_title(
108                 self.to_glib_none().0,
109             ))
110         }
111     }
112 
get_uri(&self) -> GString113     pub fn get_uri(&self) -> GString {
114         unsafe {
115             from_glib_none(gst_player_sys::gst_player_media_info_get_uri(
116                 self.to_glib_none().0,
117             ))
118         }
119     }
120 
get_video_streams(&self) -> Vec<PlayerVideoInfo>121     pub fn get_video_streams(&self) -> Vec<PlayerVideoInfo> {
122         unsafe {
123             FromGlibPtrContainer::from_glib_none(
124                 gst_player_sys::gst_player_media_info_get_video_streams(self.to_glib_none().0),
125             )
126         }
127     }
128 
is_live(&self) -> bool129     pub fn is_live(&self) -> bool {
130         unsafe {
131             from_glib(gst_player_sys::gst_player_media_info_is_live(
132                 self.to_glib_none().0,
133             ))
134         }
135     }
136 
is_seekable(&self) -> bool137     pub fn is_seekable(&self) -> bool {
138         unsafe {
139             from_glib(gst_player_sys::gst_player_media_info_is_seekable(
140                 self.to_glib_none().0,
141             ))
142         }
143     }
144 }
145 
146 unsafe impl Send for PlayerMediaInfo {}
147 unsafe impl Sync for PlayerMediaInfo {}
148