libavfilter/avfiltergraph.c File Reference

#include <ctype.h>
#include <string.h>
#include "libavutil/audioconvert.h"
#include "avfilter.h"
#include "avfiltergraph.h"
#include "internal.h"

Go to the source code of this file.

Functions

AVFilterGraphavfilter_graph_alloc (void)
 Allocate a filter graph.
void avfilter_graph_free (AVFilterGraph **graph)
 Free a graph, destroy its links, and set *graph to NULL.
int avfilter_graph_add_filter (AVFilterGraph *graph, AVFilterContext *filter)
 Add an existing filter instance to a filter graph.
int avfilter_graph_create_filter (AVFilterContext **filt_ctx, AVFilter *filt, const char *name, const char *args, void *opaque, AVFilterGraph *graph_ctx)
 Create and add a filter instance into an existing graph.
int ff_avfilter_graph_check_validity (AVFilterGraph *graph, AVClass *log_ctx)
 Check for the validity of graph.
int ff_avfilter_graph_config_links (AVFilterGraph *graph, AVClass *log_ctx)
 Configure all the links of graphctx.
AVFilterContextavfilter_graph_get_filter (AVFilterGraph *graph, char *name)
 Get a filter instance with name name from graph.
static int insert_conv_filter (AVFilterGraph *graph, AVFilterLink *link, const char *filt_name, const char *filt_args)
static int query_formats (AVFilterGraph *graph, AVClass *log_ctx)
static void pick_format (AVFilterLink *link)
static void pick_formats (AVFilterGraph *graph)
int ff_avfilter_graph_config_formats (AVFilterGraph *graph, AVClass *log_ctx)
 Configure the formats of all the links in the graph.
int avfilter_graph_config (AVFilterGraph *graphctx, void *log_ctx)
 Check validity and configure all the links and formats in the graph.
int avfilter_graph_send_command (AVFilterGraph *graph, const char *target, const char *cmd, const char *arg, char *res, int res_len, int flags)
 Send a command to one or more filter instances.
int avfilter_graph_queue_command (AVFilterGraph *graph, const char *target, const char *command, const char *arg, int flags, double ts)
 Queue a command for one or more filter instances.


Function Documentation

int avfilter_graph_add_filter ( AVFilterGraph graphctx,
AVFilterContext filter 
)

Add an existing filter instance to a filter graph.

Parameters:
graphctx the filter graph
filter the filter to be added

Definition at line 47 of file avfiltergraph.c.

Referenced by avfilter_graph_create_filter(), and create_filter().

AVFilterGraph* avfilter_graph_alloc ( void   ) 

Allocate a filter graph.

Definition at line 31 of file avfiltergraph.c.

Referenced by init_filters(), lavfi_read_header(), and video_thread().

int avfilter_graph_config ( AVFilterGraph graphctx,
void *  log_ctx 
)

Check validity and configure all the links and formats in the graph.

Parameters:
graphctx the filter graph
log_ctx context used for logging
Returns:
0 in case of success, a negative AVERROR code otherwise

Definition at line 288 of file avfiltergraph.c.

Referenced by init_filters(), lavfi_read_header(), and main().

int avfilter_graph_create_filter ( AVFilterContext **  filt_ctx,
AVFilter filt,
const char *  name,
const char *  args,
void *  opaque,
AVFilterGraph graph_ctx 
)

Create and add a filter instance into an existing graph.

The filter instance is created from the filter filt and inited with the parameters args and opaque.

In case of success put in *filt_ctx the pointer to the created filter instance, otherwise set *filt_ctx to NULL.

Parameters:
name the instance name to give to the created filter instance
graph_ctx the filter graph
Returns:
a negative AVERROR error code in case of failure, a non negative value otherwise

Definition at line 60 of file avfiltergraph.c.

Referenced by init_filters(), insert_conv_filter(), and lavfi_read_header().

void avfilter_graph_free ( AVFilterGraph **  graph  ) 

Free a graph, destroy its links, and set *graph to NULL.

If *graph is NULL, do nothing.

Definition at line 36 of file avfiltergraph.c.

Referenced by do_video_resample(), lavfi_read_close(), main(), transcode(), and video_thread().

AVFilterContext* avfilter_graph_get_filter ( AVFilterGraph graph,
char *  name 
)

Get a filter instance with name name from graph.

Returns:
the pointer to the found filter instance or NULL if it cannot be found.

Definition at line 128 of file avfiltergraph.c.

int avfilter_graph_queue_command ( AVFilterGraph graph,
const char *  target,
const char *  cmd,
const char *  arg,
int  flags,
double  ts 
)

Queue a command for one or more filter instances.

Parameters:
graph the filter graph
target the filter(s) to which the command should be sent "all" sends to all filters otherwise it can be a filter or filter instance name which will send the command to all matching filters.
cmd the command to sent, for handling simplicity all commands must be alphanummeric only
arg the argument for the command
ts time at which the command should be sent to the filter
Note:
As this executes commands after this function returns, no return code from the filter is provided, also AVFILTER_CMD_FLAG_ONE is not supported.

Definition at line 332 of file avfiltergraph.c.

Referenced by transcode().

int avfilter_graph_send_command ( AVFilterGraph graph,
const char *  target,
const char *  cmd,
const char *  arg,
char *  res,
int  res_len,
int  flags 
)

Send a command to one or more filter instances.

Parameters:
graph the filter graph
target the filter(s) to which the command should be sent "all" sends to all filters otherwise it can be a filter or filter instance name which will send the command to all matching filters.
cmd the command to sent, for handling simplicity all commands must be alphanumeric only
arg the argument for the command
res a buffer with size res_size where the filter(s) can return a response.
Returns:
>=0 on success otherwise an error code. AVERROR(ENOSYS) on unsupported commands

Definition at line 302 of file avfiltergraph.c.

Referenced by avfilter_graph_send_command(), and transcode().

int ff_avfilter_graph_check_validity ( AVFilterGraph graphctx,
AVClass log_ctx 
)

Check for the validity of graph.

A graph is considered valid if all its input and output pads are connected.

Returns:
0 in case of success, a negative value otherwise

Definition at line 81 of file avfiltergraph.c.

Referenced by avfilter_graph_config().

int ff_avfilter_graph_config_formats ( AVFilterGraph graph,
AVClass log_ctx 
)

Configure the formats of all the links in the graph.

Definition at line 273 of file avfiltergraph.c.

Referenced by avfilter_graph_config().

int ff_avfilter_graph_config_links ( AVFilterGraph graphctx,
AVClass log_ctx 
)

Configure all the links of graphctx.

Returns:
0 in case of success, a negative value otherwise

Definition at line 111 of file avfiltergraph.c.

Referenced by avfilter_graph_config().

static int insert_conv_filter ( AVFilterGraph graph,
AVFilterLink link,
const char *  filt_name,
const char *  filt_args 
) [static]

Definition at line 139 of file avfiltergraph.c.

Referenced by query_formats().

static void pick_format ( AVFilterLink link  )  [static]

Definition at line 236 of file avfiltergraph.c.

Referenced by pick_formats().

static void pick_formats ( AVFilterGraph graph  )  [static]

Definition at line 259 of file avfiltergraph.c.

Referenced by ff_avfilter_graph_config_formats().

static int query_formats ( AVFilterGraph graph,
AVClass log_ctx 
) [static]

Definition at line 186 of file avfiltergraph.c.


Generated on Fri Oct 26 02:43:51 2012 for FFmpeg by  doxygen 1.5.8