query: fix parsing of the ALLOCATION query

Add methods for parsing the caps and the need_pool boolean.
This commit is contained in:
Wim Taymans 2011-04-29 10:50:17 +02:00
parent 6ea2e71c48
commit ccfaa53fb2
3 changed files with 24 additions and 11 deletions

View file

@ -1498,19 +1498,30 @@ gst_query_new_allocation (GstCaps * caps, gboolean need_pool)
return query; return query;
} }
void
gst_query_parse_allocation (GstQuery * query, GstCaps ** caps,
gboolean * need_pool)
{
g_return_if_fail (GST_QUERY_TYPE (query) == GST_QUERY_ALLOCATION);
gst_structure_id_get (query->structure,
GST_QUARK (CAPS), GST_TYPE_CAPS, caps,
GST_QUARK (NEED_POOL), G_TYPE_BOOLEAN, need_pool, NULL);
}
/** /**
* gst_query_set_allocation * gst_query_set_allocation_params
* @query: A valid #GstQuery of type GST_QUERY_ALLOCATION. * @query: A valid #GstQuery of type GST_QUERY_ALLOCATION.
* @alignment: the alignment * @alignment: the alignment
* @prefix: the prefix * @prefix: the prefix
* @size: the size * @size: the size
* @pool: the #GstBufferPool * @pool: the #GstBufferPool
* *
* Set the allocation properties in @query. * Set the allocation parameters in @query.
*/ */
void void
gst_query_set_allocation (GstQuery * query, guint alignment, guint prefix, gst_query_set_allocation_params (GstQuery * query, guint alignment,
guint size, GstBufferPool * pool) guint prefix, guint size, GstBufferPool * pool)
{ {
g_return_if_fail (GST_QUERY_TYPE (query) == GST_QUERY_ALLOCATION); g_return_if_fail (GST_QUERY_TYPE (query) == GST_QUERY_ALLOCATION);
@ -1522,18 +1533,18 @@ gst_query_set_allocation (GstQuery * query, guint alignment, guint prefix,
} }
/** /**
* gst_query_parse_allocation * gst_query_parse_allocation_params
* @query: A valid #GstQuery of type GST_QUERY_ALLOCATION. * @query: A valid #GstQuery of type GST_QUERY_ALLOCATION.
* @alignment: the alignment * @alignment: the alignment
* @prefix: the prefix * @prefix: the prefix
* @size: the size * @size: the size
* @pool: the #GstBufferPool * @pool: the #GstBufferPool
* *
* Get the allocation properties in @query. * Get the allocation parameters in @query.
*/ */
void void
gst_query_parse_allocation (GstQuery * query, guint * alignment, guint * prefix, gst_query_parse_allocation_params (GstQuery * query, guint * alignment,
guint * size, GstBufferPool ** pool) guint * prefix, guint * size, GstBufferPool ** pool)
{ {
g_return_if_fail (GST_QUERY_TYPE (query) == GST_QUERY_ALLOCATION); g_return_if_fail (GST_QUERY_TYPE (query) == GST_QUERY_ALLOCATION);

View file

@ -330,10 +330,11 @@ void gst_query_set_uri (GstQuery *query, const gchar
/* allocation query */ /* allocation query */
GstQuery * gst_query_new_allocation (GstCaps *caps, gboolean need_pool); GstQuery * gst_query_new_allocation (GstCaps *caps, gboolean need_pool);
void gst_query_parse_allocation (GstQuery *query, GstCaps **caps, gboolean *need_pool);
void gst_query_set_allocation (GstQuery *query, guint alignment, guint prefix, void gst_query_set_allocation_params (GstQuery *query, guint alignment, guint prefix,
guint size, GstBufferPool *pool); guint size, GstBufferPool *pool);
void gst_query_parse_allocation (GstQuery *query, guint *alignment, guint *prefix, void gst_query_parse_allocation_params (GstQuery *query, guint *alignment, guint *prefix,
guint *size, GstBufferPool **pool); guint *size, GstBufferPool **pool);
void gst_query_add_allocation_meta (GstQuery *query, const gchar *api); void gst_query_add_allocation_meta (GstQuery *query, const gchar *api);

View file

@ -846,6 +846,7 @@ EXPORTS
gst_query_new_uri gst_query_new_uri
gst_query_parse_allocation gst_query_parse_allocation
gst_query_parse_allocation_meta gst_query_parse_allocation_meta
gst_query_parse_allocation_params
gst_query_parse_buffering_percent gst_query_parse_buffering_percent
gst_query_parse_buffering_range gst_query_parse_buffering_range
gst_query_parse_buffering_stats gst_query_parse_buffering_stats
@ -859,7 +860,7 @@ EXPORTS
gst_query_parse_seeking gst_query_parse_seeking
gst_query_parse_segment gst_query_parse_segment
gst_query_parse_uri gst_query_parse_uri
gst_query_set_allocation gst_query_set_allocation_params
gst_query_set_buffering_percent gst_query_set_buffering_percent
gst_query_set_buffering_range gst_query_set_buffering_range
gst_query_set_buffering_stats gst_query_set_buffering_stats