From 9f700cc3c4c9b4cc67ea0b44214e22d34cc0dcbb Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Wed, 14 Mar 2012 19:52:31 +0100 Subject: take padding into account --- gst-libs/gst/video/gstbasevideodecoder.c | 12 +++++++----- gst/audiovisualizers/gstbaseaudiovisualizer.c | 7 ++++--- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/gst-libs/gst/video/gstbasevideodecoder.c b/gst-libs/gst/video/gstbasevideodecoder.c index cf90c3cbf..2cc015543 100644 --- a/gst-libs/gst/video/gstbasevideodecoder.c +++ b/gst-libs/gst/video/gstbasevideodecoder.c @@ -313,8 +313,8 @@ gst_base_video_decoder_setcaps (GstBaseVideoDecoder * base_video_decoder, } if (ret) { - gst_buffer_replace (&GST_BASE_VIDEO_CODEC (base_video_decoder)->state. - codec_data, NULL); + gst_buffer_replace (&GST_BASE_VIDEO_CODEC (base_video_decoder)-> + state.codec_data, NULL); gst_caps_replace (&GST_BASE_VIDEO_CODEC (base_video_decoder)->state.caps, NULL); GST_BASE_VIDEO_CODEC (base_video_decoder)->state = state; @@ -1992,7 +1992,7 @@ gst_base_video_decoder_set_src_caps (GstBaseVideoDecoder * base_video_decoder) GstQuery *query; GstBufferPool *pool = NULL; GstStructure *config; - guint size, min, max, prefix, alignment; + guint size, min, max, prefix, padding, alignment; gboolean ret; /* minimum sense */ @@ -2045,13 +2045,14 @@ gst_base_video_decoder_set_src_caps (GstBaseVideoDecoder * base_video_decoder) GST_DEBUG_OBJECT (codec, "got downstream ALLOCATION hints"); /* we got configuration from our peer, parse them */ gst_query_parse_allocation_params (query, &size, &min, &max, &prefix, - &alignment, &pool); + &padding, &alignment, &pool); size = MAX (size, info->size); } else { GST_DEBUG_OBJECT (codec, "didn't get downstream ALLOCATION hints"); size = info->size; min = max = 0; prefix = 0; + padding = 0; alignment = 0; } @@ -2065,7 +2066,8 @@ gst_base_video_decoder_set_src_caps (GstBaseVideoDecoder * base_video_decoder) base_video_decoder->pool = pool; config = gst_buffer_pool_get_config (pool); - gst_buffer_pool_config_set (config, caps, size, min, max, prefix, alignment); + gst_buffer_pool_config_set (config, caps, size, min, max, prefix, padding, + alignment); state->bytes_per_picture = size; /* just set the option, if the pool can support it we will transparently use diff --git a/gst/audiovisualizers/gstbaseaudiovisualizer.c b/gst/audiovisualizers/gstbaseaudiovisualizer.c index 566303796..96095c0f8 100644 --- a/gst/audiovisualizers/gstbaseaudiovisualizer.c +++ b/gst/audiovisualizers/gstbaseaudiovisualizer.c @@ -669,7 +669,7 @@ gst_base_audio_visualizer_src_negotiate (GstBaseAudioVisualizer * scope) GstCaps *templ; GstQuery *query; GstBufferPool *pool = NULL; - guint size, min, max, prefix, alignment; + guint size, min, max, prefix, padding, alignment; templ = gst_pad_get_pad_template_caps (scope->srcpad); @@ -708,11 +708,12 @@ gst_base_audio_visualizer_src_negotiate (GstBaseAudioVisualizer * scope) if (gst_pad_peer_query (scope->srcpad, query)) { /* we got configuration from our peer, parse them */ gst_query_parse_allocation_params (query, &size, &min, &max, &prefix, - &alignment, &pool); + &padding, &alignment, &pool); } else { size = scope->bpf; min = max = 0; prefix = 0; + padding = 0; alignment = 0; } @@ -724,7 +725,7 @@ gst_base_audio_visualizer_src_negotiate (GstBaseAudioVisualizer * scope) config = gst_buffer_pool_get_config (pool); gst_buffer_pool_config_set (config, target, size, min, max, prefix, - alignment); + padding, alignment); gst_buffer_pool_set_config (pool, config); } -- cgit v1.2.1