diff options
author | Wim Taymans <wim.taymans@collabora.co.uk> | 2011-11-18 17:27:16 +0100 |
---|---|---|
committer | Wim Taymans <wim.taymans@collabora.co.uk> | 2011-11-18 17:27:16 +0100 |
commit | 770159fb1ca388b11f2905fd0af58ec66387a4a0 (patch) | |
tree | d05d835927a35a286228b2b220bb8099f6859c04 /gst/gstquery.h | |
parent | 016d404ccf6a697df97b51f7929cd210535eb95b (diff) |
query: improve scheduling query
Turns some boolean arguments in the scheduling query to flags, which are easier
to extend and makes the code easier to read.
Make extra methods for configuring and querying the supported scheduling modes.
This should make it easier to add new modes later.
Diffstat (limited to 'gst/gstquery.h')
-rw-r--r-- | gst/gstquery.h | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/gst/gstquery.h b/gst/gstquery.h index 9416169e76..7895861bab 100644 --- a/gst/gstquery.h +++ b/gst/gstquery.h @@ -374,14 +374,30 @@ guint gst_query_get_n_allocation_memories (GstQuery *query); const gchar * gst_query_parse_nth_allocation_memory (GstQuery *query, guint index); /* scheduling query */ +/** + * GstSchedulingFlags: + * @GST_SCHEDULING_FLAG_SEEKABLE: if seeking is possible + * @GST_SCHEDULING_FLAG_SEQUENTIAL: if sequential access is recommended + * + * The different scheduling flags. + */ +typedef enum { + GST_SCHEDULING_FLAG_SEEKABLE = (1 << 0), + GST_SCHEDULING_FLAG_SEQUENTIAL = (1 << 1) +} GstSchedulingFlags; + GstQuery * gst_query_new_scheduling (void); -void gst_query_set_scheduling (GstQuery *query, gboolean pull_mode, - gboolean random_access, gboolean sequential, +void gst_query_set_scheduling (GstQuery *query, GstSchedulingFlags flags, gint minsize, gint maxsize, gint align); -void gst_query_parse_scheduling (GstQuery *query, gboolean *pull_mode, - gboolean *random_access, gboolean *sequential, +void gst_query_parse_scheduling (GstQuery *query, GstSchedulingFlags *flags, gint *minsize, gint *maxsize, gint *align); + +void gst_query_add_scheduling_mode (GstQuery *query, GstPadMode mode); +guint gst_query_get_n_scheduling_modes (GstQuery *query); +GstPadMode gst_query_parse_nth_scheduling_mode (GstQuery *query, guint index); +gboolean gst_query_has_scheduling_mode (GstQuery *query, GstPadMode mode); + /* accept-caps query */ GstQuery * gst_query_new_accept_caps (GstCaps *caps); void gst_query_parse_accept_caps (GstQuery *query, GstCaps **caps); |