plugins: fix for allocation query API change

This commit is contained in:
Wim Taymans 2011-05-02 11:11:33 +02:00
parent 16d8fb2c2f
commit abcbef287d
4 changed files with 31 additions and 23 deletions

View file

@ -394,8 +394,8 @@ gst_vis_src_negotiate (GstVisual * visual)
GstStructure *structure; GstStructure *structure;
GstCaps *caps; GstCaps *caps;
GstQuery *query; GstQuery *query;
GstBufferPool *pool = NULL; GstBufferPool *pool;
guint alignment, prefix, size; guint size, min, max, prefix, alignment;
caps = gst_pad_get_caps (visual->srcpad); caps = gst_pad_get_caps (visual->srcpad);
@ -434,12 +434,13 @@ gst_vis_src_negotiate (GstVisual * visual)
if (gst_pad_peer_query (visual->srcpad, query)) { if (gst_pad_peer_query (visual->srcpad, query)) {
/* we got configuration from our peer, parse them */ /* we got configuration from our peer, parse them */
gst_query_parse_allocation_params (query, &alignment, &prefix, &size, gst_query_parse_allocation_params (query, &size, &min, &max, &prefix,
&pool); &alignment, &pool);
} else { } else {
alignment = 0;
prefix = 0;
size = visual->outsize; size = visual->outsize;
min = max = 0;
prefix = 0;
alignment = 1;
} }
if (pool == NULL) { if (pool == NULL) {
@ -449,7 +450,8 @@ gst_vis_src_negotiate (GstVisual * visual)
pool = gst_buffer_pool_new (); pool = gst_buffer_pool_new ();
config = gst_buffer_pool_get_config (pool); config = gst_buffer_pool_get_config (pool);
gst_buffer_pool_config_set (config, caps, size, 0, 0, prefix, 0, alignment); gst_buffer_pool_config_set (config, caps, size, min, max, prefix, 0,
alignment);
gst_buffer_pool_set_config (pool, config); gst_buffer_pool_set_config (pool, config);
} }
@ -865,8 +867,8 @@ gst_visual_change_state (GstElement * element, GstStateChange transition)
switch (transition) { switch (transition) {
case GST_STATE_CHANGE_NULL_TO_READY: case GST_STATE_CHANGE_NULL_TO_READY:
visual->actor = visual->actor =
visual_actor_new (GST_VISUAL_GET_CLASS (visual)->plugin-> visual_actor_new (GST_VISUAL_GET_CLASS (visual)->plugin->info->
info->plugname); plugname);
visual->video = visual_video_new (); visual->video = visual_video_new ();
visual->audio = visual_audio_new (); visual->audio = visual_audio_new ();
/* can't have a play without actors */ /* can't have a play without actors */

View file

@ -800,7 +800,7 @@ theora_negotiate_pool (GstTheoraDec * dec, GstCaps * caps)
{ {
GstQuery *query; GstQuery *query;
GstBufferPool *pool = NULL; GstBufferPool *pool = NULL;
guint alignment, prefix, size; guint size, min, max, prefix, alignment;
/* find a pool for the negotiated caps now */ /* find a pool for the negotiated caps now */
query = gst_query_new_allocation (caps, TRUE); query = gst_query_new_allocation (caps, TRUE);
@ -808,13 +808,14 @@ theora_negotiate_pool (GstTheoraDec * dec, GstCaps * caps)
if (gst_pad_peer_query (dec->srcpad, query)) { if (gst_pad_peer_query (dec->srcpad, query)) {
GST_DEBUG_OBJECT (dec, "got downstream ALLOCATION hints"); GST_DEBUG_OBJECT (dec, "got downstream ALLOCATION hints");
/* we got configuration from our peer, parse them */ /* we got configuration from our peer, parse them */
gst_query_parse_allocation_params (query, &alignment, &prefix, &size, gst_query_parse_allocation_params (query, &size, &min, &max, &prefix,
&pool); &alignment, &pool);
} else { } else {
GST_DEBUG_OBJECT (dec, "didn't get downstream ALLOCATION hints"); GST_DEBUG_OBJECT (dec, "didn't get downstream ALLOCATION hints");
alignment = 0;
prefix = 0;
size = gst_video_format_get_size (dec->format, dec->width, dec->height); size = gst_video_format_get_size (dec->format, dec->width, dec->height);
min = max = 0;
prefix = 0;
alignment = 1;
} }
if (pool == NULL) { if (pool == NULL) {
@ -824,7 +825,8 @@ theora_negotiate_pool (GstTheoraDec * dec, GstCaps * caps)
pool = gst_buffer_pool_new (); pool = gst_buffer_pool_new ();
config = gst_buffer_pool_get_config (pool); config = gst_buffer_pool_get_config (pool);
gst_buffer_pool_config_set (config, caps, size, 0, 0, prefix, 0, alignment); gst_buffer_pool_config_set (config, caps, size, min, max, prefix, 0,
alignment);
gst_buffer_pool_set_config (pool, config); gst_buffer_pool_set_config (pool, config);
} }

View file

@ -667,8 +667,8 @@ gst_video_test_src_setcaps (GstBaseSrc * bsrc, GstCaps * caps)
GstVideoTestSrc *videotestsrc; GstVideoTestSrc *videotestsrc;
GstVideoTestSrcColorSpec color_spec; GstVideoTestSrcColorSpec color_spec;
GstQuery *query; GstQuery *query;
GstBufferPool *pool = NULL; GstBufferPool *pool;
guint alignment, prefix, size; guint size, min, max, prefix, alignment;
videotestsrc = GST_VIDEO_TEST_SRC (bsrc); videotestsrc = GST_VIDEO_TEST_SRC (bsrc);
@ -692,14 +692,17 @@ gst_video_test_src_setcaps (GstBaseSrc * bsrc, GstCaps * caps)
/* find a pool for the negotiated caps now */ /* find a pool for the negotiated caps now */
query = gst_query_new_allocation (caps, TRUE); query = gst_query_new_allocation (caps, TRUE);
if (gst_pad_peer_query (bsrc->srcpad, query)) { if (gst_pad_peer_query (bsrc->srcpad, query)) {
/* we got configuration from our peer, parse them */ /* we got configuration from our peer, parse them */
gst_query_parse_allocation_params (query, &alignment, &prefix, &size, gst_query_parse_allocation_params (query, &size, &min, &max, &prefix,
&pool); &alignment, &pool);
} else { } else {
alignment = 0;
prefix = 0;
size = gst_video_test_src_get_size (videotestsrc, width, height); size = gst_video_test_src_get_size (videotestsrc, width, height);
min = max = 0;
prefix = 0;
alignment = 1;
pool = NULL;
} }
if (pool == NULL) { if (pool == NULL) {
@ -709,7 +712,8 @@ gst_video_test_src_setcaps (GstBaseSrc * bsrc, GstCaps * caps)
pool = gst_buffer_pool_new (); pool = gst_buffer_pool_new ();
config = gst_buffer_pool_get_config (pool); config = gst_buffer_pool_get_config (pool);
gst_buffer_pool_config_set (config, caps, size, 0, 0, prefix, 0, alignment); gst_buffer_pool_config_set (config, caps, size, min, max, prefix, 0,
alignment);
gst_buffer_pool_set_config (pool, config); gst_buffer_pool_set_config (pool, config);
} }

View file

@ -1989,7 +1989,7 @@ gst_xvimagesink_sink_query (GstPad * sinkpad, GstQuery * query)
if (!gst_buffer_pool_set_config (pool, config)) if (!gst_buffer_pool_set_config (pool, config))
goto config_failed; goto config_failed;
} }
gst_query_set_allocation_params (query, 0, 0, size, pool); gst_query_set_allocation_params (query, size, 0, 0, 0, 16, pool);
/* we also support various metadata */ /* we also support various metadata */
gst_query_add_allocation_meta (query, GST_META_API_VIDEO); gst_query_add_allocation_meta (query, GST_META_API_VIDEO);