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