#include #include "../gstelement.h" typedef struct { gchar *type; gint index; GList *property_values; GstElement *element; } element_t; typedef struct { gchar *name; GValue *value; } property_t; typedef struct { /* if the names are present, upon link we'll search out the pads of the proper name and use those. otherwise, we'll search for elements of src_index and sink_index. */ char *src_name; char *sink_name; int src_index; int sink_index; GList *src_pads; GList *sink_pads; GstCaps *caps; } link_t; typedef struct _graph_t graph_t; struct _graph_t { element_t *first; element_t *current; graph_t *parent; gchar *current_bin_type; GList *elements; GList *links; GList *links_pending; GList *bins; GstElement *bin; }; graph_t * _gst_parse_launch (const gchar *str, GError **error); gchar *_gst_parse_escape (const gchar *str); void _gst_parse_unescape (gchar *str);