FFmpeg
Public Attributes | List of all members
AVFilterPad Struct Reference

A filter pad used for either input or output. More...

#include <internal.h>

Public Attributes

const char * name
 Pad name. More...
 
enum AVMediaType type
 AVFilterPad type.
 
AVFrame *(* get_video_buffer )(AVFilterLink *link, int w, int h)
 Callback function to get a video buffer. More...
 
AVFrame *(* get_audio_buffer )(AVFilterLink *link, int nb_samples)
 Callback function to get an audio buffer. More...
 
int(* filter_frame )(AVFilterLink *link, AVFrame *frame)
 Filtering callback. More...
 
int(* poll_frame )(AVFilterLink *link)
 Frame poll callback. More...
 
int(* request_frame )(AVFilterLink *link)
 Frame request callback. More...
 
int(* config_props )(AVFilterLink *link)
 Link configuration callback. More...
 
int needs_fifo
 The filter expects a fifo to be inserted on its input link, typically because it has a delay. More...
 
int needs_writable
 The filter expects writable frames from its input link, duplicating data buffers if needed. More...
 

Detailed Description

A filter pad used for either input or output.

Member Data Documentation

§ config_props

int(* AVFilterPad::config_props) (AVFilterLink *link)

Link configuration callback.

For output pads, this should set the link properties such as width/height. This should NOT set the format property - that is negotiated between filters by the filter system using the query_formats() callback before this function is called.

For input pads, this should check the properties of the link, and update the filter's internal state as necessary.

For both input and output filters, this should return zero on success, and another value on error.

§ filter_frame

int(* AVFilterPad::filter_frame) (AVFilterLink *link, AVFrame *frame)

Filtering callback.

This is where a filter receives a frame with audio/video data and should do its processing.

Input pads only.

Returns
>= 0 on success, a negative AVERROR on error. This function must ensure that frame is properly unreferenced on error if it hasn't been passed on to another filter.

§ get_audio_buffer

AVFrame*(* AVFilterPad::get_audio_buffer) (AVFilterLink *link, int nb_samples)

Callback function to get an audio buffer.

If NULL, the filter system will use ff_default_get_audio_buffer().

Input audio pads only.

§ get_video_buffer

AVFrame*(* AVFilterPad::get_video_buffer) (AVFilterLink *link, int w, int h)

Callback function to get a video buffer.

If NULL, the filter system will use ff_default_get_video_buffer().

Input video pads only.

§ name

const char* AVFilterPad::name

Pad name.

The name is unique among inputs and among outputs, but an input may have the same name as an output. This may be NULL if this pad has no need to ever be referenced by name.

§ needs_fifo

int AVFilterPad::needs_fifo

The filter expects a fifo to be inserted on its input link, typically because it has a delay.

input pads only.

§ needs_writable

int AVFilterPad::needs_writable

The filter expects writable frames from its input link, duplicating data buffers if needed.

input pads only.

§ poll_frame

int(* AVFilterPad::poll_frame) (AVFilterLink *link)

Frame poll callback.

This returns the number of immediately available samples. It should return a positive value if the next request_frame() is guaranteed to return one frame (with no delay).

Defaults to just calling the source poll_frame() method.

Output pads only.

§ request_frame

int(* AVFilterPad::request_frame) (AVFilterLink *link)

Frame request callback.

A call to this should result in some progress towards producing output over the given link. This should return zero on success, and another value on error.

Output pads only.


The documentation for this struct was generated from the following file: