Trait gstreamer_base::prelude::BaseParseExt[][src]

pub trait BaseParseExt: 'static {
Show methods fn add_index_entry(
        &self,
        offset: u64,
        ts: ClockTime,
        key: bool,
        force: bool
    ) -> bool;
fn drain(&self);
fn merge_tags(&self, tags: Option<&TagList>, mode: TagMergeMode);
fn set_average_bitrate(&self, bitrate: u32);
fn set_has_timing_info(&self, has_timing: bool);
fn set_infer_ts(&self, infer_ts: bool);
fn set_latency(
        &self,
        min_latency: ClockTime,
        max_latency: impl Into<Option<ClockTime>>
    );
fn set_min_frame_size(&self, min_size: u32);
fn set_passthrough(&self, passthrough: bool);
fn set_pts_interpolation(&self, pts_interpolate: bool);
fn set_syncable(&self, syncable: bool);
fn set_ts_at_offset(&self, offset: usize);
fn is_disable_passthrough(&self) -> bool;
fn set_disable_passthrough(&self, disable_passthrough: bool);
fn connect_disable_passthrough_notify<F: Fn(&Self) + Send + Sync + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
}
Expand description

Trait containing all BaseParse methods.

Implementors

BaseParse

Required methods

fn add_index_entry(
    &self,
    offset: u64,
    ts: ClockTime,
    key: bool,
    force: bool
) -> bool
[src]

Adds an entry to the index associating offset to ts. It is recommended to only add keyframe entries. force allows to bypass checks, such as whether the stream is (upstream) seekable, another entry is already “close” to the new entry, etc.

offset

offset of entry

ts

timestamp associated with offset

key

whether entry refers to keyframe

force

add entry disregarding sanity checks

Returns

gboolean indicating whether entry was added

This is supported on crate feature v1_12 only.

Drains the adapter until it is empty. It decreases the min_frame_size to match the current adapter size and calls chain method until the adapter is emptied or chain returns with error.

Sets the parser subclass’s 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.

tags

a gst::TagList to merge, or NULL to unset previously-set tags

mode

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

Optionally sets the average bitrate detected in media (if non-zero), e.g. based on metadata, as it will be posted to the application.

By default, announced average bitrate is estimated. The average bitrate is used to estimate the total duration of the stream and to estimate a seek position, if there’s no index and the format is syncable (see set_syncable()).

bitrate

average bitrate in bits/second

Set if frames carry timing information which the subclass can (generally) parse and provide. In particular, intrinsic (rather than estimated) time can be obtained following a seek.

has_timing

whether frames carry timing information

By default, the base class might try to infer PTS from DTS and vice versa. While this is generally correct for audio data, it may not be otherwise. Sub-classes implementing such formats should disable timestamp inferring.

infer_ts

true if parser should infer DTS/PTS from each other

Sets the minimum and maximum (which may likely be equal) latency introduced by the parsing process. If there is such a latency, which depends on the particular parsing of the format, it typically corresponds to 1 frame duration.

min_latency

minimum parse latency

max_latency

maximum parse latency

Implementors

fn add_index_entry(
    &self,
    offset: u64,
    ts: ClockTime,
    key: bool,
    force: bool
) -> bool
[src]
This is supported on crate feature v1_12 only.