Added syntax to make filtered connections like: osssrc src\!audio/raw, channels=int...
[platform/upstream/gstreamer.git] / gst / parse / types.h
1 #include <glib-object.h>
2 #include "../gstelement.h"
3
4 typedef struct {
5     gchar *type;
6     gint index;
7     GList *property_values;
8     GstElement *element;
9 } element_t;
10
11 typedef struct {
12     gchar *name;
13     GValue *value;
14 } property_t;
15
16 typedef struct {
17     /* if the names are present, upon connection we'll search out the pads of the
18        proper name and use those. otherwise, we'll search for elements of src_index
19        and sink_index. */
20     char *src_name;
21     char *sink_name;
22     int src_index;
23     int sink_index;
24     GList *src_pads;
25     GList *sink_pads;
26     GstCaps *caps;
27 } connection_t;
28
29 typedef struct _graph_t graph_t;
30
31 struct _graph_t {
32     element_t *first;
33     element_t *current;
34     graph_t *parent;
35     gchar *current_bin_type;
36     GList *elements;
37     GList *connections;
38     GList *connections_pending;
39     GList *bins;
40     GstElement *bin;
41 };
42
43 graph_t * _gst_parse_launch (const gchar *str, GError **error);
44
45 gchar *_gst_parse_escape (const gchar *str);
46 void _gst_parse_unescape (gchar *str);