// Generated by gir (https://github.com/gtk-rs/gir @ c063b4567de5) // from gir-files (https://github.com/gtk-rs/gir-files @ 7ebd4478b4a5) // from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 654191eba8d7) // DO NOT EDIT #![allow(non_camel_case_types, non_upper_case_globals, non_snake_case)] #![allow( clippy::approx_constant, clippy::type_complexity, clippy::unreadable_literal, clippy::upper_case_acronyms )] #![cfg_attr(feature = "dox", feature(doc_cfg))] #[allow(unused_imports)] use libc::{ c_char, c_double, c_float, c_int, c_long, c_short, c_uchar, c_uint, c_ulong, c_ushort, c_void, intptr_t, size_t, ssize_t, uintptr_t, FILE, }; #[allow(unused_imports)] use glib::{gboolean, gconstpointer, gpointer, GType}; // Enums pub type GstPlayColorBalanceType = c_int; pub const GST_PLAY_COLOR_BALANCE_HUE: GstPlayColorBalanceType = 3; pub const GST_PLAY_COLOR_BALANCE_BRIGHTNESS: GstPlayColorBalanceType = 0; pub const GST_PLAY_COLOR_BALANCE_SATURATION: GstPlayColorBalanceType = 2; pub const GST_PLAY_COLOR_BALANCE_CONTRAST: GstPlayColorBalanceType = 1; pub type GstPlayError = c_int; pub const GST_PLAY_ERROR_FAILED: GstPlayError = 0; pub type GstPlayMessage = c_int; pub const GST_PLAY_MESSAGE_URI_LOADED: GstPlayMessage = 0; pub const GST_PLAY_MESSAGE_POSITION_UPDATED: GstPlayMessage = 1; pub const GST_PLAY_MESSAGE_DURATION_CHANGED: GstPlayMessage = 2; pub const GST_PLAY_MESSAGE_STATE_CHANGED: GstPlayMessage = 3; pub const GST_PLAY_MESSAGE_BUFFERING: GstPlayMessage = 4; pub const GST_PLAY_MESSAGE_END_OF_STREAM: GstPlayMessage = 5; pub const GST_PLAY_MESSAGE_ERROR: GstPlayMessage = 6; pub const GST_PLAY_MESSAGE_WARNING: GstPlayMessage = 7; pub const GST_PLAY_MESSAGE_VIDEO_DIMENSIONS_CHANGED: GstPlayMessage = 8; pub const GST_PLAY_MESSAGE_MEDIA_INFO_UPDATED: GstPlayMessage = 9; pub const GST_PLAY_MESSAGE_VOLUME_CHANGED: GstPlayMessage = 10; pub const GST_PLAY_MESSAGE_MUTE_CHANGED: GstPlayMessage = 11; pub const GST_PLAY_MESSAGE_SEEK_DONE: GstPlayMessage = 12; pub type GstPlaySnapshotFormat = c_int; pub const GST_PLAY_THUMBNAIL_RAW_NATIVE: GstPlaySnapshotFormat = 0; pub const GST_PLAY_THUMBNAIL_RAW_xRGB: GstPlaySnapshotFormat = 1; pub const GST_PLAY_THUMBNAIL_RAW_BGRx: GstPlaySnapshotFormat = 2; pub const GST_PLAY_THUMBNAIL_JPG: GstPlaySnapshotFormat = 3; pub const GST_PLAY_THUMBNAIL_PNG: GstPlaySnapshotFormat = 4; pub type GstPlayState = c_int; pub const GST_PLAY_STATE_STOPPED: GstPlayState = 0; pub const GST_PLAY_STATE_BUFFERING: GstPlayState = 1; pub const GST_PLAY_STATE_PAUSED: GstPlayState = 2; pub const GST_PLAY_STATE_PLAYING: GstPlayState = 3; // Records #[repr(C)] pub struct _GstPlayAudioInfoClass { _data: [u8; 0], _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>, } pub type GstPlayAudioInfoClass = *mut _GstPlayAudioInfoClass; #[repr(C)] pub struct _GstPlayClass { _data: [u8; 0], _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>, } pub type GstPlayClass = *mut _GstPlayClass; #[repr(C)] pub struct _GstPlayMediaInfoClass { _data: [u8; 0], _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>, } pub type GstPlayMediaInfoClass = *mut _GstPlayMediaInfoClass; #[repr(C)] pub struct _GstPlaySignalAdapterClass { _data: [u8; 0], _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>, } pub type GstPlaySignalAdapterClass = *mut _GstPlaySignalAdapterClass; #[repr(C)] pub struct _GstPlayStreamInfoClass { _data: [u8; 0], _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>, } pub type GstPlayStreamInfoClass = *mut _GstPlayStreamInfoClass; #[repr(C)] pub struct _GstPlaySubtitleInfoClass { _data: [u8; 0], _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>, } pub type GstPlaySubtitleInfoClass = *mut _GstPlaySubtitleInfoClass; #[repr(C)] pub struct _GstPlayVideoInfoClass { _data: [u8; 0], _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>, } pub type GstPlayVideoInfoClass = *mut _GstPlayVideoInfoClass; #[repr(C)] pub struct _GstPlayVideoOverlayVideoRendererClass { _data: [u8; 0], _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>, } pub type GstPlayVideoOverlayVideoRendererClass = *mut _GstPlayVideoOverlayVideoRendererClass; #[derive(Copy, Clone)] #[repr(C)] pub struct GstPlayVideoRendererInterface { pub parent_iface: gobject::GTypeInterface, pub create_video_sink: Option< unsafe extern "C" fn(*mut GstPlayVideoRenderer, *mut GstPlay) -> *mut gst::GstElement, >, } impl ::std::fmt::Debug for GstPlayVideoRendererInterface { fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { f.debug_struct(&format!("GstPlayVideoRendererInterface @ {:p}", self)) .field("parent_iface", &self.parent_iface) .field("create_video_sink", &self.create_video_sink) .finish() } } #[derive(Copy, Clone)] #[repr(C)] pub struct GstPlayVisualization { pub name: *mut c_char, pub description: *mut c_char, } impl ::std::fmt::Debug for GstPlayVisualization { fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { f.debug_struct(&format!("GstPlayVisualization @ {:p}", self)) .field("name", &self.name) .field("description", &self.description) .finish() } } // Classes #[repr(C)] pub struct GstPlay { _data: [u8; 0], _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>, } impl ::std::fmt::Debug for GstPlay { fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { f.debug_struct(&format!("GstPlay @ {:p}", self)).finish() } } #[repr(C)] pub struct GstPlayAudioInfo { _data: [u8; 0], _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>, } impl ::std::fmt::Debug for GstPlayAudioInfo { fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { f.debug_struct(&format!("GstPlayAudioInfo @ {:p}", self)) .finish() } } #[repr(C)] pub struct GstPlayMediaInfo { _data: [u8; 0], _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>, } impl ::std::fmt::Debug for GstPlayMediaInfo { fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { f.debug_struct(&format!("GstPlayMediaInfo @ {:p}", self)) .finish() } } #[repr(C)] pub struct GstPlaySignalAdapter { _data: [u8; 0], _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>, } impl ::std::fmt::Debug for GstPlaySignalAdapter { fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { f.debug_struct(&format!("GstPlaySignalAdapter @ {:p}", self)) .finish() } } #[repr(C)] pub struct GstPlayStreamInfo { _data: [u8; 0], _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>, } impl ::std::fmt::Debug for GstPlayStreamInfo { fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { f.debug_struct(&format!("GstPlayStreamInfo @ {:p}", self)) .finish() } } #[repr(C)] pub struct GstPlaySubtitleInfo { _data: [u8; 0], _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>, } impl ::std::fmt::Debug for GstPlaySubtitleInfo { fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { f.debug_struct(&format!("GstPlaySubtitleInfo @ {:p}", self)) .finish() } } #[repr(C)] pub struct GstPlayVideoInfo { _data: [u8; 0], _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>, } impl ::std::fmt::Debug for GstPlayVideoInfo { fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { f.debug_struct(&format!("GstPlayVideoInfo @ {:p}", self)) .finish() } } #[repr(C)] pub struct GstPlayVideoOverlayVideoRenderer { _data: [u8; 0], _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>, } impl ::std::fmt::Debug for GstPlayVideoOverlayVideoRenderer { fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { f.debug_struct(&format!("GstPlayVideoOverlayVideoRenderer @ {:p}", self)) .finish() } } // Interfaces #[repr(C)] pub struct GstPlayVideoRenderer { _data: [u8; 0], _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>, } impl ::std::fmt::Debug for GstPlayVideoRenderer { fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { write!(f, "GstPlayVideoRenderer @ {:p}", self) } } #[link(name = "gstplay-1.0")] extern "C" { //========================================================================= // GstPlayColorBalanceType //========================================================================= pub fn gst_play_color_balance_type_get_type() -> GType; pub fn gst_play_color_balance_type_get_name(type_: GstPlayColorBalanceType) -> *const c_char; //========================================================================= // GstPlayError //========================================================================= pub fn gst_play_error_get_type() -> GType; pub fn gst_play_error_get_name(error: GstPlayError) -> *const c_char; pub fn gst_play_error_quark() -> glib::GQuark; //========================================================================= // GstPlayMessage //========================================================================= pub fn gst_play_message_get_type() -> GType; pub fn gst_play_message_get_name(message_type: GstPlayMessage) -> *const c_char; pub fn gst_play_message_parse_buffering_percent( msg: *mut gst::GstMessage, percent: *mut c_uint, ); pub fn gst_play_message_parse_duration_updated( msg: *mut gst::GstMessage, duration: *mut gst::GstClockTime, ); pub fn gst_play_message_parse_error( msg: *mut gst::GstMessage, error: *mut *mut glib::GError, details: *mut *mut gst::GstStructure, ); pub fn gst_play_message_parse_media_info_updated( msg: *mut gst::GstMessage, info: *mut *mut GstPlayMediaInfo, ); pub fn gst_play_message_parse_muted_changed(msg: *mut gst::GstMessage, muted: *mut gboolean); pub fn gst_play_message_parse_position_updated( msg: *mut gst::GstMessage, position: *mut gst::GstClockTime, ); pub fn gst_play_message_parse_state_changed( msg: *mut gst::GstMessage, state: *mut GstPlayState, ); pub fn gst_play_message_parse_type(msg: *mut gst::GstMessage, type_: *mut GstPlayMessage); pub fn gst_play_message_parse_video_dimensions_changed( msg: *mut gst::GstMessage, width: *mut c_uint, height: *mut c_uint, ); pub fn gst_play_message_parse_volume_changed(msg: *mut gst::GstMessage, volume: *mut c_double); pub fn gst_play_message_parse_warning( msg: *mut gst::GstMessage, error: *mut *mut glib::GError, details: *mut *mut gst::GstStructure, ); //========================================================================= // GstPlayState //========================================================================= pub fn gst_play_state_get_type() -> GType; pub fn gst_play_state_get_name(state: GstPlayState) -> *const c_char; //========================================================================= // GstPlayVisualization //========================================================================= pub fn gst_play_visualization_get_type() -> GType; pub fn gst_play_visualization_copy( vis: *const GstPlayVisualization, ) -> *mut GstPlayVisualization; pub fn gst_play_visualization_free(vis: *mut GstPlayVisualization); //========================================================================= // GstPlay //========================================================================= pub fn gst_play_get_type() -> GType; pub fn gst_play_new(video_renderer: *mut GstPlayVideoRenderer) -> *mut GstPlay; pub fn gst_play_config_get_position_update_interval(config: *const gst::GstStructure) -> c_uint; pub fn gst_play_config_get_seek_accurate(config: *const gst::GstStructure) -> gboolean; pub fn gst_play_config_get_user_agent(config: *const gst::GstStructure) -> *mut c_char; pub fn gst_play_config_set_position_update_interval( config: *mut gst::GstStructure, interval: c_uint, ); pub fn gst_play_config_set_seek_accurate(config: *mut gst::GstStructure, accurate: gboolean); pub fn gst_play_config_set_user_agent(config: *mut gst::GstStructure, agent: *const c_char); pub fn gst_play_get_audio_streams(info: *const GstPlayMediaInfo) -> *mut glib::GList; pub fn gst_play_get_subtitle_streams(info: *const GstPlayMediaInfo) -> *mut glib::GList; pub fn gst_play_get_video_streams(info: *const GstPlayMediaInfo) -> *mut glib::GList; pub fn gst_play_is_play_message(msg: *mut gst::GstMessage) -> gboolean; pub fn gst_play_visualizations_free(viss: *mut *mut GstPlayVisualization); pub fn gst_play_visualizations_get() -> *mut *mut GstPlayVisualization; pub fn gst_play_get_audio_video_offset(play: *mut GstPlay) -> i64; pub fn gst_play_get_color_balance( play: *mut GstPlay, type_: GstPlayColorBalanceType, ) -> c_double; pub fn gst_play_get_config(play: *mut GstPlay) -> *mut gst::GstStructure; pub fn gst_play_get_current_audio_track(play: *mut GstPlay) -> *mut GstPlayAudioInfo; pub fn gst_play_get_current_subtitle_track(play: *mut GstPlay) -> *mut GstPlaySubtitleInfo; pub fn gst_play_get_current_video_track(play: *mut GstPlay) -> *mut GstPlayVideoInfo; pub fn gst_play_get_current_visualization(play: *mut GstPlay) -> *mut c_char; pub fn gst_play_get_duration(play: *mut GstPlay) -> gst::GstClockTime; pub fn gst_play_get_media_info(play: *mut GstPlay) -> *mut GstPlayMediaInfo; pub fn gst_play_get_message_bus(play: *mut GstPlay) -> *mut gst::GstBus; pub fn gst_play_get_multiview_flags(play: *mut GstPlay) -> gst_video::GstVideoMultiviewFlags; pub fn gst_play_get_multiview_mode( play: *mut GstPlay, ) -> gst_video::GstVideoMultiviewFramePacking; pub fn gst_play_get_mute(play: *mut GstPlay) -> gboolean; pub fn gst_play_get_pipeline(play: *mut GstPlay) -> *mut gst::GstElement; pub fn gst_play_get_position(play: *mut GstPlay) -> gst::GstClockTime; pub fn gst_play_get_rate(play: *mut GstPlay) -> c_double; pub fn gst_play_get_subtitle_uri(play: *mut GstPlay) -> *mut c_char; pub fn gst_play_get_subtitle_video_offset(play: *mut GstPlay) -> i64; pub fn gst_play_get_uri(play: *mut GstPlay) -> *mut c_char; pub fn gst_play_get_video_snapshot( play: *mut GstPlay, format: GstPlaySnapshotFormat, config: *const gst::GstStructure, ) -> *mut gst::GstSample; pub fn gst_play_get_volume(play: *mut GstPlay) -> c_double; pub fn gst_play_has_color_balance(play: *mut GstPlay) -> gboolean; pub fn gst_play_pause(play: *mut GstPlay); pub fn gst_play_play(play: *mut GstPlay); pub fn gst_play_seek(play: *mut GstPlay, position: gst::GstClockTime); pub fn gst_play_set_audio_track(play: *mut GstPlay, stream_index: c_int) -> gboolean; pub fn gst_play_set_audio_track_enabled(play: *mut GstPlay, enabled: gboolean); pub fn gst_play_set_audio_video_offset(play: *mut GstPlay, offset: i64); pub fn gst_play_set_color_balance( play: *mut GstPlay, type_: GstPlayColorBalanceType, value: c_double, ); pub fn gst_play_set_config(play: *mut GstPlay, config: *mut gst::GstStructure) -> gboolean; pub fn gst_play_set_multiview_flags( play: *mut GstPlay, flags: gst_video::GstVideoMultiviewFlags, ); pub fn gst_play_set_multiview_mode( play: *mut GstPlay, mode: gst_video::GstVideoMultiviewFramePacking, ); pub fn gst_play_set_mute(play: *mut GstPlay, val: gboolean); pub fn gst_play_set_rate(play: *mut GstPlay, rate: c_double); pub fn gst_play_set_subtitle_track(play: *mut GstPlay, stream_index: c_int) -> gboolean; pub fn gst_play_set_subtitle_track_enabled(play: *mut GstPlay, enabled: gboolean); pub fn gst_play_set_subtitle_uri(play: *mut GstPlay, uri: *const c_char); pub fn gst_play_set_subtitle_video_offset(play: *mut GstPlay, offset: i64); pub fn gst_play_set_uri(play: *mut GstPlay, uri: *const c_char); pub fn gst_play_set_video_track(play: *mut GstPlay, stream_index: c_int) -> gboolean; pub fn gst_play_set_video_track_enabled(play: *mut GstPlay, enabled: gboolean); pub fn gst_play_set_visualization(play: *mut GstPlay, name: *const c_char) -> gboolean; pub fn gst_play_set_visualization_enabled(play: *mut GstPlay, enabled: gboolean); pub fn gst_play_set_volume(play: *mut GstPlay, val: c_double); pub fn gst_play_stop(play: *mut GstPlay); //========================================================================= // GstPlayAudioInfo //========================================================================= pub fn gst_play_audio_info_get_type() -> GType; pub fn gst_play_audio_info_get_bitrate(info: *const GstPlayAudioInfo) -> c_int; pub fn gst_play_audio_info_get_channels(info: *const GstPlayAudioInfo) -> c_int; pub fn gst_play_audio_info_get_language(info: *const GstPlayAudioInfo) -> *const c_char; pub fn gst_play_audio_info_get_max_bitrate(info: *const GstPlayAudioInfo) -> c_int; pub fn gst_play_audio_info_get_sample_rate(info: *const GstPlayAudioInfo) -> c_int; //========================================================================= // GstPlayMediaInfo //========================================================================= pub fn gst_play_media_info_get_type() -> GType; pub fn gst_play_media_info_get_audio_streams(info: *const GstPlayMediaInfo) -> *mut glib::GList; pub fn gst_play_media_info_get_container_format(info: *const GstPlayMediaInfo) -> *const c_char; pub fn gst_play_media_info_get_duration(info: *const GstPlayMediaInfo) -> gst::GstClockTime; pub fn gst_play_media_info_get_image_sample( info: *const GstPlayMediaInfo, ) -> *mut gst::GstSample; pub fn gst_play_media_info_get_number_of_audio_streams(info: *const GstPlayMediaInfo) -> c_uint; pub fn gst_play_media_info_get_number_of_streams(info: *const GstPlayMediaInfo) -> c_uint; pub fn gst_play_media_info_get_number_of_subtitle_streams( info: *const GstPlayMediaInfo, ) -> c_uint; pub fn gst_play_media_info_get_number_of_video_streams(info: *const GstPlayMediaInfo) -> c_uint; pub fn gst_play_media_info_get_stream_list(info: *const GstPlayMediaInfo) -> *mut glib::GList; pub fn gst_play_media_info_get_subtitle_streams( info: *const GstPlayMediaInfo, ) -> *mut glib::GList; pub fn gst_play_media_info_get_tags(info: *const GstPlayMediaInfo) -> *mut gst::GstTagList; pub fn gst_play_media_info_get_title(info: *const GstPlayMediaInfo) -> *const c_char; pub fn gst_play_media_info_get_uri(info: *const GstPlayMediaInfo) -> *const c_char; pub fn gst_play_media_info_get_video_streams(info: *const GstPlayMediaInfo) -> *mut glib::GList; pub fn gst_play_media_info_is_live(info: *const GstPlayMediaInfo) -> gboolean; pub fn gst_play_media_info_is_seekable(info: *const GstPlayMediaInfo) -> gboolean; //========================================================================= // GstPlaySignalAdapter //========================================================================= pub fn gst_play_signal_adapter_get_type() -> GType; pub fn gst_play_signal_adapter_new(play: *mut GstPlay) -> *mut GstPlaySignalAdapter; pub fn gst_play_signal_adapter_new_sync_emit(play: *mut GstPlay) -> *mut GstPlaySignalAdapter; pub fn gst_play_signal_adapter_new_with_main_context( play: *mut GstPlay, context: *mut glib::GMainContext, ) -> *mut GstPlaySignalAdapter; pub fn gst_play_signal_adapter_get_play(adapter: *mut GstPlaySignalAdapter) -> *mut GstPlay; //========================================================================= // GstPlayStreamInfo //========================================================================= pub fn gst_play_stream_info_get_type() -> GType; pub fn gst_play_stream_info_get_caps(info: *const GstPlayStreamInfo) -> *mut gst::GstCaps; pub fn gst_play_stream_info_get_codec(info: *const GstPlayStreamInfo) -> *const c_char; pub fn gst_play_stream_info_get_index(info: *const GstPlayStreamInfo) -> c_int; pub fn gst_play_stream_info_get_stream_type(info: *const GstPlayStreamInfo) -> *const c_char; pub fn gst_play_stream_info_get_tags(info: *const GstPlayStreamInfo) -> *mut gst::GstTagList; //========================================================================= // GstPlaySubtitleInfo //========================================================================= pub fn gst_play_subtitle_info_get_type() -> GType; pub fn gst_play_subtitle_info_get_language(info: *const GstPlaySubtitleInfo) -> *const c_char; //========================================================================= // GstPlayVideoInfo //========================================================================= pub fn gst_play_video_info_get_type() -> GType; pub fn gst_play_video_info_get_bitrate(info: *const GstPlayVideoInfo) -> c_int; pub fn gst_play_video_info_get_framerate( info: *const GstPlayVideoInfo, fps_n: *mut c_int, fps_d: *mut c_int, ); pub fn gst_play_video_info_get_height(info: *const GstPlayVideoInfo) -> c_int; pub fn gst_play_video_info_get_max_bitrate(info: *const GstPlayVideoInfo) -> c_int; pub fn gst_play_video_info_get_pixel_aspect_ratio( info: *const GstPlayVideoInfo, par_n: *mut c_uint, par_d: *mut c_uint, ); pub fn gst_play_video_info_get_width(info: *const GstPlayVideoInfo) -> c_int; //========================================================================= // GstPlayVideoOverlayVideoRenderer //========================================================================= pub fn gst_play_video_overlay_video_renderer_get_type() -> GType; pub fn gst_play_video_overlay_video_renderer_new( window_handle: gpointer, ) -> *mut GstPlayVideoRenderer; pub fn gst_play_video_overlay_video_renderer_new_with_sink( window_handle: gpointer, video_sink: *mut gst::GstElement, ) -> *mut GstPlayVideoRenderer; pub fn gst_play_video_overlay_video_renderer_expose( self_: *mut GstPlayVideoOverlayVideoRenderer, ); pub fn gst_play_video_overlay_video_renderer_get_render_rectangle( self_: *mut GstPlayVideoOverlayVideoRenderer, x: *mut c_int, y: *mut c_int, width: *mut c_int, height: *mut c_int, ); pub fn gst_play_video_overlay_video_renderer_get_window_handle( self_: *mut GstPlayVideoOverlayVideoRenderer, ) -> gpointer; pub fn gst_play_video_overlay_video_renderer_set_render_rectangle( self_: *mut GstPlayVideoOverlayVideoRenderer, x: c_int, y: c_int, width: c_int, height: c_int, ); pub fn gst_play_video_overlay_video_renderer_set_window_handle( self_: *mut GstPlayVideoOverlayVideoRenderer, window_handle: gpointer, ); //========================================================================= // GstPlayVideoRenderer //========================================================================= pub fn gst_play_video_renderer_get_type() -> GType; }