From dc12f1c9c93bb057085db2f9443657309669ffb3 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Thu, 4 Aug 2011 11:10:26 +0200 Subject: [PATCH] ffdec: ensure bufferpool size Make sure the bufferpool size is at least what we expect. Add some more debug. --- ext/ffmpeg/gstffmpegdec.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/ext/ffmpeg/gstffmpegdec.c b/ext/ffmpeg/gstffmpegdec.c index 2a4b8ae0ab..1d80578539 100644 --- a/ext/ffmpeg/gstffmpegdec.c +++ b/ext/ffmpeg/gstffmpegdec.c @@ -1093,8 +1093,9 @@ gst_ffmpegdec_bufferpool (GstFFMpegDec * ffmpegdec, GstCaps * caps) /* we got configuration from our peer, parse them */ gst_query_parse_allocation_params (query, &size, &min, &max, &prefix, &alignment, &pool); + size = MAX (size, ffmpegdec->out_info.size); } else { - GST_DEBUG_OBJECT (ffmpegdec, "peer query failedi, using defaults"); + GST_DEBUG_OBJECT (ffmpegdec, "peer query failed, using defaults"); size = ffmpegdec->out_info.size; min = max = 0; prefix = 0; @@ -1617,7 +1618,7 @@ get_output_buffer (GstFFMpegDec * ffmpegdec, GstBuffer ** outbuf) gint width, height; GstBuffer *buf; - GST_LOG_OBJECT (ffmpegdec, "get output buffer"); + GST_LOG_OBJECT (ffmpegdec, "allocating an output buffer"); if (G_UNLIKELY (!gst_ffmpegdec_video_negotiate (ffmpegdec, FALSE))) goto negotiate_failed; @@ -1638,7 +1639,8 @@ get_output_buffer (GstFFMpegDec * ffmpegdec, GstBuffer ** outbuf) src = (AVPicture *) ffmpegdec->picture; dest = (AVPicture *) & pic; - GST_LOG_OBJECT (ffmpegdec, "copy %dx%d", width, height); + GST_LOG_OBJECT (ffmpegdec, "copy picture to output buffer %dx%d", width, + height); av_picture_copy (dest, src, ffmpegdec->context->pix_fmt, width, height); gst_video_frame_unmap (&frame);