Struct gstreamer_play::Play
source · pub struct Play { /* private fields */ }
Expand description
The goal of the GstPlay library is to ease the integration of multimedia playback features in applications. Thus, if you need to build a media player from the ground-up, GstPlay provides the features you will most likely need.
An example player is available in gst-examples/playback/player/gst-play/.
Internally the GstPlay makes use of the playbin3
element. The legacy
playbin2
can be selected if the GST_PLAY_USE_PLAYBIN3=0
environment
variable has been set.
Important note: If your application relies on the GstBus to get notifications from GstPlay, you need to add some explicit clean-up code in order to prevent the GstPlay object from leaking. See below for the details. If you use the GstPlaySignalAdapter, no special clean-up is required.
When the GstPlaySignalAdapter is not used, the GstBus owned by GstPlay should be set to flushing state before any attempt to drop the last reference of the GstPlay object. An example in C:
⚠️ The following code is in c ⚠️
...
GstBus *bus = gst_play_get_message_bus (player);
gst_bus_set_flushing (bus, TRUE);
gst_object_unref (bus);
gst_object_unref (player);
The messages managed by the player contain a reference to itself, and if the bus watch is just removed together with dropping the player then the bus will simply keep them around forever (and the bus never goes away because the player has a strong reference to it, so there’s a reference cycle as long as there are messages). Setting the bus to flushing state forces it to get rid of its queued messages, thus breaking any possible reference cycle.
§Properties
§audio-video-offset
Readable | Writeable
§current-audio-track
Readable
§current-subtitle-track
Readable
§current-video-track
Readable
§duration
Readable
§media-info
Readable
§mute
Readable | Writeable
§pipeline
Readable
§position
Readable
§rate
Readable | Writeable
§subtitle-video-offset
Readable | Writeable
§suburi
Readable | Writeable
§uri
Readable | Writeable
§video-multiview-flags
Readable | Writeable
§video-multiview-mode
Readable | Writeable
§video-renderer
Readable | Writeable
§volume
Readable | Writeable
Object
§name
Readable | Writeable | Construct
§parent
The parent of the object. Please note, that when changing the ‘parent’
property, we don’t emit [notify
][struct@crate::glib::Object#notify] and deep-notify
signals due to locking issues. In some cases one can use
GstBin::element-added
or GstBin::element-removed
signals on the parent to
achieve a similar effect.
Readable | Writeable
§Implements
gst::prelude::ObjectExt
, [trait@glib::ObjectExt
]
GLib type: GObject with reference counted clone semantics.
Implementations§
source§impl Play
impl Play
sourcepub fn new(video_renderer: Option<impl IsA<PlayVideoRenderer>>) -> Play
pub fn new(video_renderer: Option<impl IsA<PlayVideoRenderer>>) -> Play
Creates a new Play
instance.
Video is going to be rendered by video_renderer
, or if None
is provided
no special video set up will be done and some default handling will be
performed.
This also initializes GStreamer via gst_init()
on the first call if this
didn’t happen before.
§video_renderer
GstPlayVideoRenderer to use
§Returns
a new Play
instance
sourcepub fn audio_video_offset(&self) -> i64
pub fn audio_video_offset(&self) -> i64
Retrieve the current value of audio-video-offset property
§Returns
The current value of audio-video-offset in nanoseconds
sourcepub fn color_balance(&self, type_: PlayColorBalanceType) -> f64
pub fn color_balance(&self, type_: PlayColorBalanceType) -> f64
sourcepub fn current_audio_track(&self) -> Option<PlayAudioInfo>
pub fn current_audio_track(&self) -> Option<PlayAudioInfo>
A Function to get current audio PlayAudioInfo
instance.
§Returns
current audio track.
The caller should free it with g_object_unref()
sourcepub fn current_subtitle_track(&self) -> Option<PlaySubtitleInfo>
pub fn current_subtitle_track(&self) -> Option<PlaySubtitleInfo>
A Function to get current subtitle PlaySubtitleInfo
instance.
§Returns
current subtitle track.
The caller should free it with g_object_unref()
sourcepub fn current_video_track(&self) -> Option<PlayVideoInfo>
pub fn current_video_track(&self) -> Option<PlayVideoInfo>
A Function to get current video PlayVideoInfo
instance.
§Returns
current video track.
The caller should free it with g_object_unref()
sourcepub fn current_visualization(&self) -> Option<GString>
pub fn current_visualization(&self) -> Option<GString>
§Returns
Name of the currently enabled
visualization.
g_free()
after usage.
sourcepub fn duration(&self) -> Option<ClockTime>
pub fn duration(&self) -> Option<ClockTime>
Retrieves the duration of the media stream that self represents.
§Returns
the duration of the currently-playing media stream, in nanoseconds.
sourcepub fn media_info(&self) -> Option<PlayMediaInfo>
pub fn media_info(&self) -> Option<PlayMediaInfo>
A Function to get the current media info PlayMediaInfo
instance.
§Returns
media info instance.
The caller should free it with g_object_unref()
sourcepub fn message_bus(&self) -> Bus
pub fn message_bus(&self) -> Bus
GstPlay API exposes a gst::Bus
instance which purpose is to provide data
structures representing play-internal events in form of gst::Message
s of
type GST_MESSAGE_APPLICATION.
Each message carries a “play-message” field of type PlayMessage
.
Further fields of the message data are specific to each possible value of
that enumeration.
Applications can consume the messages asynchronously within their own event-loop / UI-thread etc. Note that in case the application does not consume the messages, the bus will accumulate these internally and eventually fill memory. To avoid that, the bus has to be set “flushing”.
§Returns
The play message bus instance
sourcepub fn multiview_flags(&self) -> VideoMultiviewFlags
pub fn multiview_flags(&self) -> VideoMultiviewFlags
Retrieve the current value of the indicated type_
.
§Returns
The current value of type_
, Default: 0x00000000 “none
sourcepub fn multiview_mode(&self) -> VideoMultiviewFramePacking
pub fn multiview_mode(&self) -> VideoMultiviewFramePacking
Retrieve the current value of the indicated type_
.
§Returns
The current value of type_
, Default: -1 “none”
sourcepub fn position(&self) -> Option<ClockTime>
pub fn position(&self) -> Option<ClockTime>
§Returns
the absolute position time, in nanoseconds, of the currently-playing stream.
sourcepub fn subtitle_uri(&self) -> Option<GString>
pub fn subtitle_uri(&self) -> Option<GString>
sourcepub fn subtitle_video_offset(&self) -> i64
pub fn subtitle_video_offset(&self) -> i64
Retrieve the current value of subtitle-video-offset property
§Returns
The current value of subtitle-video-offset in nanoseconds
sourcepub fn uri(&self) -> Option<GString>
pub fn uri(&self) -> Option<GString>
Gets the URI of the currently-playing stream.
§Returns
a string containing the URI of the
currently-playing stream. g_free()
after usage.
sourcepub fn volume(&self) -> f64
pub fn volume(&self) -> f64
Returns the current volume level, as a percentage between 0 and 1.
§Returns
the volume as percentage between 0 and 1.
sourcepub fn has_color_balance(&self) -> bool
pub fn has_color_balance(&self) -> bool
sourcepub fn seek(&self, position: ClockTime)
pub fn seek(&self, position: ClockTime)
Seeks the currently-playing stream to the absolute position
time
in nanoseconds.
§position
position to seek in nanoseconds
sourcepub fn set_audio_track_enabled(&self, enabled: bool)
pub fn set_audio_track_enabled(&self, enabled: bool)
sourcepub fn set_audio_video_offset(&self, offset: i64)
pub fn set_audio_video_offset(&self, offset: i64)
sourcepub fn set_color_balance(&self, type_: PlayColorBalanceType, value: f64)
pub fn set_color_balance(&self, type_: PlayColorBalanceType, value: f64)
sourcepub fn set_multiview_flags(&self, flags: VideoMultiviewFlags)
pub fn set_multiview_flags(&self, flags: VideoMultiviewFlags)
Sets the current value of the indicated mode type_
to the passed
value.
§flags
The new value for the type_
sourcepub fn set_multiview_mode(&self, mode: VideoMultiviewFramePacking)
pub fn set_multiview_mode(&self, mode: VideoMultiviewFramePacking)
Sets the current value of the indicated mode type_
to the passed
value.
§mode
The new value for the type_
sourcepub fn set_subtitle_track_enabled(&self, enabled: bool)
pub fn set_subtitle_track_enabled(&self, enabled: bool)
sourcepub fn set_subtitle_uri(&self, uri: Option<&str>)
pub fn set_subtitle_uri(&self, uri: Option<&str>)
Sets the external subtitle URI. This should be combined with a call to
gst_play_set_subtitle_track_enabled(self
, TRUE) so the subtitles are actually
rendered.
§uri
subtitle URI
sourcepub fn set_subtitle_video_offset(&self, offset: i64)
pub fn set_subtitle_video_offset(&self, offset: i64)
sourcepub fn set_video_track_enabled(&self, enabled: bool)
pub fn set_video_track_enabled(&self, enabled: bool)
sourcepub fn set_visualization(&self, name: Option<&str>) -> Result<(), BoolError>
pub fn set_visualization(&self, name: Option<&str>) -> Result<(), BoolError>
§name
visualization element obtained from
visualizations_get()
§Returns
true
if the visualization was set correctly. Otherwise,
false
.
sourcepub fn set_visualization_enabled(&self, enabled: bool)
pub fn set_visualization_enabled(&self, enabled: bool)
sourcepub fn set_volume(&self, val: f64)
pub fn set_volume(&self, val: f64)
Sets the volume level of the stream as a percentage between 0 and 1.
§val
the new volume level, as a percentage between 0 and 1
sourcepub fn stop(&self)
pub fn stop(&self)
Stops playing the current stream and resets to the first position in the stream.
pub fn suburi(&self) -> Option<GString>
pub fn set_suburi(&self, suburi: Option<&str>)
pub fn video_multiview_flags(&self) -> VideoMultiviewFlags
pub fn set_video_multiview_flags( &self, video_multiview_flags: VideoMultiviewFlags, )
pub fn video_multiview_mode(&self) -> VideoMultiviewFramePacking
pub fn set_video_multiview_mode( &self, video_multiview_mode: VideoMultiviewFramePacking, )
pub fn video_renderer(&self) -> Option<PlayVideoRenderer>
pub fn set_video_renderer<P: IsA<PlayVideoRenderer>>( &self, video_renderer: Option<&P>, )
sourcepub fn audio_streams(info: &PlayMediaInfo) -> Vec<PlayAudioInfo>
pub fn audio_streams(info: &PlayMediaInfo) -> Vec<PlayAudioInfo>
sourcepub fn subtitle_streams(info: &PlayMediaInfo) -> Vec<PlaySubtitleInfo>
pub fn subtitle_streams(info: &PlayMediaInfo) -> Vec<PlaySubtitleInfo>
sourcepub fn video_streams(info: &PlayMediaInfo) -> Vec<PlayVideoInfo>
pub fn video_streams(info: &PlayMediaInfo) -> Vec<PlayVideoInfo>
sourcepub fn is_play_message(msg: &Message) -> bool
pub fn is_play_message(msg: &Message) -> bool
sourcepub fn visualizations_get() -> Vec<PlayVisualization>
pub fn visualizations_get() -> Vec<PlayVisualization>
pub fn connect_audio_video_offset_notify<F: Fn(&Self) + Send + Sync + 'static>( &self, f: F, ) -> SignalHandlerId
pub fn connect_current_audio_track_notify<F: Fn(&Self) + Send + Sync + 'static>( &self, f: F, ) -> SignalHandlerId
pub fn connect_current_subtitle_track_notify<F: Fn(&Self) + Send + Sync + 'static>( &self, f: F, ) -> SignalHandlerId
pub fn connect_current_video_track_notify<F: Fn(&Self) + Send + Sync + 'static>( &self, f: F, ) -> SignalHandlerId
pub fn connect_duration_notify<F: Fn(&Self) + Send + Sync + 'static>( &self, f: F, ) -> SignalHandlerId
pub fn connect_media_info_notify<F: Fn(&Self) + Send + Sync + 'static>( &self, f: F, ) -> SignalHandlerId
pub fn connect_mute_notify<F: Fn(&Self) + Send + Sync + 'static>( &self, f: F, ) -> SignalHandlerId
pub fn connect_pipeline_notify<F: Fn(&Self) + Send + Sync + 'static>( &self, f: F, ) -> SignalHandlerId
pub fn connect_position_notify<F: Fn(&Self) + Send + Sync + 'static>( &self, f: F, ) -> SignalHandlerId
pub fn connect_rate_notify<F: Fn(&Self) + Send + Sync + 'static>( &self, f: F, ) -> SignalHandlerId
pub fn connect_subtitle_video_offset_notify<F: Fn(&Self) + Send + Sync + 'static>( &self, f: F, ) -> SignalHandlerId
pub fn connect_suburi_notify<F: Fn(&Self) + Send + Sync + 'static>( &self, f: F, ) -> SignalHandlerId
pub fn connect_uri_notify<F: Fn(&Self) + Send + Sync + 'static>( &self, f: F, ) -> SignalHandlerId
pub fn connect_video_multiview_flags_notify<F: Fn(&Self) + Send + Sync + 'static>( &self, f: F, ) -> SignalHandlerId
pub fn connect_video_multiview_mode_notify<F: Fn(&Self) + Send + Sync + 'static>( &self, f: F, ) -> SignalHandlerId
pub fn connect_video_renderer_notify<F: Fn(&Self) + Send + Sync + 'static>( &self, f: F, ) -> SignalHandlerId
pub fn connect_volume_notify<F: Fn(&Self) + Send + Sync + 'static>( &self, f: F, ) -> SignalHandlerId
source§impl Play
impl Play
sourcepub fn config(&self) -> PlayConfig
pub fn config(&self) -> PlayConfig
Get a copy of the current configuration of the play. This configuration
can either be modified and used for the set_config()
call
or it must be freed after usage.
§Returns
a copy of the current configuration of self
. Use
gst_structure_free()
after usage or set_config()
.
sourcepub fn set_config(&self, config: PlayConfig) -> Result<(), BoolError>
pub fn set_config(&self, config: PlayConfig) -> Result<(), BoolError>
Set the configuration of the play. If the play is already configured, and
the configuration hasn’t changed, this function will return true
. If the
play is not in the GST_PLAY_STATE_STOPPED, this method will return false
and active configuration will remain.
config
is a gst::Structure
that contains the configuration parameters for
the play.
This function takes ownership of config
.
§config
§Returns
true
when the configuration could be set.
sourcepub fn video_snapshot(
&self,
format: PlaySnapshotFormat,
config: Option<&StructureRef>,
) -> Option<Sample>
pub fn video_snapshot( &self, format: PlaySnapshotFormat, config: Option<&StructureRef>, ) -> Option<Sample>
Get a snapshot of the currently selected video stream, if any. The format can be
selected with format
and optional configuration is possible with config
.
Currently supported settings are:
- width, height of type G_TYPE_INT
- pixel-aspect-ratio of type GST_TYPE_FRACTION Except for GST_PLAY_THUMBNAIL_RAW_NATIVE format, if no config is set, pixel-aspect-ratio would be 1/1
§format
output format of the video snapshot
§config
Additional configuration
§Returns
Current video snapshot sample or None
on failure
Trait Implementations§
source§impl HasParamSpec for Play
impl HasParamSpec for Play
source§impl Ord for Play
impl Ord for Play
source§fn cmp(&self, other: &Self) -> Ordering
fn cmp(&self, other: &Self) -> Ordering
Comparison for two GObjects.
Compares the memory addresses of the provided objects.
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
source§impl<OT: ObjectType> PartialEq<OT> for Play
impl<OT: ObjectType> PartialEq<OT> for Play
source§impl<OT: ObjectType> PartialOrd<OT> for Play
impl<OT: ObjectType> PartialOrd<OT> for Play
source§impl StaticType for Play
impl StaticType for Play
source§fn static_type() -> Type
fn static_type() -> Type
Self
.impl Eq for Play
impl IsA<Object> for Play
impl Send for Play
impl Sync for Play
Auto Trait Implementations§
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> Cast for Twhere
T: ObjectType,
impl<T> Cast for Twhere
T: ObjectType,
source§fn upcast<T>(self) -> Twhere
T: ObjectType,
Self: IsA<T>,
fn upcast<T>(self) -> Twhere
T: ObjectType,
Self: IsA<T>,
T
. Read moresource§fn upcast_ref<T>(&self) -> &Twhere
T: ObjectType,
Self: IsA<T>,
fn upcast_ref<T>(&self) -> &Twhere
T: ObjectType,
Self: IsA<T>,
T
. Read moresource§fn downcast<T>(self) -> Result<T, Self>where
T: ObjectType,
Self: MayDowncastTo<T>,
fn downcast<T>(self) -> Result<T, Self>where
T: ObjectType,
Self: MayDowncastTo<T>,
T
. Read moresource§fn downcast_ref<T>(&self) -> Option<&T>where
T: ObjectType,
Self: MayDowncastTo<T>,
fn downcast_ref<T>(&self) -> Option<&T>where
T: ObjectType,
Self: MayDowncastTo<T>,
T
. Read moresource§fn dynamic_cast<T>(self) -> Result<T, Self>where
T: ObjectType,
fn dynamic_cast<T>(self) -> Result<T, Self>where
T: ObjectType,
T
. This handles upcasting, downcasting
and casting between interface and interface implementors. All checks are performed at
runtime, while upcast
will do many checks at compile-time already. downcast
will
perform the same checks at runtime as dynamic_cast
, but will also ensure some amount of
compile-time safety. Read moresource§fn dynamic_cast_ref<T>(&self) -> Option<&T>where
T: ObjectType,
fn dynamic_cast_ref<T>(&self) -> Option<&T>where
T: ObjectType,
T
. This handles upcasting, downcasting
and casting between interface and interface implementors. All checks are performed at
runtime, while downcast
and upcast
will do many checks at compile-time already. Read moresource§unsafe fn unsafe_cast<T>(self) -> Twhere
T: ObjectType,
unsafe fn unsafe_cast<T>(self) -> Twhere
T: ObjectType,
T
unconditionally. Read moresource§unsafe fn unsafe_cast_ref<T>(&self) -> &Twhere
T: ObjectType,
unsafe fn unsafe_cast_ref<T>(&self) -> &Twhere
T: ObjectType,
&T
unconditionally. Read moresource§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
source§impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GPtrArray> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GPtrArray> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
source§impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GSList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GSList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
source§impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
source§impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GPtrArray> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GPtrArray> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
source§impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GSList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GSList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
source§impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
unsafe fn from_glib_none_as_vec(ptr: *const GList) -> Vec<T>
unsafe fn from_glib_container_as_vec(_: *const GList) -> Vec<T>
unsafe fn from_glib_full_as_vec(_: *const GList) -> Vec<T>
source§impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GPtrArray> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GPtrArray> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
unsafe fn from_glib_none_as_vec(ptr: *const GPtrArray) -> Vec<T>
unsafe fn from_glib_container_as_vec(_: *const GPtrArray) -> Vec<T>
unsafe fn from_glib_full_as_vec(_: *const GPtrArray) -> Vec<T>
source§impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GSList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GSList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
unsafe fn from_glib_none_as_vec(ptr: *const GSList) -> Vec<T>
unsafe fn from_glib_container_as_vec(_: *const GSList) -> Vec<T>
unsafe fn from_glib_full_as_vec(_: *const GSList) -> Vec<T>
source§impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
unsafe fn from_glib_none_as_vec(ptr: *mut GList) -> Vec<T>
unsafe fn from_glib_container_as_vec(ptr: *mut GList) -> Vec<T>
unsafe fn from_glib_full_as_vec(ptr: *mut GList) -> Vec<T>
source§impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GPtrArray> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GPtrArray> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
unsafe fn from_glib_none_as_vec(ptr: *mut GPtrArray) -> Vec<T>
unsafe fn from_glib_container_as_vec(ptr: *mut GPtrArray) -> Vec<T>
unsafe fn from_glib_full_as_vec(ptr: *mut GPtrArray) -> Vec<T>
source§impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GSList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GSList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
unsafe fn from_glib_none_as_vec(ptr: *mut GSList) -> Vec<T>
unsafe fn from_glib_container_as_vec(ptr: *mut GSList) -> Vec<T>
unsafe fn from_glib_full_as_vec(ptr: *mut GSList) -> Vec<T>
source§impl<O> GObjectExtManualGst for O
impl<O> GObjectExtManualGst for O
fn set_property_from_str(&self, name: &str, value: &str)
source§impl<O> GstObjectExt for O
impl<O> GstObjectExt for O
source§fn add_control_binding(
&self,
binding: &impl IsA<ControlBinding>,
) -> Result<(), BoolError>
fn add_control_binding( &self, binding: &impl IsA<ControlBinding>, ) -> Result<(), BoolError>
ControlBinding
to the object. If there already was a
ControlBinding
for this property it will be replaced. Read moresource§fn default_error(&self, error: &Error, debug: Option<&str>)
fn default_error(&self, error: &Error, debug: Option<&str>)
g_printerr()
to display the error message
and the optional debug string.. Read moresource§fn control_binding(&self, property_name: &str) -> Option<ControlBinding>
fn control_binding(&self, property_name: &str) -> Option<ControlBinding>
ControlBinding
for the property. This should be
unreferenced again after use. Read moresource§fn control_rate(&self) -> Option<ClockTime>
fn control_rate(&self) -> Option<ClockTime>
self
. Audio processing Element
objects will use this rate to sub-divide their processing loop and call
sync_values()
in between. The length of the processing segment
should be up to control
-rate nanoseconds. Read moresource§fn parent(&self) -> Option<Object>
fn parent(&self) -> Option<Object>
self
. This function increases the refcount
of the parent object so you should gst_object_unref()
it after usage. Read moresource§fn path_string(&self) -> GString
fn path_string(&self) -> GString
self
in
the object hierarchy. Only useful (or used) for debugging. Read moresource§fn value(
&self,
property_name: &str,
timestamp: impl Into<Option<ClockTime>>,
) -> Option<Value>
fn value( &self, property_name: &str, timestamp: impl Into<Option<ClockTime>>, ) -> Option<Value>
source§fn has_active_control_bindings(&self) -> bool
fn has_active_control_bindings(&self) -> bool
self
has active controlled properties. Read moresource§fn remove_control_binding(&self, binding: &impl IsA<ControlBinding>) -> bool
fn remove_control_binding(&self, binding: &impl IsA<ControlBinding>) -> bool
ControlBinding
. If it was the
last ref of the binding, it will be disposed. Read moresource§fn set_control_binding_disabled(&self, property_name: &str, disabled: bool)
fn set_control_binding_disabled(&self, property_name: &str, disabled: bool)
sync_values()
will do nothing for the
property. Read moresource§fn set_control_bindings_disabled(&self, disabled: bool)
fn set_control_bindings_disabled(&self, disabled: bool)
self
for
some time, i.e. sync_values()
will do nothing. Read moresource§fn set_control_rate(&self, control_rate: impl Into<Option<ClockTime>>)
fn set_control_rate(&self, control_rate: impl Into<Option<ClockTime>>)
self
. Audio processing Element
objects will use this rate to sub-divide their processing loop and call
sync_values()
in between. The length of the processing segment
should be up to control
-rate nanoseconds. Read moresource§fn set_parent(&self, parent: &impl IsA<Object>) -> Result<(), BoolError>
fn set_parent(&self, parent: &impl IsA<Object>) -> Result<(), BoolError>
self
to parent
. The object’s reference count will
be incremented, and any floating reference will be removed (see gst_object_ref_sink()
). Read moresource§fn suggest_next_sync(&self) -> Option<ClockTime>
fn suggest_next_sync(&self) -> Option<ClockTime>
source§fn sync_values(&self, timestamp: ClockTime) -> Result<(), BoolError>
fn sync_values(&self, timestamp: ClockTime) -> Result<(), BoolError>
GstControlSources
that
(maybe) handle them and for the given timestamp. Read moresource§fn unparent(&self)
fn unparent(&self)
self
, removing the associated reference.
This function decreases the refcount of self
. Read morefn connect_parent_notify<F>(&self, f: F) -> SignalHandlerId
source§impl<O> GstObjectExtManual for O
impl<O> GstObjectExtManual for O
fn connect_deep_notify<F>(&self, name: Option<&str>, f: F) -> SignalHandlerId
fn set_object_flags(&self, flags: ObjectFlags)
fn unset_object_flags(&self, flags: ObjectFlags)
fn object_flags(&self) -> ObjectFlags
fn g_value_array( &self, property_name: &str, timestamp: ClockTime, interval: ClockTime, values: &mut [Value], ) -> Result<(), BoolError>
fn object_lock(&self) -> ObjectLockGuard<'_, Self>
source§impl<T> IntoClosureReturnValue for T
impl<T> IntoClosureReturnValue for T
fn into_closure_return_value(self) -> Option<Value>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§impl<U> IsSubclassableExt for Uwhere
U: IsClass + ParentClassIs,
impl<U> IsSubclassableExt for Uwhere
U: IsClass + ParentClassIs,
fn parent_class_init<T>(class: &mut Class<U>)
fn parent_instance_init<T>(instance: &mut InitializingObject<T>)
source§impl<T> ObjectExt for Twhere
T: ObjectType,
impl<T> ObjectExt for Twhere
T: ObjectType,
source§fn is<U>(&self) -> boolwhere
U: StaticType,
fn is<U>(&self) -> boolwhere
U: StaticType,
true
if the object is an instance of (can be cast to) T
.source§fn object_class(&self) -> &Class<Object>
fn object_class(&self) -> &Class<Object>
ObjectClass
of the object. Read moresource§fn class_of<U>(&self) -> Option<&Class<U>>where
U: IsClass,
fn class_of<U>(&self) -> Option<&Class<U>>where
U: IsClass,
T
. Read moresource§fn interface<U>(&self) -> Option<InterfaceRef<'_, U>>where
U: IsInterface,
fn interface<U>(&self) -> Option<InterfaceRef<'_, U>>where
U: IsInterface,
T
of the object. Read moresource§fn set_property_from_value(&self, property_name: &str, value: &Value)
fn set_property_from_value(&self, property_name: &str, value: &Value)
source§fn set_properties(&self, property_values: &[(&str, &dyn ToValue)])
fn set_properties(&self, property_values: &[(&str, &dyn ToValue)])
source§fn set_properties_from_value(&self, property_values: &[(&str, Value)])
fn set_properties_from_value(&self, property_values: &[(&str, Value)])
source§fn property<V>(&self, property_name: &str) -> Vwhere
V: for<'b> FromValue<'b> + 'static,
fn property<V>(&self, property_name: &str) -> Vwhere
V: for<'b> FromValue<'b> + 'static,
property_name
of the object and cast it to the type V. Read moresource§fn property_value(&self, property_name: &str) -> Value
fn property_value(&self, property_name: &str) -> Value
property_name
of the object. Read moresource§fn property_type(&self, property_name: &str) -> Option<Type>
fn property_type(&self, property_name: &str) -> Option<Type>
property_name
of this object. Read moresource§fn find_property(&self, property_name: &str) -> Option<ParamSpec>
fn find_property(&self, property_name: &str) -> Option<ParamSpec>
ParamSpec
of the property property_name
of this object.source§fn list_properties(&self) -> PtrSlice<ParamSpec>
fn list_properties(&self) -> PtrSlice<ParamSpec>
ParamSpec
of the properties of this object.source§fn freeze_notify(&self) -> PropertyNotificationFreezeGuard
fn freeze_notify(&self) -> PropertyNotificationFreezeGuard
source§unsafe fn set_qdata<QD>(&self, key: Quark, value: QD)where
QD: 'static,
unsafe fn set_qdata<QD>(&self, key: Quark, value: QD)where
QD: 'static,
key
. Read moresource§unsafe fn qdata<QD>(&self, key: Quark) -> Option<NonNull<QD>>where
QD: 'static,
unsafe fn qdata<QD>(&self, key: Quark) -> Option<NonNull<QD>>where
QD: 'static,
key
. Read moresource§unsafe fn steal_qdata<QD>(&self, key: Quark) -> Option<QD>where
QD: 'static,
unsafe fn steal_qdata<QD>(&self, key: Quark) -> Option<QD>where
QD: 'static,
key
. Read moresource§unsafe fn set_data<QD>(&self, key: &str, value: QD)where
QD: 'static,
unsafe fn set_data<QD>(&self, key: &str, value: QD)where
QD: 'static,
key
. Read moresource§unsafe fn data<QD>(&self, key: &str) -> Option<NonNull<QD>>where
QD: 'static,
unsafe fn data<QD>(&self, key: &str) -> Option<NonNull<QD>>where
QD: 'static,
key
. Read moresource§unsafe fn steal_data<QD>(&self, key: &str) -> Option<QD>where
QD: 'static,
unsafe fn steal_data<QD>(&self, key: &str) -> Option<QD>where
QD: 'static,
key
. Read moresource§fn block_signal(&self, handler_id: &SignalHandlerId)
fn block_signal(&self, handler_id: &SignalHandlerId)
source§fn unblock_signal(&self, handler_id: &SignalHandlerId)
fn unblock_signal(&self, handler_id: &SignalHandlerId)
source§fn stop_signal_emission(&self, signal_id: SignalId, detail: Option<Quark>)
fn stop_signal_emission(&self, signal_id: SignalId, detail: Option<Quark>)
source§fn stop_signal_emission_by_name(&self, signal_name: &str)
fn stop_signal_emission_by_name(&self, signal_name: &str)
source§fn connect<F>(
&self,
signal_name: &str,
after: bool,
callback: F,
) -> SignalHandlerId
fn connect<F>( &self, signal_name: &str, after: bool, callback: F, ) -> SignalHandlerId
signal_name
on this object. Read moresource§fn connect_id<F>(
&self,
signal_id: SignalId,
details: Option<Quark>,
after: bool,
callback: F,
) -> SignalHandlerId
fn connect_id<F>( &self, signal_id: SignalId, details: Option<Quark>, after: bool, callback: F, ) -> SignalHandlerId
signal_id
on this object. Read moresource§fn connect_local<F>(
&self,
signal_name: &str,
after: bool,
callback: F,
) -> SignalHandlerId
fn connect_local<F>( &self, signal_name: &str, after: bool, callback: F, ) -> SignalHandlerId
signal_name
on this object. Read moresource§fn connect_local_id<F>(
&self,
signal_id: SignalId,
details: Option<Quark>,
after: bool,
callback: F,
) -> SignalHandlerId
fn connect_local_id<F>( &self, signal_id: SignalId, details: Option<Quark>, after: bool, callback: F, ) -> SignalHandlerId
signal_id
on this object. Read moresource§unsafe fn connect_unsafe<F>(
&self,
signal_name: &str,
after: bool,
callback: F,
) -> SignalHandlerId
unsafe fn connect_unsafe<F>( &self, signal_name: &str, after: bool, callback: F, ) -> SignalHandlerId
signal_name
on this object. Read moresource§unsafe fn connect_unsafe_id<F>(
&self,
signal_id: SignalId,
details: Option<Quark>,
after: bool,
callback: F,
) -> SignalHandlerId
unsafe fn connect_unsafe_id<F>( &self, signal_id: SignalId, details: Option<Quark>, after: bool, callback: F, ) -> SignalHandlerId
signal_id
on this object. Read moresource§fn connect_closure(
&self,
signal_name: &str,
after: bool,
closure: RustClosure,
) -> SignalHandlerId
fn connect_closure( &self, signal_name: &str, after: bool, closure: RustClosure, ) -> SignalHandlerId
signal_name
on this object. Read moresource§fn connect_closure_id(
&self,
signal_id: SignalId,
details: Option<Quark>,
after: bool,
closure: RustClosure,
) -> SignalHandlerId
fn connect_closure_id( &self, signal_id: SignalId, details: Option<Quark>, after: bool, closure: RustClosure, ) -> SignalHandlerId
signal_id
on this object. Read moresource§fn watch_closure(&self, closure: &impl AsRef<Closure>)
fn watch_closure(&self, closure: &impl AsRef<Closure>)
closure
to the lifetime of the object. When
the object’s reference count drops to zero, the closure will be
invalidated. An invalidated closure will ignore any calls to
invoke_with_values
, or
invoke
when using Rust closures.source§fn emit<R>(&self, signal_id: SignalId, args: &[&dyn ToValue]) -> Rwhere
R: TryFromClosureReturnValue,
fn emit<R>(&self, signal_id: SignalId, args: &[&dyn ToValue]) -> Rwhere
R: TryFromClosureReturnValue,
source§fn emit_with_values(&self, signal_id: SignalId, args: &[Value]) -> Option<Value>
fn emit_with_values(&self, signal_id: SignalId, args: &[Value]) -> Option<Value>
Self::emit
but takes Value
for the arguments.source§fn emit_by_name<R>(&self, signal_name: &str, args: &[&dyn ToValue]) -> Rwhere
R: TryFromClosureReturnValue,
fn emit_by_name<R>(&self, signal_name: &str, args: &[&dyn ToValue]) -> Rwhere
R: TryFromClosureReturnValue,
source§fn emit_by_name_with_values(
&self,
signal_name: &str,
args: &[Value],
) -> Option<Value>
fn emit_by_name_with_values( &self, signal_name: &str, args: &[Value], ) -> Option<Value>
source§fn emit_by_name_with_details<R>(
&self,
signal_name: &str,
details: Quark,
args: &[&dyn ToValue],
) -> Rwhere
R: TryFromClosureReturnValue,
fn emit_by_name_with_details<R>(
&self,
signal_name: &str,
details: Quark,
args: &[&dyn ToValue],
) -> Rwhere
R: TryFromClosureReturnValue,
source§fn emit_by_name_with_details_and_values(
&self,
signal_name: &str,
details: Quark,
args: &[Value],
) -> Option<Value>
fn emit_by_name_with_details_and_values( &self, signal_name: &str, details: Quark, args: &[Value], ) -> Option<Value>
source§fn emit_with_details<R>(
&self,
signal_id: SignalId,
details: Quark,
args: &[&dyn ToValue],
) -> Rwhere
R: TryFromClosureReturnValue,
fn emit_with_details<R>(
&self,
signal_id: SignalId,
details: Quark,
args: &[&dyn ToValue],
) -> Rwhere
R: TryFromClosureReturnValue,
source§fn emit_with_details_and_values(
&self,
signal_id: SignalId,
details: Quark,
args: &[Value],
) -> Option<Value>
fn emit_with_details_and_values( &self, signal_id: SignalId, details: Quark, args: &[Value], ) -> Option<Value>
source§fn disconnect(&self, handler_id: SignalHandlerId)
fn disconnect(&self, handler_id: SignalHandlerId)
source§fn connect_notify<F>(&self, name: Option<&str>, f: F) -> SignalHandlerId
fn connect_notify<F>(&self, name: Option<&str>, f: F) -> SignalHandlerId
notify
signal of the object. Read moresource§fn connect_notify_local<F>(&self, name: Option<&str>, f: F) -> SignalHandlerId
fn connect_notify_local<F>(&self, name: Option<&str>, f: F) -> SignalHandlerId
notify
signal of the object. Read moresource§unsafe fn connect_notify_unsafe<F>(
&self,
name: Option<&str>,
f: F,
) -> SignalHandlerId
unsafe fn connect_notify_unsafe<F>( &self, name: Option<&str>, f: F, ) -> SignalHandlerId
notify
signal of the object. Read moresource§fn notify(&self, property_name: &str)
fn notify(&self, property_name: &str)
source§fn notify_by_pspec(&self, pspec: &ParamSpec)
fn notify_by_pspec(&self, pspec: &ParamSpec)
source§fn add_weak_ref_notify<F>(&self, f: F) -> WeakRefNotify<T>
fn add_weak_ref_notify<F>(&self, f: F) -> WeakRefNotify<T>
source§fn add_weak_ref_notify_local<F>(&self, f: F) -> WeakRefNotify<T>where
F: FnOnce() + 'static,
fn add_weak_ref_notify_local<F>(&self, f: F) -> WeakRefNotify<T>where
F: FnOnce() + 'static,
source§fn bind_property<'a, 'f, 't, O>(
&'a self,
source_property: &'a str,
target: &'a O,
target_property: &'a str,
) -> BindingBuilder<'a, 'f, 't>where
O: ObjectType,
fn bind_property<'a, 'f, 't, O>(
&'a self,
source_property: &'a str,
target: &'a O,
target_property: &'a str,
) -> BindingBuilder<'a, 'f, 't>where
O: ObjectType,
source§unsafe fn run_dispose(&self)
unsafe fn run_dispose(&self)
source§impl<T> PropertyGet for Twhere
T: HasParamSpec,
impl<T> PropertyGet for Twhere
T: HasParamSpec,
source§impl<T> StaticTypeExt for Twhere
T: StaticType,
impl<T> StaticTypeExt for Twhere
T: StaticType,
source§fn ensure_type()
fn ensure_type()
source§impl<T> ToSendValue for T
impl<T> ToSendValue for T
source§fn to_send_value(&self) -> SendValue
fn to_send_value(&self) -> SendValue
SendValue
clone of self
.