}
/* update video info from video meta */
+ mem = gst_buffer_peek_memory (buffer, 0);
+
vmeta = gst_buffer_get_video_meta (buffer);
if (vmeta) {
gint i;
sink->video_info.offset[i] = vmeta->offset[i];
sink->video_info.stride[i] = vmeta->stride[i];
}
+ sink->video_info.size = mem->size;
}
GST_LOG_OBJECT (sink, "buffer %p does not have a wl_buffer from our "
"display, creating it", buffer);
- mem = gst_buffer_peek_memory (buffer, 0);
-
format = GST_VIDEO_INFO_FORMAT (&sink->video_info);
if (gst_wl_display_check_format_for_dmabuf (sink->display, format)) {
guint i, nb_dmabuf = 0;
if (!gst_buffer_pool_is_active (sink->pool)) {
GstStructure *config;
GstCaps *caps;
- guint size = sink->video_info.size;
config = gst_buffer_pool_get_config (sink->pool);
- gst_buffer_pool_config_get_params (config, &caps, &size, NULL, NULL);
- gst_buffer_pool_config_set_params (config, caps, size, 2, 0);
+ gst_buffer_pool_config_get_params (config, &caps, NULL, NULL, NULL);
+ gst_buffer_pool_config_set_params (config, caps, sink->video_info.size,
+ 2, 0);
/* This is a video pool, it should not fail with basic setings */
if (!gst_buffer_pool_set_config (sink->pool, config) ||