[−][src]Trait gstreamer_audio::AudioEncoderExt
Required methods
fn allocate_output_buffer(&self, size: usize) -> Result<Buffer, BoolError>
Helper function that allocates a buffer to hold an encoded audio frame
for self
's current output format.
size
size of the buffer
Returns
allocated buffer
fn get_audio_info(&self) -> Option<AudioInfo>
Returns
a AudioInfo
describing the input audio format
fn get_drainable(&self) -> bool
fn get_frame_max(&self) -> i32
Returns
currently configured maximum handled frames
fn get_frame_samples_max(&self) -> i32
Returns
currently maximum requested samples per frame
fn get_frame_samples_min(&self) -> i32
Returns
currently minimum requested samples per frame
fn get_hard_min(&self) -> bool
fn get_hard_resync(&self) -> bool
fn get_lookahead(&self) -> i32
Returns
currently configured encoder lookahead
fn get_mark_granule(&self) -> bool
Queries if the encoder will handle granule marking.
Returns
TRUE if granule marking is enabled.
MT safe.
fn get_perfect_timestamp(&self) -> bool
Queries encoder perfect timestamp behaviour.
Returns
TRUE if perfect timestamp setting enabled.
MT safe.
fn get_tolerance(&self) -> ClockTime
Queries current audio jitter tolerance threshold.
Returns
encoder audio jitter tolerance threshold.
MT safe.
fn merge_tags(&self, tags: Option<&TagList>, mode: TagMergeMode)
Sets the audio encoder tags and how they should be merged with any
upstream stream tags. This will override any tags previously-set
with AudioEncoderExt::merge_tags
.
Note that this is provided for convenience, and the subclass is not required to use this and can still do tag handling on its own.
MT safe.
tags
a gst::TagList
to merge, or NULL to unset
previously-set tags
mode
the gst::TagMergeMode
to use, usually gst::TagMergeMode::Replace
fn proxy_getcaps(&self, caps: Option<&Caps>, filter: Option<&Caps>) -> Caps
Returns caps that express caps
(or sink template caps if caps
== NULL)
restricted to channel/rate combinations supported by downstream elements
(e.g. muxers).
caps
initial caps
filter
filter caps
Returns
a gst::Caps
owned by caller
fn set_allocation_caps(&self, allocation_caps: Option<&Caps>)
Sets a caps in allocation query which are different from the set
pad's caps. Use this function before calling
AudioEncoder::negotiate
. Setting to None
the allocation
query will use the caps from the pad.
Feature: v1_10
allocation_caps
a gst::Caps
or None
fn set_drainable(&self, enabled: bool)
Configures encoder drain handling. If drainable, subclass might be handed a NULL buffer to have it return any leftover encoded data. Otherwise, it is not considered so capable and will only ever be passed real data.
MT safe.
enabled
new state
fn set_frame_max(&self, num: i32)
Sets max number of frames accepted at once (assumed minimally 1).
Requires frame_samples_min
and frame_samples_max
to be the equal.
Note: This value will be reset to 0 every time before
AudioEncoderClass.set_format
() is called.
num
number of frames
fn set_frame_samples_max(&self, num: i32)
Sets number of samples (per channel) subclass needs to be handed, at most or will be handed all available if 0.
If an exact number of samples is required, AudioEncoderExt::set_frame_samples_min
must be called with the same number.
Note: This value will be reset to 0 every time before
AudioEncoderClass.set_format
() is called.
num
number of samples per frame
fn set_frame_samples_min(&self, num: i32)
Sets number of samples (per channel) subclass needs to be handed, at least or will be handed all available if 0.
If an exact number of samples is required, AudioEncoderExt::set_frame_samples_max
must be called with the same number.
Note: This value will be reset to 0 every time before
AudioEncoderClass.set_format
() is called.
num
number of samples per frame
fn set_hard_min(&self, enabled: bool)
Configures encoder hard minimum handling. If enabled, subclass will never be handed less samples than it configured, which otherwise might occur near end-of-data handling. Instead, the leftover samples will simply be discarded.
MT safe.
enabled
new state
fn set_hard_resync(&self, enabled: bool)
fn set_headers(&self, headers: &[&Buffer])
Set the codec headers to be sent downstream whenever requested.
headers
a list of
gst::Buffer
containing the codec header
fn set_latency(&self, min: ClockTime, max: ClockTime)
fn set_lookahead(&self, num: i32)
Sets encoder lookahead (in units of input rate samples)
Note: This value will be reset to 0 every time before
AudioEncoderClass.set_format
() is called.
num
lookahead
fn set_mark_granule(&self, enabled: bool)
fn set_perfect_timestamp(&self, enabled: bool)
fn set_tolerance(&self, tolerance: ClockTime)
fn connect_property_hard_resync_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
&self,
f: F
) -> SignalHandlerId
fn connect_property_mark_granule_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
&self,
f: F
) -> SignalHandlerId
fn connect_property_perfect_timestamp_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
&self,
f: F
) -> SignalHandlerId
fn connect_property_tolerance_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
&self,
f: F
) -> SignalHandlerId
Implementors
impl<O: IsA<AudioEncoder>> AudioEncoderExt for O
[src]
fn allocate_output_buffer(&self, size: usize) -> Result<Buffer, BoolError>
[src]
fn get_audio_info(&self) -> Option<AudioInfo>
[src]
fn get_drainable(&self) -> bool
[src]
fn get_frame_max(&self) -> i32
[src]
fn get_frame_samples_max(&self) -> i32
[src]
fn get_frame_samples_min(&self) -> i32
[src]
fn get_hard_min(&self) -> bool
[src]
fn get_hard_resync(&self) -> bool
[src]
fn get_lookahead(&self) -> i32
[src]
fn get_mark_granule(&self) -> bool
[src]
fn get_perfect_timestamp(&self) -> bool
[src]
fn get_tolerance(&self) -> ClockTime
[src]
fn merge_tags(&self, tags: Option<&TagList>, mode: TagMergeMode)
[src]
fn proxy_getcaps(&self, caps: Option<&Caps>, filter: Option<&Caps>) -> Caps
[src]
fn set_allocation_caps(&self, allocation_caps: Option<&Caps>)
[src]
fn set_drainable(&self, enabled: bool)
[src]
fn set_frame_max(&self, num: i32)
[src]
fn set_frame_samples_max(&self, num: i32)
[src]
fn set_frame_samples_min(&self, num: i32)
[src]
fn set_hard_min(&self, enabled: bool)
[src]
fn set_hard_resync(&self, enabled: bool)
[src]
fn set_headers(&self, headers: &[&Buffer])
[src]
fn set_latency(&self, min: ClockTime, max: ClockTime)
[src]
fn set_lookahead(&self, num: i32)
[src]
fn set_mark_granule(&self, enabled: bool)
[src]
fn set_perfect_timestamp(&self, enabled: bool)
[src]
fn set_tolerance(&self, tolerance: ClockTime)
[src]
fn connect_property_hard_resync_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]
&self,
f: F
) -> SignalHandlerId
fn connect_property_mark_granule_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]
&self,
f: F
) -> SignalHandlerId
fn connect_property_perfect_timestamp_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]
&self,
f: F
) -> SignalHandlerId
fn connect_property_tolerance_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]
&self,
f: F
) -> SignalHandlerId