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

pub trait AudioEncoderExt: 'static {
Show methods fn allocate_output_buffer(&self, size: usize) -> Result<Buffer, BoolError>;
fn audio_info(&self) -> Option<AudioInfo>;
fn is_drainable(&self) -> bool;
fn frame_max(&self) -> i32;
fn frame_samples_max(&self) -> i32;
fn frame_samples_min(&self) -> i32;
fn is_hard_min(&self) -> bool;
fn is_hard_resync(&self) -> bool;
fn latency(&self) -> (ClockTime, Option<ClockTime>);
fn lookahead(&self) -> i32;
fn is_mark_granule(&self) -> bool;
fn is_perfect_timestamp(&self) -> bool;
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_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: impl Into<Option<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_hard_resync_notify<F: Fn(&Self) + Send + Sync + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
fn connect_mark_granule_notify<F: Fn(&Self) + Send + Sync + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
fn connect_perfect_timestamp_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;
}
Expand description

Trait containing all AudioEncoder methods.

Implementors

AudioEncoder

Required methods

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

Returns

a AudioInfo describing the input audio format

Queries encoder drain handling.

Returns

TRUE if drainable handling is enabled.

MT safe.

Returns

currently configured maximum handled frames

Returns

currently maximum requested samples per frame

Returns

currently minimum requested samples per frame

Queries encoder hard minimum handling.

Returns

TRUE if hard minimum handling is enabled.

MT safe.

Sets the variables pointed to by min and max to the currently configured latency.

Returns

min

a pointer to storage to hold minimum latency

max

a pointer to storage to hold maximum latency

Returns

currently configured encoder lookahead

Queries if the encoder will handle granule marking.

Returns

TRUE if granule marking is enabled.

MT safe.

Queries encoder perfect timestamp behaviour.

Returns

TRUE if perfect timestamp setting enabled.

MT safe.

Queries current audio jitter tolerance threshold.

Returns

encoder audio jitter tolerance threshold.

MT safe.

Sets the audio encoder tags and how they should be merged with any upstream stream tags. This will override any tags previously-set with 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

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

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 AudioEncoderExtManual::negotiate(). Setting to None the allocation query will use the caps from the pad.

allocation_caps

a gst::Caps or None

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

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 GstAudioEncoderClass.set_format() is called.

num

number of frames

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, set_frame_samples_min() must be called with the same number.

Note: This value will be reset to 0 every time before GstAudioEncoderClass.set_format() is called.

num

number of samples per frame

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, set_frame_samples_max() must be called with the same number.

Note: This value will be reset to 0 every time before GstAudioEncoderClass.set_format() is called.

num

number of samples per frame

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

Set the codec headers to be sent downstream whenever requested.

headers

a list of gst::Buffer containing the codec header

Sets encoder latency.

min

minimum latency

max

maximum latency

Implementors

This is supported on crate feature v1_10 only.