Struct gstreamer_audio::AudioSink [−][src]
pub struct AudioSink(_);
Expand description
This is the most simple base class for audio sinks that only requires subclasses to implement a set of simple functions:
-
open()
:Open the device. -
prepare()
:Configure the device with the specified format. -
write()
:Write samples to the device. -
reset()
:Unblock writes and flush the device. -
delay()
:Get the number of samples written but not yet played by the device. -
unprepare()
:Undo operations done by prepare. -
close()
:Close the device.
All scheduling of samples and timestamps is done in this base class
together with AudioBaseSink
using a default implementation of a
GstAudioRingBuffer
that uses threads.
Implements
AudioBaseSinkExt
, gst_base::prelude::BaseSinkExt
, gst::prelude::ElementExt
, gst::prelude::GstObjectExt
, glib::ObjectExt
Trait Implementations
type Parent = AudioBaseSink
This method returns an ordering between self
and other
values if one exists. Read more
This method tests less than (for self
and other
) and is used by the <
operator. Read more
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
Returns the type identifier of Self
.
Auto Trait Implementations
Blanket Implementations
Get the number of bytes that the sink will pull when it is operating in pull mode. Read more
v1_12
only.Checks if self
is currently configured to drop buffers which are outside
the current segment Read more
Get the last sample that arrived in the sink and was used for preroll or for rendering. This property can be used to generate thumbnails. Read more
Get the maximum amount of bits per second that the sink will render. Read more
Gets the max lateness value. See set_max_lateness()
for
more details. Read more
v1_16
only.Get the processing deadline of self
. see
set_processing_deadline()
for more information about
the processing deadline. Read more
Get the render delay of self
. see set_render_delay()
for more
information about the render delay. Read more
v1_18
only.Return various BaseSink
statistics. This function returns a gst::Structure
with name application/x-gst-base-sink-stats
with the following fields: Read more
Checks if self
is currently configured to synchronize against the
clock. Read more
Get the time that will be inserted between frames to control the maximum buffers per second. Read more
Set the number of bytes that the sink will pull when it is operating in pull mode. Read more
v1_12
only.Configure self
to drop buffers which are outside the current segment Read more
Set the maximum amount of bits per second that the sink will render. Read more
Sets the new max lateness value to max_lateness
. This value is
used to decide if a buffer should be dropped or not based on the
buffer timestamp and the current clock time. A value of -1 means
an unlimited time. Read more
v1_16
only.Maximum amount of time (in nanoseconds) that the pipeline can take for processing the buffer. This is added to the latency of live pipelines. Read more
Set the render delay in self
to delay
. The render delay is the time
between actual rendering of a buffer and its synchronisation time. Some
devices might delay media rendering which can be compensated for with this
function. Read more
Set the time that will be inserted between rendered buffers. This can be used to control the maximum buffers per second that the sink will render. Read more
Adjust the synchronisation of self
with offset
. A negative value will
render buffers earlier than their timestamp. A positive value will delay
rendering. This function can be used to fix playback of badly timestamped
buffers. Read more
This function will wait for preroll to complete and will then block until time
is reached. It is usually called by subclasses that use their own internal
synchronisation but want to let some synchronization (like EOS) be handled
by the base class. Read more
pub fn connect_async_notify<F>(&self, f: F) -> SignalHandlerId where
F: 'static + Fn(&O) + Send + Sync,
[src]pub fn connect_blocksize_notify<F>(&self, f: F) -> SignalHandlerId where
F: 'static + Fn(&O) + Send + Sync,
[src]pub fn connect_enable_last_sample_notify<F>(&self, f: F) -> SignalHandlerId where
F: 'static + Fn(&O) + Send + Sync,
[src]pub fn connect_last_sample_notify<F>(&self, f: F) -> SignalHandlerId where
F: 'static + Fn(&O) + Send + Sync,
[src]pub fn connect_max_bitrate_notify<F>(&self, f: F) -> SignalHandlerId where
F: 'static + Fn(&O) + Send + Sync,
[src]pub fn connect_max_lateness_notify<F>(&self, f: F) -> SignalHandlerId where
F: 'static + Fn(&O) + Send + Sync,
[src]pub fn connect_processing_deadline_notify<F>(&self, f: F) -> SignalHandlerId where
F: 'static + Fn(&O) + Send + Sync,
[src]
pub fn connect_processing_deadline_notify<F>(&self, f: F) -> SignalHandlerId where
F: 'static + Fn(&O) + Send + Sync,
[src]v1_16
only.pub fn connect_qos_notify<F>(&self, f: F) -> SignalHandlerId where
F: 'static + Fn(&O) + Send + Sync,
[src]pub fn connect_render_delay_notify<F>(&self, f: F) -> SignalHandlerId where
F: 'static + Fn(&O) + Send + Sync,
[src]pub fn connect_stats_notify<F>(&self, f: F) -> SignalHandlerId where
F: 'static + Fn(&O) + Send + Sync,
[src]
pub fn connect_stats_notify<F>(&self, f: F) -> SignalHandlerId where
F: 'static + Fn(&O) + Send + Sync,
[src]v1_18
only.pub fn connect_sync_notify<F>(&self, f: F) -> SignalHandlerId where
F: 'static + Fn(&O) + Send + Sync,
[src]pub fn connect_throttle_time_notify<F>(&self, f: F) -> SignalHandlerId where
F: 'static + Fn(&O) + Send + Sync,
[src]pub fn connect_ts_offset_notify<F>(&self, f: F) -> SignalHandlerId where
F: 'static + Fn(&O) + Send + Sync,
[src]Mutably borrows from an owned value. Read more
Upcasts an object to a superclass or interface T
. Read more
Upcasts an object to a reference of its superclass or interface T
. Read more
Tries to downcast to a subclass or interface implementor T
. Read more
Tries to downcast to a reference of its subclass or interface implementor T
. Read more
Tries to cast to an object of type 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 more
Tries to cast to reference to an object of type 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 more
Casts to T
unconditionally. Read more
Casts to &T
unconditionally. Read more
Abort the state change of the element. This function is used by elements that do asynchronous state changes and find out something is wrong. Read more
Adds a pad (link point) to self
. pad
’s parent will be set to self
;
see GstObjectExt::set_parent()
for refcounting information. Read more
pub fn change_state(
&self,
transition: StateChange
) -> Result<StateChangeSuccess, StateChangeError>
[src]
pub fn change_state(
&self,
transition: StateChange
) -> Result<StateChangeSuccess, StateChangeError>
[src]Perform transition
on self
. Read more
pub fn continue_state(
&self,
ret: impl Into<StateChangeReturn>
) -> Result<StateChangeSuccess, StateChangeError>
[src]
pub fn continue_state(
&self,
ret: impl Into<StateChangeReturn>
) -> Result<StateChangeSuccess, StateChangeError>
[src]Commit the state change of the element and proceed to the next
pending state if any. This function is used
by elements that do asynchronous state changes.
The core will normally call this method automatically when an
element returned StateChangeReturn::Success
from the state change function. Read more
v1_14
only.v1_14
only.v1_14
only.pub fn compatible_pad<P>(&self, pad: &P, caps: Option<&Caps>) -> Option<Pad> where
P: IsA<Pad>,
[src]pub fn state(
&self,
timeout: impl Into<Option<ClockTime>>
) -> (Result<StateChangeSuccess, StateChangeError>, State, State)
[src]pub fn link_filtered<P>(&self, dest: &P, filter: &Caps) -> Result<(), BoolError> where
P: IsA<Element>,
[src]pub fn link_pads<P>(
&self,
srcpadname: Option<&str>,
dest: &P,
destpadname: Option<&str>
) -> Result<(), BoolError> where
P: IsA<Element>,
[src]pub fn link_pads_filtered<P>(
&self,
srcpadname: Option<&str>,
dest: &P,
destpadname: Option<&str>,
filter: &Caps
) -> Result<(), BoolError> where
P: IsA<Element>,
[src]pub fn link_pads_full<P>(
&self,
srcpadname: Option<&str>,
dest: &P,
destpadname: Option<&str>,
flags: PadLinkCheck
) -> Result<(), BoolError> where
P: IsA<Element>,
[src]pub fn request_pad(
&self,
templ: &PadTemplate,
name: Option<&str>,
caps: Option<&Caps>
) -> Option<Pad>
[src]v1_20
only.pub fn unlink_pads<P>(&self, srcpadname: &str, dest: &P, destpadname: &str) where
P: IsA<Element>,
[src]pub fn connect_no_more_pads<F>(&self, f: F) -> SignalHandlerId where
F: 'static + Fn(&O) + Send + Sync,
[src]pub fn connect_pad_added<F>(&self, f: F) -> SignalHandlerId where
F: 'static + Fn(&O, &Pad) + Send + Sync,
[src]pub fn connect_pad_removed<F>(&self, f: F) -> SignalHandlerId where
F: 'static + Fn(&O, &Pad) + Send + Sync,
[src]pub fn message_full<T>(
&self,
type_: ElementMessageType,
code: T,
message: Option<&str>,
debug: Option<&str>,
file: &str,
function: &str,
line: u32
) where
T: MessageErrorDomain,
[src]pub fn message_full_with_details<T>(
&self,
type_: ElementMessageType,
code: T,
message: Option<&str>,
debug: Option<&str>,
file: &str,
function: &str,
line: u32,
structure: Structure
) where
T: MessageErrorDomain,
[src]
pub fn message_full_with_details<T>(
&self,
type_: ElementMessageType,
code: T,
message: Option<&str>,
debug: Option<&str>,
file: &str,
function: &str,
line: u32,
structure: Structure
) where
T: MessageErrorDomain,
[src]v1_10
only.pub fn add_property_deep_notify_watch(
&self,
property_name: Option<&str>,
include_value: bool
) -> NotifyWatchId
[src]
pub fn add_property_deep_notify_watch(
&self,
property_name: Option<&str>,
include_value: bool
) -> NotifyWatchId
[src]v1_10
only.pub fn add_property_notify_watch(
&self,
property_name: Option<&str>,
include_value: bool
) -> NotifyWatchId
[src]
pub fn add_property_notify_watch(
&self,
property_name: Option<&str>,
include_value: bool
) -> NotifyWatchId
[src]v1_10
only.v1_10
only.pub fn query_convert<V, U>(&self, src_val: V) -> Option<U> where
V: Into<GenericFormattedValue>,
U: SpecificFormattedValue,
[src]pub fn query_convert_generic<V>(
&self,
src_val: V,
dest_format: Format
) -> Option<GenericFormattedValue> where
V: Into<GenericFormattedValue>,
[src]pub fn seek<V>(
&self,
rate: f64,
flags: SeekFlags,
start_type: SeekType,
start: V,
stop_type: SeekType,
stop: V
) -> Result<(), BoolError> where
V: Into<GenericFormattedValue>,
[src]pub fn seek_simple<V>(
&self,
seek_flags: SeekFlags,
seek_pos: V
) -> Result<(), BoolError> where
V: Into<GenericFormattedValue>,
[src]v1_10
only.v1_10
only.pub fn add_control_binding<P>(&self, binding: &P) -> Result<(), BoolError> where
P: IsA<ControlBinding>,
[src]
pub fn add_control_binding<P>(&self, binding: &P) -> Result<(), BoolError> where
P: IsA<ControlBinding>,
[src]Attach the ControlBinding
to the object. If there already was a
ControlBinding
for this property it will be replaced. Read more
A default error function that uses g_printerr()
to display the error message
and the optional debug string.. Read more
Gets the corresponding ControlBinding
for the property. This should be
unreferenced again after use. Read more
Obtain the control-rate for this 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 more
Returns the parent of self
. This function increases the refcount
of the parent object so you should gst_object_unref()
it after usage. Read more
Generates a string describing the path of self
in
the object hierarchy. Only useful (or used) for debugging. Read more
Gets the value for the given controlled property at the requested time. Read more
pub fn connect_parent_notify<F>(&self, f: F) -> SignalHandlerId where
F: 'static + Fn(&O) + Send + Sync,
[src]Returns true
if the object is an instance of (can be cast to) T
.
pub fn set_properties(
&self,
property_values: &[(&str, &dyn ToValue)]
) -> Result<(), BoolError>
[src]pub fn set_properties_from_value(
&self,
property_values: &[(&str, Value)]
) -> Result<(), BoolError>
[src]pub fn set_property<'a, N, V>(
&self,
property_name: N,
value: V
) -> Result<(), BoolError> where
V: ToValue,
N: Into<&'a str>,
[src]pub fn set_property_from_value<'a, N>(
&self,
property_name: N,
value: &Value
) -> Result<(), BoolError> where
N: Into<&'a str>,
[src]pub fn property<'a, N>(&self, property_name: N) -> Result<Value, BoolError> where
N: Into<&'a str>,
[src]Safety Read more
Safety Read more
Safety Read more
Safety Read more
pub fn connect_notify<F>(&self, name: Option<&str>, f: F) -> SignalHandlerId where
F: 'static + Fn(&T, &ParamSpec) + Send + Sync,
[src]pub fn connect_notify_local<F>(
&self,
name: Option<&str>,
f: F
) -> SignalHandlerId where
F: 'static + Fn(&T, &ParamSpec),
[src]pub unsafe fn connect_notify_unsafe<F>(
&self,
name: Option<&str>,
f: F
) -> SignalHandlerId where
F: Fn(&T, &ParamSpec),
[src]pub fn has_property<'a, N>(&self, property_name: N, type_: Option<Type>) -> bool where
N: Into<&'a str>,
[src]pub fn find_property<'a, N>(&self, property_name: N) -> Option<ParamSpec> where
N: Into<&'a str>,
[src]pub fn connect<'a, N, F>(
&self,
signal_name: N,
after: bool,
callback: F
) -> Result<SignalHandlerId, BoolError> where
F: Fn(&[Value]) -> Option<Value> + Send + Sync + 'static,
N: Into<&'a str>,
[src]Same as connect
but takes a SignalId
instead of a signal name.
pub fn connect_local<'a, N, F>(
&self,
signal_name: N,
after: bool,
callback: F
) -> Result<SignalHandlerId, BoolError> where
F: Fn(&[Value]) -> Option<Value> + 'static,
N: Into<&'a str>,
[src]Same as connect_local
but takes a SignalId
instead of a signal name.
pub unsafe fn connect_unsafe<'a, N, F>(
&self,
signal_name: N,
after: bool,
callback: F
) -> Result<SignalHandlerId, BoolError> where
F: Fn(&[Value]) -> Option<Value>,
N: Into<&'a str>,
[src]Same as connect_unsafe
but takes a SignalId
instead of a signal name.
Emit signal by signal id.
Emit signal with details by signal id.
Emit signal by it’s name.
pub fn bind_property<'a, O, N, M>(
&'a self,
source_property: N,
target: &'a O,
target_property: M
) -> BindingBuilder<'a> where
O: ObjectType,
N: Into<&'a str>,
M: Into<&'a str>,
[src]Same as emit
but takes Value
for the arguments.
Same as emit_by_name
but takes Value
for the arguments.
Returns a SendValue
clone of self
.
impl<'a, T, C> FromValueOptional<'a> for T where
C: ValueTypeChecker<Error = ValueTypeMismatchOrNoneError>,
T: FromValue<'a, Checker = C>,
[src]