2022-08-31 08:13:08 +00:00
|
|
|
// Generated by gir (https://github.com/gtk-rs/gir @ b5e4e17d87b0)
|
|
|
|
// from gir-files (https://github.com/gtk-rs/gir-files @ 05ae6b134dda)
|
|
|
|
// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 180ef1b6c0bb)
|
2017-08-01 12:28:40 +00:00
|
|
|
// DO NOT EDIT
|
|
|
|
|
2018-02-07 16:49:22 +00:00
|
|
|
#![allow(non_camel_case_types, non_upper_case_globals, non_snake_case)]
|
2019-06-18 10:04:39 +00:00
|
|
|
#![allow(
|
|
|
|
clippy::approx_constant,
|
|
|
|
clippy::type_complexity,
|
2021-03-26 20:40:50 +00:00
|
|
|
clippy::unreadable_literal,
|
|
|
|
clippy::upper_case_acronyms
|
2019-06-18 10:04:39 +00:00
|
|
|
)]
|
2020-11-27 13:37:24 +00:00
|
|
|
#![cfg_attr(feature = "dox", feature(doc_cfg))]
|
2017-08-01 12:28:40 +00:00
|
|
|
|
|
|
|
#[allow(unused_imports)]
|
2019-06-18 10:04:39 +00:00
|
|
|
use libc::{
|
|
|
|
c_char, c_double, c_float, c_int, c_long, c_short, c_uchar, c_uint, c_ulong, c_ushort, c_void,
|
2021-12-12 15:54:20 +00:00
|
|
|
intptr_t, size_t, ssize_t, uintptr_t, FILE,
|
2019-06-18 10:04:39 +00:00
|
|
|
};
|
2017-08-01 12:28:40 +00:00
|
|
|
|
|
|
|
#[allow(unused_imports)]
|
2018-04-23 17:07:07 +00:00
|
|
|
use glib::{gboolean, gconstpointer, gpointer, GType};
|
2017-08-01 12:28:40 +00:00
|
|
|
|
|
|
|
// Enums
|
2017-11-05 16:58:43 +00:00
|
|
|
pub type GstPlayerColorBalanceType = c_int;
|
|
|
|
pub const GST_PLAYER_COLOR_BALANCE_HUE: GstPlayerColorBalanceType = 3;
|
|
|
|
pub const GST_PLAYER_COLOR_BALANCE_BRIGHTNESS: GstPlayerColorBalanceType = 0;
|
|
|
|
pub const GST_PLAYER_COLOR_BALANCE_SATURATION: GstPlayerColorBalanceType = 2;
|
|
|
|
pub const GST_PLAYER_COLOR_BALANCE_CONTRAST: GstPlayerColorBalanceType = 1;
|
2017-08-01 12:28:40 +00:00
|
|
|
|
2019-03-19 07:37:29 +00:00
|
|
|
pub type GstPlayerError = c_int;
|
|
|
|
pub const GST_PLAYER_ERROR_FAILED: GstPlayerError = 0;
|
2017-08-01 12:28:40 +00:00
|
|
|
|
2017-11-05 16:58:43 +00:00
|
|
|
pub type GstPlayerSnapshotFormat = c_int;
|
|
|
|
pub const GST_PLAYER_THUMBNAIL_RAW_NATIVE: GstPlayerSnapshotFormat = 0;
|
|
|
|
pub const GST_PLAYER_THUMBNAIL_RAW_xRGB: GstPlayerSnapshotFormat = 1;
|
|
|
|
pub const GST_PLAYER_THUMBNAIL_RAW_BGRx: GstPlayerSnapshotFormat = 2;
|
|
|
|
pub const GST_PLAYER_THUMBNAIL_JPG: GstPlayerSnapshotFormat = 3;
|
|
|
|
pub const GST_PLAYER_THUMBNAIL_PNG: GstPlayerSnapshotFormat = 4;
|
|
|
|
|
|
|
|
pub type GstPlayerState = c_int;
|
|
|
|
pub const GST_PLAYER_STATE_STOPPED: GstPlayerState = 0;
|
|
|
|
pub const GST_PLAYER_STATE_BUFFERING: GstPlayerState = 1;
|
|
|
|
pub const GST_PLAYER_STATE_PAUSED: GstPlayerState = 2;
|
|
|
|
pub const GST_PLAYER_STATE_PLAYING: GstPlayerState = 3;
|
2017-08-01 12:28:40 +00:00
|
|
|
|
|
|
|
// Callbacks
|
|
|
|
pub type GstPlayerSignalDispatcherFunc = Option<unsafe extern "C" fn(gpointer)>;
|
|
|
|
|
|
|
|
// Records
|
|
|
|
#[repr(C)]
|
2021-11-13 09:05:09 +00:00
|
|
|
pub struct _GstPlayerAudioInfoClass {
|
|
|
|
_data: [u8; 0],
|
|
|
|
_marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
|
|
|
|
}
|
2017-08-01 12:28:40 +00:00
|
|
|
|
2019-06-18 10:02:27 +00:00
|
|
|
pub type GstPlayerAudioInfoClass = *mut _GstPlayerAudioInfoClass;
|
2017-11-27 09:47:02 +00:00
|
|
|
|
2017-08-01 12:28:40 +00:00
|
|
|
#[repr(C)]
|
2021-11-13 09:05:09 +00:00
|
|
|
pub struct _GstPlayerClass {
|
|
|
|
_data: [u8; 0],
|
|
|
|
_marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
|
|
|
|
}
|
2017-08-01 12:28:40 +00:00
|
|
|
|
2019-06-18 10:02:27 +00:00
|
|
|
pub type GstPlayerClass = *mut _GstPlayerClass;
|
2017-11-27 09:47:02 +00:00
|
|
|
|
2017-08-01 12:28:40 +00:00
|
|
|
#[repr(C)]
|
2021-11-13 09:05:09 +00:00
|
|
|
pub struct _GstPlayerGMainContextSignalDispatcherClass {
|
|
|
|
_data: [u8; 0],
|
|
|
|
_marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
|
|
|
|
}
|
2017-08-01 12:28:40 +00:00
|
|
|
|
2019-06-18 10:04:39 +00:00
|
|
|
pub type GstPlayerGMainContextSignalDispatcherClass =
|
|
|
|
*mut _GstPlayerGMainContextSignalDispatcherClass;
|
2017-11-27 09:47:02 +00:00
|
|
|
|
2017-08-01 12:28:40 +00:00
|
|
|
#[repr(C)]
|
2021-11-13 09:05:09 +00:00
|
|
|
pub struct _GstPlayerMediaInfoClass {
|
|
|
|
_data: [u8; 0],
|
|
|
|
_marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
|
|
|
|
}
|
2017-08-01 12:28:40 +00:00
|
|
|
|
2019-06-18 10:02:27 +00:00
|
|
|
pub type GstPlayerMediaInfoClass = *mut _GstPlayerMediaInfoClass;
|
2017-11-27 09:47:02 +00:00
|
|
|
|
2018-02-07 16:49:22 +00:00
|
|
|
#[derive(Copy, Clone)]
|
2021-11-13 09:05:09 +00:00
|
|
|
#[repr(C)]
|
2017-08-01 12:28:40 +00:00
|
|
|
pub struct GstPlayerSignalDispatcherInterface {
|
|
|
|
pub parent_iface: gobject::GTypeInterface,
|
2019-06-18 10:04:39 +00:00
|
|
|
pub dispatch: Option<
|
|
|
|
unsafe extern "C" fn(
|
|
|
|
*mut GstPlayerSignalDispatcher,
|
|
|
|
*mut GstPlayer,
|
|
|
|
GstPlayerSignalDispatcherFunc,
|
|
|
|
gpointer,
|
|
|
|
glib::GDestroyNotify,
|
|
|
|
),
|
|
|
|
>,
|
2017-08-01 12:28:40 +00:00
|
|
|
}
|
|
|
|
|
2017-11-27 09:47:02 +00:00
|
|
|
impl ::std::fmt::Debug for GstPlayerSignalDispatcherInterface {
|
|
|
|
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
|
2021-05-23 16:27:13 +00:00
|
|
|
f.debug_struct(&format!("GstPlayerSignalDispatcherInterface @ {:p}", self))
|
|
|
|
.field("parent_iface", &self.parent_iface)
|
|
|
|
.field("dispatch", &self.dispatch)
|
|
|
|
.finish()
|
2017-11-27 09:47:02 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2017-08-01 12:28:40 +00:00
|
|
|
#[repr(C)]
|
2021-11-13 09:05:09 +00:00
|
|
|
pub struct _GstPlayerStreamInfoClass {
|
|
|
|
_data: [u8; 0],
|
|
|
|
_marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
|
|
|
|
}
|
2017-08-01 12:28:40 +00:00
|
|
|
|
2019-06-18 10:02:27 +00:00
|
|
|
pub type GstPlayerStreamInfoClass = *mut _GstPlayerStreamInfoClass;
|
2017-11-27 09:47:02 +00:00
|
|
|
|
2017-08-01 12:28:40 +00:00
|
|
|
#[repr(C)]
|
2021-11-13 09:05:09 +00:00
|
|
|
pub struct _GstPlayerSubtitleInfoClass {
|
|
|
|
_data: [u8; 0],
|
|
|
|
_marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
|
|
|
|
}
|
2017-08-01 12:28:40 +00:00
|
|
|
|
2019-06-18 10:02:27 +00:00
|
|
|
pub type GstPlayerSubtitleInfoClass = *mut _GstPlayerSubtitleInfoClass;
|
2017-11-27 09:47:02 +00:00
|
|
|
|
2017-08-01 12:28:40 +00:00
|
|
|
#[repr(C)]
|
2021-11-13 09:05:09 +00:00
|
|
|
pub struct _GstPlayerVideoInfoClass {
|
|
|
|
_data: [u8; 0],
|
|
|
|
_marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
|
|
|
|
}
|
2017-08-01 12:28:40 +00:00
|
|
|
|
2019-06-18 10:02:27 +00:00
|
|
|
pub type GstPlayerVideoInfoClass = *mut _GstPlayerVideoInfoClass;
|
2017-11-27 09:47:02 +00:00
|
|
|
|
2017-08-01 12:28:40 +00:00
|
|
|
#[repr(C)]
|
2021-11-13 09:05:09 +00:00
|
|
|
pub struct _GstPlayerVideoOverlayVideoRendererClass {
|
|
|
|
_data: [u8; 0],
|
|
|
|
_marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
|
|
|
|
}
|
2017-08-01 12:28:40 +00:00
|
|
|
|
2019-06-18 10:02:27 +00:00
|
|
|
pub type GstPlayerVideoOverlayVideoRendererClass = *mut _GstPlayerVideoOverlayVideoRendererClass;
|
2017-11-27 09:47:02 +00:00
|
|
|
|
2018-02-07 16:49:22 +00:00
|
|
|
#[derive(Copy, Clone)]
|
2021-11-13 09:05:09 +00:00
|
|
|
#[repr(C)]
|
2017-08-01 12:28:40 +00:00
|
|
|
pub struct GstPlayerVideoRendererInterface {
|
|
|
|
pub parent_iface: gobject::GTypeInterface,
|
2019-06-18 10:04:39 +00:00
|
|
|
pub create_video_sink: Option<
|
|
|
|
unsafe extern "C" fn(*mut GstPlayerVideoRenderer, *mut GstPlayer) -> *mut gst::GstElement,
|
|
|
|
>,
|
2017-08-01 12:28:40 +00:00
|
|
|
}
|
|
|
|
|
2017-11-27 09:47:02 +00:00
|
|
|
impl ::std::fmt::Debug for GstPlayerVideoRendererInterface {
|
|
|
|
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
|
2021-05-23 16:27:13 +00:00
|
|
|
f.debug_struct(&format!("GstPlayerVideoRendererInterface @ {:p}", self))
|
|
|
|
.field("parent_iface", &self.parent_iface)
|
|
|
|
.field("create_video_sink", &self.create_video_sink)
|
|
|
|
.finish()
|
2017-11-27 09:47:02 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2018-02-07 16:49:22 +00:00
|
|
|
#[derive(Copy, Clone)]
|
2021-11-13 09:05:09 +00:00
|
|
|
#[repr(C)]
|
2017-08-01 12:28:40 +00:00
|
|
|
pub struct GstPlayerVisualization {
|
|
|
|
pub name: *mut c_char,
|
|
|
|
pub description: *mut c_char,
|
|
|
|
}
|
|
|
|
|
2017-11-27 09:47:02 +00:00
|
|
|
impl ::std::fmt::Debug for GstPlayerVisualization {
|
|
|
|
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
|
2021-05-23 16:27:13 +00:00
|
|
|
f.debug_struct(&format!("GstPlayerVisualization @ {:p}", self))
|
2019-06-18 10:04:39 +00:00
|
|
|
.field("name", &self.name)
|
|
|
|
.field("description", &self.description)
|
|
|
|
.finish()
|
2017-11-27 09:47:02 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2017-08-01 12:28:40 +00:00
|
|
|
// Classes
|
|
|
|
#[repr(C)]
|
2021-11-13 09:05:09 +00:00
|
|
|
pub struct GstPlayer {
|
|
|
|
_data: [u8; 0],
|
|
|
|
_marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
|
|
|
|
}
|
2017-08-01 12:28:40 +00:00
|
|
|
|
2017-11-27 09:47:02 +00:00
|
|
|
impl ::std::fmt::Debug for GstPlayer {
|
|
|
|
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
|
2021-05-23 16:27:13 +00:00
|
|
|
f.debug_struct(&format!("GstPlayer @ {:p}", self)).finish()
|
2017-11-27 09:47:02 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2017-08-01 12:28:40 +00:00
|
|
|
#[repr(C)]
|
2021-11-13 09:05:09 +00:00
|
|
|
pub struct GstPlayerAudioInfo {
|
|
|
|
_data: [u8; 0],
|
|
|
|
_marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
|
|
|
|
}
|
2017-08-01 12:28:40 +00:00
|
|
|
|
2017-11-27 09:47:02 +00:00
|
|
|
impl ::std::fmt::Debug for GstPlayerAudioInfo {
|
|
|
|
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
|
2021-05-23 16:27:13 +00:00
|
|
|
f.debug_struct(&format!("GstPlayerAudioInfo @ {:p}", self))
|
2019-06-18 10:04:39 +00:00
|
|
|
.finish()
|
2017-11-27 09:47:02 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2017-08-01 12:28:40 +00:00
|
|
|
#[repr(C)]
|
2021-11-13 09:05:09 +00:00
|
|
|
pub struct GstPlayerGMainContextSignalDispatcher {
|
|
|
|
_data: [u8; 0],
|
|
|
|
_marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
|
|
|
|
}
|
2017-08-01 12:28:40 +00:00
|
|
|
|
2017-11-27 09:47:02 +00:00
|
|
|
impl ::std::fmt::Debug for GstPlayerGMainContextSignalDispatcher {
|
|
|
|
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
|
2019-06-18 10:04:39 +00:00
|
|
|
f.debug_struct(&format!(
|
2021-05-23 16:27:13 +00:00
|
|
|
"GstPlayerGMainContextSignalDispatcher @ {:p}",
|
|
|
|
self
|
2019-06-18 10:04:39 +00:00
|
|
|
))
|
|
|
|
.finish()
|
2017-11-27 09:47:02 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2017-08-01 12:28:40 +00:00
|
|
|
#[repr(C)]
|
2021-11-13 09:05:09 +00:00
|
|
|
pub struct GstPlayerMediaInfo {
|
|
|
|
_data: [u8; 0],
|
|
|
|
_marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
|
|
|
|
}
|
2017-08-01 12:28:40 +00:00
|
|
|
|
2017-11-27 09:47:02 +00:00
|
|
|
impl ::std::fmt::Debug for GstPlayerMediaInfo {
|
|
|
|
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
|
2021-05-23 16:27:13 +00:00
|
|
|
f.debug_struct(&format!("GstPlayerMediaInfo @ {:p}", self))
|
2019-06-18 10:04:39 +00:00
|
|
|
.finish()
|
2017-11-27 09:47:02 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2017-08-01 12:28:40 +00:00
|
|
|
#[repr(C)]
|
2021-11-13 09:05:09 +00:00
|
|
|
pub struct GstPlayerStreamInfo {
|
|
|
|
_data: [u8; 0],
|
|
|
|
_marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
|
|
|
|
}
|
2017-08-01 12:28:40 +00:00
|
|
|
|
2017-11-27 09:47:02 +00:00
|
|
|
impl ::std::fmt::Debug for GstPlayerStreamInfo {
|
|
|
|
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
|
2021-05-23 16:27:13 +00:00
|
|
|
f.debug_struct(&format!("GstPlayerStreamInfo @ {:p}", self))
|
2019-06-18 10:04:39 +00:00
|
|
|
.finish()
|
2017-11-27 09:47:02 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2017-08-01 12:28:40 +00:00
|
|
|
#[repr(C)]
|
2021-11-13 09:05:09 +00:00
|
|
|
pub struct GstPlayerSubtitleInfo {
|
|
|
|
_data: [u8; 0],
|
|
|
|
_marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
|
|
|
|
}
|
2017-08-01 12:28:40 +00:00
|
|
|
|
2017-11-27 09:47:02 +00:00
|
|
|
impl ::std::fmt::Debug for GstPlayerSubtitleInfo {
|
|
|
|
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
|
2021-05-23 16:27:13 +00:00
|
|
|
f.debug_struct(&format!("GstPlayerSubtitleInfo @ {:p}", self))
|
2019-06-18 10:04:39 +00:00
|
|
|
.finish()
|
2017-11-27 09:47:02 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2017-08-01 12:28:40 +00:00
|
|
|
#[repr(C)]
|
2021-11-13 09:05:09 +00:00
|
|
|
pub struct GstPlayerVideoInfo {
|
|
|
|
_data: [u8; 0],
|
|
|
|
_marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
|
|
|
|
}
|
2017-08-01 12:28:40 +00:00
|
|
|
|
2017-11-27 09:47:02 +00:00
|
|
|
impl ::std::fmt::Debug for GstPlayerVideoInfo {
|
|
|
|
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
|
2021-05-23 16:27:13 +00:00
|
|
|
f.debug_struct(&format!("GstPlayerVideoInfo @ {:p}", self))
|
2019-06-18 10:04:39 +00:00
|
|
|
.finish()
|
2017-11-27 09:47:02 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2017-08-01 12:28:40 +00:00
|
|
|
#[repr(C)]
|
2021-11-13 09:05:09 +00:00
|
|
|
pub struct GstPlayerVideoOverlayVideoRenderer {
|
|
|
|
_data: [u8; 0],
|
|
|
|
_marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
|
|
|
|
}
|
2017-08-01 12:28:40 +00:00
|
|
|
|
2017-11-27 09:47:02 +00:00
|
|
|
impl ::std::fmt::Debug for GstPlayerVideoOverlayVideoRenderer {
|
|
|
|
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
|
2021-05-23 16:27:13 +00:00
|
|
|
f.debug_struct(&format!("GstPlayerVideoOverlayVideoRenderer @ {:p}", self))
|
|
|
|
.finish()
|
2017-11-27 09:47:02 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2017-08-01 12:28:40 +00:00
|
|
|
// Interfaces
|
|
|
|
#[repr(C)]
|
2021-11-13 09:05:09 +00:00
|
|
|
pub struct GstPlayerSignalDispatcher {
|
|
|
|
_data: [u8; 0],
|
|
|
|
_marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
|
|
|
|
}
|
2017-11-27 09:47:02 +00:00
|
|
|
|
|
|
|
impl ::std::fmt::Debug for GstPlayerSignalDispatcher {
|
|
|
|
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
|
2021-05-23 16:27:13 +00:00
|
|
|
write!(f, "GstPlayerSignalDispatcher @ {:p}", self)
|
2017-11-27 09:47:02 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2017-08-01 12:28:40 +00:00
|
|
|
#[repr(C)]
|
2021-11-13 09:05:09 +00:00
|
|
|
pub struct GstPlayerVideoRenderer {
|
|
|
|
_data: [u8; 0],
|
|
|
|
_marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
|
|
|
|
}
|
2017-08-01 12:28:40 +00:00
|
|
|
|
2017-11-27 09:47:02 +00:00
|
|
|
impl ::std::fmt::Debug for GstPlayerVideoRenderer {
|
|
|
|
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
|
2021-05-23 16:27:13 +00:00
|
|
|
write!(f, "GstPlayerVideoRenderer @ {:p}", self)
|
2017-11-27 09:47:02 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2020-10-15 10:28:02 +00:00
|
|
|
#[link(name = "gstplayer-1.0")]
|
2017-08-01 12:28:40 +00:00
|
|
|
extern "C" {
|
|
|
|
|
|
|
|
//=========================================================================
|
|
|
|
// GstPlayerColorBalanceType
|
|
|
|
//=========================================================================
|
|
|
|
pub fn gst_player_color_balance_type_get_type() -> GType;
|
2019-06-18 10:04:39 +00:00
|
|
|
pub fn gst_player_color_balance_type_get_name(
|
|
|
|
type_: GstPlayerColorBalanceType,
|
|
|
|
) -> *const c_char;
|
2017-08-01 12:28:40 +00:00
|
|
|
|
|
|
|
//=========================================================================
|
|
|
|
// GstPlayerError
|
|
|
|
//=========================================================================
|
|
|
|
pub fn gst_player_error_get_type() -> GType;
|
|
|
|
pub fn gst_player_error_get_name(error: GstPlayerError) -> *const c_char;
|
|
|
|
pub fn gst_player_error_quark() -> glib::GQuark;
|
|
|
|
|
|
|
|
//=========================================================================
|
|
|
|
// GstPlayerState
|
|
|
|
//=========================================================================
|
|
|
|
pub fn gst_player_state_get_type() -> GType;
|
|
|
|
pub fn gst_player_state_get_name(state: GstPlayerState) -> *const c_char;
|
|
|
|
|
|
|
|
//=========================================================================
|
|
|
|
// GstPlayerVisualization
|
|
|
|
//=========================================================================
|
|
|
|
pub fn gst_player_visualization_get_type() -> GType;
|
2019-06-18 10:04:39 +00:00
|
|
|
pub fn gst_player_visualization_copy(
|
|
|
|
vis: *const GstPlayerVisualization,
|
|
|
|
) -> *mut GstPlayerVisualization;
|
2017-08-01 12:28:40 +00:00
|
|
|
pub fn gst_player_visualization_free(vis: *mut GstPlayerVisualization);
|
|
|
|
|
|
|
|
//=========================================================================
|
|
|
|
// GstPlayer
|
|
|
|
//=========================================================================
|
|
|
|
pub fn gst_player_get_type() -> GType;
|
2019-06-18 10:04:39 +00:00
|
|
|
pub fn gst_player_new(
|
|
|
|
video_renderer: *mut GstPlayerVideoRenderer,
|
|
|
|
signal_dispatcher: *mut GstPlayerSignalDispatcher,
|
|
|
|
) -> *mut GstPlayer;
|
|
|
|
pub fn gst_player_config_get_position_update_interval(
|
|
|
|
config: *const gst::GstStructure,
|
|
|
|
) -> c_uint;
|
2017-08-01 12:28:40 +00:00
|
|
|
pub fn gst_player_config_get_seek_accurate(config: *const gst::GstStructure) -> gboolean;
|
|
|
|
pub fn gst_player_config_get_user_agent(config: *const gst::GstStructure) -> *mut c_char;
|
2019-06-18 10:04:39 +00:00
|
|
|
pub fn gst_player_config_set_position_update_interval(
|
|
|
|
config: *mut gst::GstStructure,
|
|
|
|
interval: c_uint,
|
|
|
|
);
|
2018-03-14 16:59:28 +00:00
|
|
|
pub fn gst_player_config_set_seek_accurate(config: *mut gst::GstStructure, accurate: gboolean);
|
2017-08-01 12:28:40 +00:00
|
|
|
pub fn gst_player_config_set_user_agent(config: *mut gst::GstStructure, agent: *const c_char);
|
|
|
|
pub fn gst_player_get_audio_streams(info: *const GstPlayerMediaInfo) -> *mut glib::GList;
|
|
|
|
pub fn gst_player_get_subtitle_streams(info: *const GstPlayerMediaInfo) -> *mut glib::GList;
|
|
|
|
pub fn gst_player_get_video_streams(info: *const GstPlayerMediaInfo) -> *mut glib::GList;
|
|
|
|
pub fn gst_player_visualizations_free(viss: *mut *mut GstPlayerVisualization);
|
|
|
|
pub fn gst_player_visualizations_get() -> *mut *mut GstPlayerVisualization;
|
|
|
|
pub fn gst_player_get_audio_video_offset(player: *mut GstPlayer) -> i64;
|
2019-06-18 10:04:39 +00:00
|
|
|
pub fn gst_player_get_color_balance(
|
|
|
|
player: *mut GstPlayer,
|
|
|
|
type_: GstPlayerColorBalanceType,
|
|
|
|
) -> c_double;
|
2017-08-01 12:28:40 +00:00
|
|
|
pub fn gst_player_get_config(player: *mut GstPlayer) -> *mut gst::GstStructure;
|
|
|
|
pub fn gst_player_get_current_audio_track(player: *mut GstPlayer) -> *mut GstPlayerAudioInfo;
|
2019-06-18 10:04:39 +00:00
|
|
|
pub fn gst_player_get_current_subtitle_track(
|
|
|
|
player: *mut GstPlayer,
|
|
|
|
) -> *mut GstPlayerSubtitleInfo;
|
2017-08-01 12:28:40 +00:00
|
|
|
pub fn gst_player_get_current_video_track(player: *mut GstPlayer) -> *mut GstPlayerVideoInfo;
|
|
|
|
pub fn gst_player_get_current_visualization(player: *mut GstPlayer) -> *mut c_char;
|
|
|
|
pub fn gst_player_get_duration(player: *mut GstPlayer) -> gst::GstClockTime;
|
|
|
|
pub fn gst_player_get_media_info(player: *mut GstPlayer) -> *mut GstPlayerMediaInfo;
|
2019-06-18 10:04:39 +00:00
|
|
|
pub fn gst_player_get_multiview_flags(
|
|
|
|
player: *mut GstPlayer,
|
|
|
|
) -> gst_video::GstVideoMultiviewFlags;
|
|
|
|
pub fn gst_player_get_multiview_mode(
|
|
|
|
player: *mut GstPlayer,
|
|
|
|
) -> gst_video::GstVideoMultiviewFramePacking;
|
2017-08-01 12:28:40 +00:00
|
|
|
pub fn gst_player_get_mute(player: *mut GstPlayer) -> gboolean;
|
|
|
|
pub fn gst_player_get_pipeline(player: *mut GstPlayer) -> *mut gst::GstElement;
|
|
|
|
pub fn gst_player_get_position(player: *mut GstPlayer) -> gst::GstClockTime;
|
|
|
|
pub fn gst_player_get_rate(player: *mut GstPlayer) -> c_double;
|
|
|
|
pub fn gst_player_get_subtitle_uri(player: *mut GstPlayer) -> *mut c_char;
|
2020-11-27 13:37:24 +00:00
|
|
|
#[cfg(any(feature = "v1_16", feature = "dox"))]
|
|
|
|
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))]
|
2019-04-23 12:32:33 +00:00
|
|
|
pub fn gst_player_get_subtitle_video_offset(player: *mut GstPlayer) -> i64;
|
2017-08-01 12:28:40 +00:00
|
|
|
pub fn gst_player_get_uri(player: *mut GstPlayer) -> *mut c_char;
|
2019-06-18 10:04:39 +00:00
|
|
|
pub fn gst_player_get_video_snapshot(
|
|
|
|
player: *mut GstPlayer,
|
|
|
|
format: GstPlayerSnapshotFormat,
|
|
|
|
config: *const gst::GstStructure,
|
|
|
|
) -> *mut gst::GstSample;
|
2017-08-01 12:28:40 +00:00
|
|
|
pub fn gst_player_get_volume(player: *mut GstPlayer) -> c_double;
|
|
|
|
pub fn gst_player_has_color_balance(player: *mut GstPlayer) -> gboolean;
|
|
|
|
pub fn gst_player_pause(player: *mut GstPlayer);
|
|
|
|
pub fn gst_player_play(player: *mut GstPlayer);
|
|
|
|
pub fn gst_player_seek(player: *mut GstPlayer, position: gst::GstClockTime);
|
|
|
|
pub fn gst_player_set_audio_track(player: *mut GstPlayer, stream_index: c_int) -> gboolean;
|
|
|
|
pub fn gst_player_set_audio_track_enabled(player: *mut GstPlayer, enabled: gboolean);
|
|
|
|
pub fn gst_player_set_audio_video_offset(player: *mut GstPlayer, offset: i64);
|
2019-06-18 10:04:39 +00:00
|
|
|
pub fn gst_player_set_color_balance(
|
|
|
|
player: *mut GstPlayer,
|
|
|
|
type_: GstPlayerColorBalanceType,
|
|
|
|
value: c_double,
|
|
|
|
);
|
|
|
|
pub fn gst_player_set_config(
|
|
|
|
player: *mut GstPlayer,
|
|
|
|
config: *mut gst::GstStructure,
|
|
|
|
) -> gboolean;
|
|
|
|
pub fn gst_player_set_multiview_flags(
|
|
|
|
player: *mut GstPlayer,
|
|
|
|
flags: gst_video::GstVideoMultiviewFlags,
|
|
|
|
);
|
|
|
|
pub fn gst_player_set_multiview_mode(
|
|
|
|
player: *mut GstPlayer,
|
|
|
|
mode: gst_video::GstVideoMultiviewFramePacking,
|
|
|
|
);
|
2017-08-01 12:28:40 +00:00
|
|
|
pub fn gst_player_set_mute(player: *mut GstPlayer, val: gboolean);
|
|
|
|
pub fn gst_player_set_rate(player: *mut GstPlayer, rate: c_double);
|
|
|
|
pub fn gst_player_set_subtitle_track(player: *mut GstPlayer, stream_index: c_int) -> gboolean;
|
|
|
|
pub fn gst_player_set_subtitle_track_enabled(player: *mut GstPlayer, enabled: gboolean);
|
|
|
|
pub fn gst_player_set_subtitle_uri(player: *mut GstPlayer, uri: *const c_char);
|
2020-11-27 13:37:24 +00:00
|
|
|
#[cfg(any(feature = "v1_16", feature = "dox"))]
|
|
|
|
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))]
|
2019-04-23 12:32:33 +00:00
|
|
|
pub fn gst_player_set_subtitle_video_offset(player: *mut GstPlayer, offset: i64);
|
2017-08-01 12:28:40 +00:00
|
|
|
pub fn gst_player_set_uri(player: *mut GstPlayer, uri: *const c_char);
|
|
|
|
pub fn gst_player_set_video_track(player: *mut GstPlayer, stream_index: c_int) -> gboolean;
|
|
|
|
pub fn gst_player_set_video_track_enabled(player: *mut GstPlayer, enabled: gboolean);
|
|
|
|
pub fn gst_player_set_visualization(player: *mut GstPlayer, name: *const c_char) -> gboolean;
|
|
|
|
pub fn gst_player_set_visualization_enabled(player: *mut GstPlayer, enabled: gboolean);
|
|
|
|
pub fn gst_player_set_volume(player: *mut GstPlayer, val: c_double);
|
|
|
|
pub fn gst_player_stop(player: *mut GstPlayer);
|
|
|
|
|
|
|
|
//=========================================================================
|
|
|
|
// GstPlayerAudioInfo
|
|
|
|
//=========================================================================
|
|
|
|
pub fn gst_player_audio_info_get_type() -> GType;
|
|
|
|
pub fn gst_player_audio_info_get_bitrate(info: *const GstPlayerAudioInfo) -> c_int;
|
|
|
|
pub fn gst_player_audio_info_get_channels(info: *const GstPlayerAudioInfo) -> c_int;
|
|
|
|
pub fn gst_player_audio_info_get_language(info: *const GstPlayerAudioInfo) -> *const c_char;
|
|
|
|
pub fn gst_player_audio_info_get_max_bitrate(info: *const GstPlayerAudioInfo) -> c_int;
|
|
|
|
pub fn gst_player_audio_info_get_sample_rate(info: *const GstPlayerAudioInfo) -> c_int;
|
|
|
|
|
|
|
|
//=========================================================================
|
|
|
|
// GstPlayerGMainContextSignalDispatcher
|
|
|
|
//=========================================================================
|
|
|
|
pub fn gst_player_g_main_context_signal_dispatcher_get_type() -> GType;
|
2019-06-18 10:04:39 +00:00
|
|
|
pub fn gst_player_g_main_context_signal_dispatcher_new(
|
|
|
|
application_context: *mut glib::GMainContext,
|
|
|
|
) -> *mut GstPlayerSignalDispatcher;
|
2017-08-01 12:28:40 +00:00
|
|
|
|
|
|
|
//=========================================================================
|
|
|
|
// GstPlayerMediaInfo
|
|
|
|
//=========================================================================
|
|
|
|
pub fn gst_player_media_info_get_type() -> GType;
|
2019-06-18 10:04:39 +00:00
|
|
|
pub fn gst_player_media_info_get_audio_streams(
|
|
|
|
info: *const GstPlayerMediaInfo,
|
|
|
|
) -> *mut glib::GList;
|
|
|
|
pub fn gst_player_media_info_get_container_format(
|
|
|
|
info: *const GstPlayerMediaInfo,
|
|
|
|
) -> *const c_char;
|
|
|
|
pub fn gst_player_media_info_get_duration(info: *const GstPlayerMediaInfo)
|
|
|
|
-> gst::GstClockTime;
|
|
|
|
pub fn gst_player_media_info_get_image_sample(
|
|
|
|
info: *const GstPlayerMediaInfo,
|
|
|
|
) -> *mut gst::GstSample;
|
|
|
|
pub fn gst_player_media_info_get_number_of_audio_streams(
|
|
|
|
info: *const GstPlayerMediaInfo,
|
|
|
|
) -> c_uint;
|
2017-08-01 12:28:40 +00:00
|
|
|
pub fn gst_player_media_info_get_number_of_streams(info: *const GstPlayerMediaInfo) -> c_uint;
|
2019-06-18 10:04:39 +00:00
|
|
|
pub fn gst_player_media_info_get_number_of_subtitle_streams(
|
|
|
|
info: *const GstPlayerMediaInfo,
|
|
|
|
) -> c_uint;
|
|
|
|
pub fn gst_player_media_info_get_number_of_video_streams(
|
|
|
|
info: *const GstPlayerMediaInfo,
|
|
|
|
) -> c_uint;
|
|
|
|
pub fn gst_player_media_info_get_stream_list(
|
|
|
|
info: *const GstPlayerMediaInfo,
|
|
|
|
) -> *mut glib::GList;
|
|
|
|
pub fn gst_player_media_info_get_subtitle_streams(
|
|
|
|
info: *const GstPlayerMediaInfo,
|
|
|
|
) -> *mut glib::GList;
|
2017-08-01 12:28:40 +00:00
|
|
|
pub fn gst_player_media_info_get_tags(info: *const GstPlayerMediaInfo) -> *mut gst::GstTagList;
|
|
|
|
pub fn gst_player_media_info_get_title(info: *const GstPlayerMediaInfo) -> *const c_char;
|
|
|
|
pub fn gst_player_media_info_get_uri(info: *const GstPlayerMediaInfo) -> *const c_char;
|
2019-06-18 10:04:39 +00:00
|
|
|
pub fn gst_player_media_info_get_video_streams(
|
|
|
|
info: *const GstPlayerMediaInfo,
|
|
|
|
) -> *mut glib::GList;
|
2017-08-01 12:28:40 +00:00
|
|
|
pub fn gst_player_media_info_is_live(info: *const GstPlayerMediaInfo) -> gboolean;
|
|
|
|
pub fn gst_player_media_info_is_seekable(info: *const GstPlayerMediaInfo) -> gboolean;
|
|
|
|
|
|
|
|
//=========================================================================
|
|
|
|
// GstPlayerStreamInfo
|
|
|
|
//=========================================================================
|
|
|
|
pub fn gst_player_stream_info_get_type() -> GType;
|
|
|
|
pub fn gst_player_stream_info_get_caps(info: *const GstPlayerStreamInfo) -> *mut gst::GstCaps;
|
|
|
|
pub fn gst_player_stream_info_get_codec(info: *const GstPlayerStreamInfo) -> *const c_char;
|
|
|
|
pub fn gst_player_stream_info_get_index(info: *const GstPlayerStreamInfo) -> c_int;
|
2019-06-18 10:04:39 +00:00
|
|
|
pub fn gst_player_stream_info_get_stream_type(
|
|
|
|
info: *const GstPlayerStreamInfo,
|
|
|
|
) -> *const c_char;
|
|
|
|
pub fn gst_player_stream_info_get_tags(
|
|
|
|
info: *const GstPlayerStreamInfo,
|
|
|
|
) -> *mut gst::GstTagList;
|
2017-08-01 12:28:40 +00:00
|
|
|
|
|
|
|
//=========================================================================
|
|
|
|
// GstPlayerSubtitleInfo
|
|
|
|
//=========================================================================
|
|
|
|
pub fn gst_player_subtitle_info_get_type() -> GType;
|
2019-06-18 10:04:39 +00:00
|
|
|
pub fn gst_player_subtitle_info_get_language(
|
|
|
|
info: *const GstPlayerSubtitleInfo,
|
|
|
|
) -> *const c_char;
|
2017-08-01 12:28:40 +00:00
|
|
|
|
|
|
|
//=========================================================================
|
|
|
|
// GstPlayerVideoInfo
|
|
|
|
//=========================================================================
|
|
|
|
pub fn gst_player_video_info_get_type() -> GType;
|
|
|
|
pub fn gst_player_video_info_get_bitrate(info: *const GstPlayerVideoInfo) -> c_int;
|
2019-06-18 10:04:39 +00:00
|
|
|
pub fn gst_player_video_info_get_framerate(
|
|
|
|
info: *const GstPlayerVideoInfo,
|
|
|
|
fps_n: *mut c_int,
|
|
|
|
fps_d: *mut c_int,
|
|
|
|
);
|
2017-08-01 12:28:40 +00:00
|
|
|
pub fn gst_player_video_info_get_height(info: *const GstPlayerVideoInfo) -> c_int;
|
|
|
|
pub fn gst_player_video_info_get_max_bitrate(info: *const GstPlayerVideoInfo) -> c_int;
|
2019-06-18 10:04:39 +00:00
|
|
|
pub fn gst_player_video_info_get_pixel_aspect_ratio(
|
|
|
|
info: *const GstPlayerVideoInfo,
|
|
|
|
par_n: *mut c_uint,
|
|
|
|
par_d: *mut c_uint,
|
|
|
|
);
|
2017-08-01 12:28:40 +00:00
|
|
|
pub fn gst_player_video_info_get_width(info: *const GstPlayerVideoInfo) -> c_int;
|
|
|
|
|
|
|
|
//=========================================================================
|
|
|
|
// GstPlayerVideoOverlayVideoRenderer
|
|
|
|
//=========================================================================
|
|
|
|
pub fn gst_player_video_overlay_video_renderer_get_type() -> GType;
|
2019-06-18 10:04:39 +00:00
|
|
|
pub fn gst_player_video_overlay_video_renderer_new(
|
|
|
|
window_handle: gpointer,
|
|
|
|
) -> *mut GstPlayerVideoRenderer;
|
|
|
|
pub fn gst_player_video_overlay_video_renderer_new_with_sink(
|
|
|
|
window_handle: gpointer,
|
|
|
|
video_sink: *mut gst::GstElement,
|
|
|
|
) -> *mut GstPlayerVideoRenderer;
|
|
|
|
pub fn gst_player_video_overlay_video_renderer_expose(
|
|
|
|
self_: *mut GstPlayerVideoOverlayVideoRenderer,
|
|
|
|
);
|
|
|
|
pub fn gst_player_video_overlay_video_renderer_get_render_rectangle(
|
|
|
|
self_: *mut GstPlayerVideoOverlayVideoRenderer,
|
|
|
|
x: *mut c_int,
|
|
|
|
y: *mut c_int,
|
|
|
|
width: *mut c_int,
|
|
|
|
height: *mut c_int,
|
|
|
|
);
|
|
|
|
pub fn gst_player_video_overlay_video_renderer_get_window_handle(
|
|
|
|
self_: *mut GstPlayerVideoOverlayVideoRenderer,
|
|
|
|
) -> gpointer;
|
|
|
|
pub fn gst_player_video_overlay_video_renderer_set_render_rectangle(
|
|
|
|
self_: *mut GstPlayerVideoOverlayVideoRenderer,
|
|
|
|
x: c_int,
|
|
|
|
y: c_int,
|
|
|
|
width: c_int,
|
|
|
|
height: c_int,
|
|
|
|
);
|
|
|
|
pub fn gst_player_video_overlay_video_renderer_set_window_handle(
|
|
|
|
self_: *mut GstPlayerVideoOverlayVideoRenderer,
|
|
|
|
window_handle: gpointer,
|
|
|
|
);
|
2017-08-01 12:28:40 +00:00
|
|
|
|
|
|
|
//=========================================================================
|
|
|
|
// GstPlayerSignalDispatcher
|
|
|
|
//=========================================================================
|
|
|
|
pub fn gst_player_signal_dispatcher_get_type() -> GType;
|
|
|
|
|
|
|
|
//=========================================================================
|
|
|
|
// GstPlayerVideoRenderer
|
|
|
|
//=========================================================================
|
|
|
|
pub fn gst_player_video_renderer_get_type() -> GType;
|
|
|
|
|
|
|
|
}
|