1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-11-21 10:55:51 +02:00

Make filter graph description parsing code independent of the code to

read said description from a file.

Commited in SoC by Bobby Bingham on 2007-12-22 17:16:21

Originally committed as revision 12714 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Vitor Sessak 2008-04-04 20:07:50 +00:00
parent 1df675bf44
commit 16db7fe0ac

View File

@ -57,6 +57,16 @@ typedef struct AVFilterGraphDescExport
struct AVFilterGraphDescExport *next;
} AVFilterGraphDescExport;
/** Sections of a filter graph description */
typedef enum
{
SEC_NONE = 0,
SEC_FILTERS,
SEC_LINKS,
SEC_INPUTS,
SEC_OUTPUTS
} AVFilterGraphDescSection;
/** Description of a graph to be loaded from a file, etc */
typedef struct
{
@ -66,6 +76,30 @@ typedef struct
AVFilterGraphDescExport *outputs; ///< outputs to export
} AVFilterGraphDesc;
typedef struct
{
AVFilterGraphDescSection section; ///< current section being parsed
AVFilterGraphDescFilter **filterp; ///< last parsed filter
AVFilterGraphDescLink **linkp; ///< last parsed link
AVFilterGraphDescExport **inputp; ///< last parsed exported input
AVFilterGraphDescExport **outputp; ///< last parsed exported output
} AVFilterGraphDescParser;
/** Parse a line of a filter graph description.
* @param desc Pointer to an AVFilterGraphDesc pointer. If *desc is NULL,
* a new AVFilterGraphDesc structure will be created for you.
* Must be the same between multiple invocations when parsing
* the same description.
* @param parser Parser state. Must be the same between multiple invocations
* when parsing the same description
* @param line Line of the graph description to parse.
* @return Zero on success, negative on error.
*/
int avfilter_graph_parse_desc(AVFilterGraphDesc **desc,
AVFilterGraphDescParser **parser,
char *line);
/**
* Load a filter graph description from a file
* @param filename Name of the file from which to load the description