[−][src]Trait gstreamer_audio::AudioDecoderExt
Required methods
fn allocate_output_buffer(&self, size: usize) -> Result<Buffer, BoolError>
Helper function that allocates a buffer to hold an 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_delay(&self) -> i32
Returns
currently configured decoder delay
fn get_drainable(&self) -> bool
fn get_estimate_rate(&self) -> i32
Returns
currently configured byte to time conversion setting
fn get_latency(&self) -> (ClockTime, ClockTime)
Sets the variables pointed to by min
and max
to the currently configured
latency.
min
a pointer to storage to hold minimum latency
max
a pointer to storage to hold maximum latency
fn get_max_errors(&self) -> i32
Returns
currently configured decoder tolerated error count.
fn get_min_latency(&self) -> ClockTime
fn get_needs_format(&self) -> bool
Queries decoder required format handling.
Returns
TRUE if required format handling is enabled.
MT safe.
fn get_parse_state(&self) -> (bool, bool)
Return current parsing (sync and eos) state.
sync
a pointer to a variable to hold the current sync state
eos
a pointer to a variable to hold the current eos state
fn get_plc(&self) -> bool
Queries decoder packet loss concealment handling.
Returns
TRUE if packet loss concealment is enabled.
MT safe.
fn get_plc_aware(&self) -> i32
Returns
currently configured plc handling
fn get_tolerance(&self) -> ClockTime
Queries current audio jitter tolerance threshold.
Returns
decoder audio jitter tolerance threshold.
MT safe.
fn merge_tags(&self, tags: Option<&TagList>, mode: TagMergeMode)
Sets the audio decoder tags and how they should be merged with any
upstream stream tags. This will override any tags previously-set
with AudioDecoderExt::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.
tags
a gst::TagList
to merge, or NULL
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 rate/channels/... combinations supported by downstream
elements.
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
AudioDecoder::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 decoder drain handling. If drainable, subclass might be handed a NULL buffer to have it return any leftover decoded data. Otherwise, it is not considered so capable and will only ever be passed real data.
MT safe.
enabled
new state
fn set_estimate_rate(&self, enabled: bool)
Allows baseclass to perform byte to time estimated conversion.
enabled
whether to enable byte to time conversion
fn set_latency(&self, min: ClockTime, max: ClockTime)
fn set_max_errors(&self, num: i32)
Sets numbers of tolerated decoder errors, where a tolerated one is then only warned about, but more than tolerated will lead to fatal error. You can set -1 for never returning fatal errors. Default is set to GST_AUDIO_DECODER_MAX_ERRORS.
num
max tolerated errors
fn set_min_latency(&self, num: ClockTime)
fn set_needs_format(&self, enabled: bool)
Configures decoder format needs. If enabled, subclass needs to be negotiated with format caps before it can process any data. It will then never be handed any data before it has been configured. Otherwise, it might be handed data without having been configured and is then expected being able to do so either by default or based on the input data.
MT safe.
enabled
new state
fn set_plc(&self, enabled: bool)
Enable or disable decoder packet loss concealment, provided subclass and codec are capable and allow handling plc.
MT safe.
enabled
new state
fn set_plc_aware(&self, plc: bool)
fn set_tolerance(&self, tolerance: ClockTime)
fn set_use_default_pad_acceptcaps(&self, use_: bool)
Lets AudioDecoder
sub-classes decide if they want the sink pad
to use the default pad query handler to reply to accept-caps queries.
By setting this to true it is possible to further customize the default
handler with GST_PAD_SET_ACCEPT_INTERSECT
and
GST_PAD_SET_ACCEPT_TEMPLATE
use_
if the default pad accept-caps query handling should be used
fn connect_property_max_errors_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
&self,
f: F
) -> SignalHandlerId
fn connect_property_min_latency_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
&self,
f: F
) -> SignalHandlerId
fn connect_property_plc_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<AudioDecoder>> AudioDecoderExt for O
[src]
fn allocate_output_buffer(&self, size: usize) -> Result<Buffer, BoolError>
[src]
fn get_audio_info(&self) -> Option<AudioInfo>
[src]
fn get_delay(&self) -> i32
[src]
fn get_drainable(&self) -> bool
[src]
fn get_estimate_rate(&self) -> i32
[src]
fn get_latency(&self) -> (ClockTime, ClockTime)
[src]
fn get_max_errors(&self) -> i32
[src]
fn get_min_latency(&self) -> ClockTime
[src]
fn get_needs_format(&self) -> bool
[src]
fn get_parse_state(&self) -> (bool, bool)
[src]
fn get_plc(&self) -> bool
[src]
fn get_plc_aware(&self) -> i32
[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_estimate_rate(&self, enabled: bool)
[src]
fn set_latency(&self, min: ClockTime, max: ClockTime)
[src]
fn set_max_errors(&self, num: i32)
[src]
fn set_min_latency(&self, num: ClockTime)
[src]
fn set_needs_format(&self, enabled: bool)
[src]
fn set_plc(&self, enabled: bool)
[src]
fn set_plc_aware(&self, plc: bool)
[src]
fn set_tolerance(&self, tolerance: ClockTime)
[src]
fn set_use_default_pad_acceptcaps(&self, use_: bool)
[src]
fn connect_property_max_errors_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]
&self,
f: F
) -> SignalHandlerId
fn connect_property_min_latency_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]
&self,
f: F
) -> SignalHandlerId
fn connect_property_plc_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