gstreamer_play/auto/play_stream_info.rs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139
// This file was generated by gir (https://github.com/gtk-rs/gir)
// from gir-files (https://github.com/gtk-rs/gir-files)
// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git)
// DO NOT EDIT
#![allow(deprecated)]
use crate::ffi;
use glib::{prelude::*, translate::*};
glib::wrapper! {
/// Base structure for information concerning a media stream. Depending on
/// the stream type, one can find more media-specific information in
/// [`PlayVideoInfo`][crate::PlayVideoInfo], [`PlayAudioInfo`][crate::PlayAudioInfo], [`PlaySubtitleInfo`][crate::PlaySubtitleInfo].
///
/// This is an Abstract Base Class, you cannot instantiate it.
///
/// # Implements
///
/// [`PlayStreamInfoExt`][trait@crate::prelude::PlayStreamInfoExt], [`trait@glib::ObjectExt`]
#[doc(alias = "GstPlayStreamInfo")]
pub struct PlayStreamInfo(Object<ffi::GstPlayStreamInfo, ffi::GstPlayStreamInfoClass>);
match fn {
type_ => || ffi::gst_play_stream_info_get_type(),
}
}
impl PlayStreamInfo {
pub const NONE: Option<&'static PlayStreamInfo> = None;
}
unsafe impl Send for PlayStreamInfo {}
unsafe impl Sync for PlayStreamInfo {}
/// Trait containing all [`struct@PlayStreamInfo`] methods.
///
/// # Implementors
///
/// [`PlayAudioInfo`][struct@crate::PlayAudioInfo], [`PlayStreamInfo`][struct@crate::PlayStreamInfo], [`PlaySubtitleInfo`][struct@crate::PlaySubtitleInfo], [`PlayVideoInfo`][struct@crate::PlayVideoInfo]
pub trait PlayStreamInfoExt: IsA<PlayStreamInfo> + 'static {
///
/// # Returns
///
/// the [`gst::Caps`][crate::gst::Caps] of the stream or [`None`] if
/// unknown.
#[doc(alias = "gst_play_stream_info_get_caps")]
#[doc(alias = "get_caps")]
fn caps(&self) -> Option<gst::Caps> {
unsafe {
from_glib_none(ffi::gst_play_stream_info_get_caps(const_override(
self.as_ref().to_glib_none().0,
)))
}
}
/// A string describing codec used in [`PlayStreamInfo`][crate::PlayStreamInfo].
///
/// # Returns
///
/// codec string or [`None`] on unknown.
#[doc(alias = "gst_play_stream_info_get_codec")]
#[doc(alias = "get_codec")]
fn codec(&self) -> Option<glib::GString> {
unsafe {
from_glib_none(ffi::gst_play_stream_info_get_codec(const_override(
self.as_ref().to_glib_none().0,
)))
}
}
/// Function to get stream index from [`PlayStreamInfo`][crate::PlayStreamInfo] instance or -1 if
/// unknown.
///
/// # Deprecated since 1.26
///
/// Use [`stream_id()`][Self::stream_id()].
///
/// # Returns
///
/// the stream index of this stream.
#[cfg_attr(feature = "v1_26", deprecated = "Since 1.26")]
#[allow(deprecated)]
#[doc(alias = "gst_play_stream_info_get_index")]
#[doc(alias = "get_index")]
fn index(&self) -> i32 {
unsafe {
ffi::gst_play_stream_info_get_index(const_override(self.as_ref().to_glib_none().0))
}
}
/// A string stream id identifying this [`PlayStreamInfo`][crate::PlayStreamInfo].
///
/// # Returns
///
/// stream id string.
#[cfg(feature = "v1_26")]
#[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
#[doc(alias = "gst_play_stream_info_get_stream_id")]
#[doc(alias = "get_stream_id")]
fn stream_id(&self) -> glib::GString {
unsafe {
from_glib_none(ffi::gst_play_stream_info_get_stream_id(const_override(
self.as_ref().to_glib_none().0,
)))
}
}
/// Function to return human readable name for the stream type
/// of the given `self` (ex: "audio", "video", "subtitle")
///
/// # Returns
///
/// a human readable name
#[doc(alias = "gst_play_stream_info_get_stream_type")]
#[doc(alias = "get_stream_type")]
fn stream_type(&self) -> glib::GString {
unsafe {
from_glib_none(ffi::gst_play_stream_info_get_stream_type(const_override(
self.as_ref().to_glib_none().0,
)))
}
}
///
/// # Returns
///
/// the tags contained in this stream.
#[doc(alias = "gst_play_stream_info_get_tags")]
#[doc(alias = "get_tags")]
fn tags(&self) -> Option<gst::TagList> {
unsafe {
from_glib_none(ffi::gst_play_stream_info_get_tags(const_override(
self.as_ref().to_glib_none().0,
)))
}
}
}
impl<O: IsA<PlayStreamInfo>> PlayStreamInfoExt for O {}