GstMemory *mem;
struct wl_buffer *wbuf = NULL;
+ /* FIXME check all memory when introducing DMA-Buf */
+ mem = gst_buffer_peek_memory (buffer, 0);
+
/* update video info from video meta */
vmeta = gst_buffer_get_video_meta (buffer);
if (vmeta) {
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);
- /* FIXME check all memory when introducing DMA-Buf */
- mem = gst_buffer_peek_memory (buffer, 0);
-
if (gst_is_wl_shm_memory (mem)) {
wbuf = gst_wl_shm_memory_construct_wl_buffer (mem, sink->display,
&sink->video_info);
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) ||