diff options
-rw-r--r-- | gst-libs/gst/video/gstvideopool.c | 7 | ||||
-rw-r--r-- | sys/ximage/ximagepool.c | 7 | ||||
-rw-r--r-- | sys/xvimage/xvimagepool.c | 7 |
3 files changed, 18 insertions, 3 deletions
diff --git a/gst-libs/gst/video/gstvideopool.c b/gst-libs/gst/video/gstvideopool.c index 4475f45a4..546a46524 100644 --- a/gst-libs/gst/video/gstvideopool.c +++ b/gst-libs/gst/video/gstvideopool.c @@ -122,11 +122,13 @@ video_buffer_pool_set_config (GstBufferPool * pool, GstStructure * config) GstVideoBufferPoolPrivate *priv = vpool->priv; GstVideoInfo info; GstCaps *caps; + guint size, min_buffers, max_buffers; gint width, height; GstAllocator *allocator; GstAllocationParams params; - if (!gst_buffer_pool_config_get_params (config, &caps, NULL, NULL, NULL)) + if (!gst_buffer_pool_config_get_params (config, &caps, &size, &min_buffers, + &max_buffers)) goto wrong_config; if (caps == NULL) @@ -170,6 +172,9 @@ video_buffer_pool_set_config (GstBufferPool * pool, GstStructure * config) } priv->info = info; + gst_buffer_pool_config_set_params (config, caps, info.size, min_buffers, + max_buffers); + return GST_BUFFER_POOL_CLASS (parent_class)->set_config (pool, config); /* ERRORS */ diff --git a/sys/ximage/ximagepool.c b/sys/ximage/ximagepool.c index 6cc2cfab5..b9c8340e5 100644 --- a/sys/ximage/ximagepool.c +++ b/sys/ximage/ximagepool.c @@ -559,8 +559,10 @@ ximage_buffer_pool_set_config (GstBufferPool * pool, GstStructure * config) GstXImageBufferPoolPrivate *priv = xpool->priv; GstVideoInfo info; GstCaps *caps; + guint size, min_buffers, max_buffers; - if (!gst_buffer_pool_config_get_params (config, &caps, NULL, NULL, NULL)) + if (!gst_buffer_pool_config_get_params (config, &caps, &size, &min_buffers, + &max_buffers)) goto wrong_config; if (caps == NULL) @@ -613,6 +615,9 @@ ximage_buffer_pool_set_config (GstBufferPool * pool, GstStructure * config) priv->info = info; + gst_buffer_pool_config_set_params (config, caps, info.size, min_buffers, + max_buffers); + return GST_BUFFER_POOL_CLASS (parent_class)->set_config (pool, config); /* ERRORS */ diff --git a/sys/xvimage/xvimagepool.c b/sys/xvimage/xvimagepool.c index 244a51ad2..db434fc98 100644 --- a/sys/xvimage/xvimagepool.c +++ b/sys/xvimage/xvimagepool.c @@ -80,9 +80,11 @@ xvimage_buffer_pool_set_config (GstBufferPool * pool, GstStructure * config) GstXvImageBufferPoolPrivate *priv = xvpool->priv; GstVideoInfo info; GstCaps *caps; + guint size, min_buffers, max_buffers; GstXvContext *context; - if (!gst_buffer_pool_config_get_params (config, &caps, NULL, NULL, NULL)) + if (!gst_buffer_pool_config_get_params (config, &caps, &size, &min_buffers, + &max_buffers)) goto wrong_config; if (caps == NULL) @@ -144,6 +146,9 @@ xvimage_buffer_pool_set_config (GstBufferPool * pool, GstStructure * config) priv->crop.w = priv->info.width; priv->crop.h = priv->info.height; + gst_buffer_pool_config_set_params (config, caps, info.size, min_buffers, + max_buffers); + return GST_BUFFER_POOL_CLASS (parent_class)->set_config (pool, config); /* ERRORS */ |