Struct AVFilterLink

Source
#[repr(C)]
pub struct AVFilterLink {
Show 31 fields pub src: *mut AVFilterContext, pub srcpad: *mut AVFilterPad, pub dst: *mut AVFilterContext, pub dstpad: *mut AVFilterPad, pub type_: AVMediaType, pub w: c_int, pub h: c_int, pub sample_aspect_ratio: AVRational, pub channel_layout: u64, pub sample_rate: c_int, pub format: c_int, pub time_base: AVRational, pub ch_layout: AVChannelLayout, pub incfg: AVFilterFormatsConfig, pub outcfg: AVFilterFormatsConfig, pub init_state: AVFilterLink__bindgen_ty_1, pub graph: *mut AVFilterGraph, pub current_pts: i64, pub current_pts_us: i64, pub age_index: c_int, pub frame_rate: AVRational, pub min_samples: c_int, pub max_samples: c_int, pub frame_count_in: i64, pub frame_count_out: i64, pub sample_count_in: i64, pub sample_count_out: i64, pub frame_pool: *mut c_void, pub frame_wanted_out: c_int, pub hw_frames_ctx: *mut AVBufferRef, pub reserved: [c_char; 61440],
}
Expand description

A link between two filters. This contains pointers to the source and destination filters between which this link exists, and the indexes of the pads involved. In addition, this link also contains the parameters which have been negotiated and agreed upon between the filter, such as image dimensions, format, etc.

Applications must not normally access the link structure directly. Use the buffersrc and buffersink API instead. In the future, access to the header may be reserved for filters implementation.

Fields§

§src: *mut AVFilterContext

< source filter

§srcpad: *mut AVFilterPad

< output pad on the source filter

§dst: *mut AVFilterContext

< dest filter

§dstpad: *mut AVFilterPad

< input pad on the dest filter

§type_: AVMediaType

< filter media type

§w: c_int

< agreed upon image width

§h: c_int

< agreed upon image height

§sample_aspect_ratio: AVRational

< agreed upon sample aspect ratio

§channel_layout: u64

channel layout of current buffer (see libavutil/channel_layout.h) @deprecated use ch_layout

§sample_rate: c_int

< samples per second

§format: c_int

< agreed upon media format

§time_base: AVRational

Define the time base used by the PTS of the frames/samples which will pass through this link. During the configuration stage, each filter is supposed to change only the output timebase, while the timebase of the input link is assumed to be an unchangeable property.

§ch_layout: AVChannelLayout

< channel layout of current buffer (see libavutil/channel_layout.h)

§incfg: AVFilterFormatsConfig

Lists of supported formats / etc. supported by the input filter.

§outcfg: AVFilterFormatsConfig

Lists of supported formats / etc. supported by the output filter.

§init_state: AVFilterLink__bindgen_ty_1§graph: *mut AVFilterGraph

Graph the filter belongs to.

§current_pts: i64

Current timestamp of the link, as defined by the most recent frame(s), in link time_base units.

§current_pts_us: i64

Current timestamp of the link, as defined by the most recent frame(s), in AV_TIME_BASE units.

§age_index: c_int

Index in the age array.

§frame_rate: AVRational

Frame rate of the stream on the link, or 1/0 if unknown or variable; if left to 0/0, will be automatically copied from the first input of the source filter if it exists.

Sources should set it to the best estimation of the real frame rate. If the source frame rate is unknown or variable, set this to 1/0. Filters should update it if necessary depending on their function. Sinks can use it to set a default output frame rate. It is similar to the r_frame_rate field in AVStream.

§min_samples: c_int

Minimum number of samples to filter at once. If filter_frame() is called with fewer samples, it will accumulate them in fifo. This field and the related ones must not be changed after filtering has started. If 0, all related fields are ignored.

§max_samples: c_int

Maximum number of samples to filter at once. If filter_frame() is called with more samples, it will split them.

§frame_count_in: i64

Number of past frames sent through the link.

§frame_count_out: i64

Number of past frames sent through the link.

§sample_count_in: i64

Number of past samples sent through the link.

§sample_count_out: i64

Number of past samples sent through the link.

§frame_pool: *mut c_void

A pointer to a FFFramePool struct.

§frame_wanted_out: c_int

True if a frame is currently wanted on the output of this filter. Set when ff_request_frame() is called by the output, cleared when a frame is filtered.

§hw_frames_ctx: *mut AVBufferRef

For hwaccel pixel formats, this should be a reference to the AVHWFramesContext describing the frames.

§reserved: [c_char; 61440]

Internal structure members. The fields below this limit are internal for libavfilter’s use and must in no way be accessed by applications.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.