[SCM] libav/experimental: Make filter graph description parsing code independent of the code to read said description from a file.

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 16:18:21 UTC 2013


The following commit has been merged in the experimental branch:
commit 16db7fe0aca9c81bb3562dbe35e5a2e541edd08d
Author: Vitor Sessak <vitor1001 at gmail.com>
Date:   Fri Apr 4 20:07:50 2008 +0000

    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

diff --git a/libavfilter/avfiltergraph.h b/libavfilter/avfiltergraph.h
index d701a3d..a96dfb8 100644
--- a/libavfilter/avfiltergraph.h
+++ b/libavfilter/avfiltergraph.h
@@ -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

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list