Trait gstreamer_audio::prelude::AudioDecoderExt[][src]

pub trait AudioDecoderExt: 'static {
Show methods fn allocate_output_buffer(&self, size: usize) -> Result<Buffer, BoolError>;
fn audio_info(&self) -> Option<AudioInfo>;
fn delay(&self) -> i32;
fn is_drainable(&self) -> bool;
fn estimate_rate(&self) -> i32;
fn latency(&self) -> (ClockTime, ClockTime);
fn max_errors(&self) -> i32;
fn min_latency(&self) -> ClockTime;
fn needs_format(&self) -> bool;
fn parse_state(&self) -> (bool, bool);
fn is_plc(&self) -> bool;
fn plc_aware(&self) -> i32;
fn tolerance(&self) -> ClockTime;
fn merge_tags(&self, tags: Option<&TagList>, mode: TagMergeMode);
fn proxy_getcaps(&self, caps: Option<&Caps>, filter: Option<&Caps>) -> Caps;
fn set_allocation_caps(&self, allocation_caps: Option<&Caps>);
fn set_drainable(&self, enabled: bool);
fn set_estimate_rate(&self, enabled: bool);
fn set_latency(&self, min: ClockTime, max: ClockTime);
fn set_max_errors(&self, num: i32);
fn set_min_latency(&self, num: ClockTime);
fn set_needs_format(&self, enabled: bool);
fn set_plc(&self, enabled: bool);
fn set_plc_aware(&self, plc: bool);
fn set_tolerance(&self, tolerance: ClockTime);
fn set_use_default_pad_acceptcaps(&self, use_: bool);
fn connect_max_errors_notify<F: Fn(&Self) + Send + Sync + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
fn connect_min_latency_notify<F: Fn(&Self) + Send + Sync + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
fn connect_plc_notify<F: Fn(&Self) + Send + Sync + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
fn connect_tolerance_notify<F: Fn(&Self) + Send + Sync + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
}

Trait containing all AudioDecoder methods.

Implementors

crate::AudioDecoder

Required methods

fn allocate_output_buffer(&self, size: usize) -> Result<Buffer, BoolError>[src]

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 audio_info(&self) -> Option<AudioInfo>[src]

Returns

a crate::AudioInfo describing the input audio format

fn delay(&self) -> i32[src]

Returns

currently configured decoder delay

fn is_drainable(&self) -> bool[src]

Queries decoder drain handling.

Returns

TRUE if drainable handling is enabled.

MT safe.

fn estimate_rate(&self) -> i32[src]

Returns

currently configured byte to time conversion setting

fn latency(&self) -> (ClockTime, ClockTime)[src]

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 max_errors(&self) -> i32[src]

Returns

currently configured decoder tolerated error count.

fn min_latency(&self) -> ClockTime[src]

Queries decoder’s latency aggregation.

Returns

aggregation latency.

MT safe.

fn needs_format(&self) -> bool[src]

Queries decoder required format handling.

Returns

TRUE if required format handling is enabled.

MT safe.

fn parse_state(&self) -> (bool, bool)[src]

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 is_plc(&self) -> bool[src]

Queries decoder packet loss concealment handling.

Returns

TRUE if packet loss concealment is enabled.

MT safe.

fn plc_aware(&self) -> i32[src]

Returns

currently configured plc handling

fn tolerance(&self) -> ClockTime[src]

Queries current audio jitter tolerance threshold.

Returns

decoder audio jitter tolerance threshold.

MT safe.

fn merge_tags(&self, tags: Option<&TagList>, mode: TagMergeMode)[src]

Sets the audio decoder tags and how they should be merged with any upstream stream tags. This will override any tags previously-set with Self::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 crate::gst::TagList to merge, or NULL

mode

the crate::gst::TagMergeMode to use, usually crate::gst::TagMergeMode::Replace

fn proxy_getcaps(&self, caps: Option<&Caps>, filter: Option<&Caps>) -> Caps[src]

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 crate::gst::Caps owned by caller

fn set_allocation_caps(&self, allocation_caps: Option<&Caps>)[src]

This is supported on crate feature v1_10 only.

Sets a caps in allocation query which are different from the set pad’s caps. Use this function before calling [crate::AudioDecoder::negotiate()]. Setting to None the allocation query will use the caps from the pad.

allocation_caps

a crate::gst::Caps or None

fn set_drainable(&self, enabled: bool)[src]

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)[src]

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)[src]

Sets decoder latency.

min

minimum latency

max

maximum latency

fn set_max_errors(&self, num: i32)[src]

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)[src]

Sets decoder minimum aggregation latency.

MT safe.

num

new minimum latency

fn set_needs_format(&self, enabled: bool)[src]

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)[src]

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)[src]

Indicates whether or not subclass handles packet loss concealment (plc).

plc

new plc state

fn set_tolerance(&self, tolerance: ClockTime)[src]

Configures decoder audio jitter tolerance threshold.

MT safe.

tolerance

new tolerance

fn set_use_default_pad_acceptcaps(&self, use_: bool)[src]

Lets crate::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_max_errors_notify<F: Fn(&Self) + Send + Sync + 'static>(
    &self,
    f: F
) -> SignalHandlerId
[src]

This is supported on crate feature v1_18 only.

fn connect_min_latency_notify<F: Fn(&Self) + Send + Sync + 'static>(
    &self,
    f: F
) -> SignalHandlerId
[src]

fn connect_plc_notify<F: Fn(&Self) + Send + Sync + 'static>(
    &self,
    f: F
) -> SignalHandlerId
[src]

fn connect_tolerance_notify<F: Fn(&Self) + Send + Sync + 'static>(
    &self,
    f: F
) -> SignalHandlerId
[src]

Loading content...

Implementors

impl<O: IsA<AudioDecoder>> AudioDecoderExt for O[src]

fn allocate_output_buffer(&self, size: usize) -> Result<Buffer, BoolError>[src]

fn audio_info(&self) -> Option<AudioInfo>[src]

fn delay(&self) -> i32[src]

fn is_drainable(&self) -> bool[src]

fn estimate_rate(&self) -> i32[src]

fn latency(&self) -> (ClockTime, ClockTime)[src]

fn max_errors(&self) -> i32[src]

fn min_latency(&self) -> ClockTime[src]

fn needs_format(&self) -> bool[src]

fn parse_state(&self) -> (bool, bool)[src]

fn is_plc(&self) -> bool[src]

fn plc_aware(&self) -> i32[src]

fn 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]

This is supported on crate feature v1_10 only.

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_max_errors_notify<F: Fn(&Self) + Send + Sync + 'static>(
    &self,
    f: F
) -> SignalHandlerId
[src]

This is supported on crate feature v1_18 only.

fn connect_min_latency_notify<F: Fn(&Self) + Send + Sync + 'static>(
    &self,
    f: F
) -> SignalHandlerId
[src]

fn connect_plc_notify<F: Fn(&Self) + Send + Sync + 'static>(
    &self,
    f: F
) -> SignalHandlerId
[src]

fn connect_tolerance_notify<F: Fn(&Self) + Send + Sync + 'static>(
    &self,
    f: F
) -> SignalHandlerId
[src]

Loading content...