[][src]Trait gstreamer_audio::prelude::AudioEncoderExt

pub trait AudioEncoderExt: 'static {
    fn allocate_output_buffer(&self, size: usize) -> Result<Buffer, BoolError>;
fn get_audio_info(&self) -> Option<AudioInfo>;
fn get_drainable(&self) -> bool;
fn get_frame_max(&self) -> i32;
fn get_frame_samples_max(&self) -> i32;
fn get_frame_samples_min(&self) -> i32;
fn get_hard_min(&self) -> bool;
fn get_hard_resync(&self) -> bool;
fn get_lookahead(&self) -> i32;
fn get_mark_granule(&self) -> bool;
fn get_perfect_timestamp(&self) -> bool;
fn get_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_frame_max(&self, num: i32);
fn set_frame_samples_max(&self, num: i32);
fn set_frame_samples_min(&self, num: i32);
fn set_hard_min(&self, enabled: bool);
fn set_hard_resync(&self, enabled: bool);
fn set_headers(&self, headers: &[&Buffer]);
fn set_latency(&self, min: ClockTime, max: ClockTime);
fn set_lookahead(&self, num: i32);
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;
fn connect_property_mark_granule_notify<F: Fn(&Self) + Send + Sync + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
fn connect_property_perfect_timestamp_notify<F: Fn(&Self) + Send + Sync + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
fn connect_property_tolerance_notify<F: Fn(&Self) + Send + Sync + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId; }

Trait containing all AudioEncoder methods.

Implementors

AudioEncoder

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

Queries encoder drain handling.

Returns

TRUE if drainable handling is enabled.

MT safe.

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

Queries encoder hard minimum handling.

Returns

TRUE if hard minimum handling is enabled.

MT safe.

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)

Sets encoder latency.

min

minimum latency

max

maximum latency

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)

Enable or disable encoder granule handling.

MT safe.

enabled

new state

fn set_perfect_timestamp(&self, enabled: bool)

Enable or disable encoder perfect output timestamp preference.

MT safe.

enabled

new state

fn set_tolerance(&self, tolerance: ClockTime)

Configures encoder audio jitter tolerance threshold.

MT safe.

tolerance

new tolerance

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

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

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

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

Loading content...

Implementors

impl<O: IsA<AudioEncoder>> AudioEncoderExt for O[src]

Loading content...