x(v)image: use gst_video_meta_set_alignment()
authorGuillaume Desmottes <guillaume.desmottes@collabora.com>
Mon, 22 Jul 2019 11:25:04 +0000 (16:55 +0530)
committerGuillaume Desmottes <guillaume.desmottes@collabora.com>
Sat, 2 Nov 2019 12:05:43 +0000 (13:05 +0100)
Use the new API to tell buffer consumers about alignment details.

This change is backward compatible as non ported elements can safely
ignore the alignment information and keep processing buffers as they use
to, copying if necessary.

sys/ximage/ximagepool.c
sys/xvimage/xvimagepool.c

index c79b2e8..3f95e84 100644 (file)
@@ -648,12 +648,16 @@ ximage_buffer_pool_alloc (GstBufferPool * pool, GstBuffer ** buffer,
   gst_buffer_append_memory (ximage, mem);
 
   if (xpool->add_metavideo) {
+    GstVideoMeta *meta;
+
     GST_DEBUG_OBJECT (pool, "adding GstVideoMeta");
     /* these are just the defaults for now */
-    gst_buffer_add_video_meta_full (ximage, GST_VIDEO_FRAME_FLAG_NONE,
+    meta = gst_buffer_add_video_meta_full (ximage, GST_VIDEO_FRAME_FLAG_NONE,
         GST_VIDEO_INFO_FORMAT (info), GST_VIDEO_INFO_WIDTH (info),
         GST_VIDEO_INFO_HEIGHT (info), GST_VIDEO_INFO_N_PLANES (info),
         info->offset, info->stride);
+
+    gst_video_meta_set_alignment (meta, xpool->align);
   }
   *buffer = ximage;
 
index 116c6d1..8a62c8b 100644 (file)
@@ -183,11 +183,15 @@ xvimage_buffer_pool_alloc (GstBufferPool * pool, GstBuffer ** buffer,
   gst_buffer_append_memory (xvimage, mem);
 
   if (xvpool->add_metavideo) {
+    GstVideoMeta *meta;
+
     GST_DEBUG_OBJECT (pool, "adding GstVideoMeta");
-    gst_buffer_add_video_meta_full (xvimage, GST_VIDEO_FRAME_FLAG_NONE,
+    meta = gst_buffer_add_video_meta_full (xvimage, GST_VIDEO_FRAME_FLAG_NONE,
         GST_VIDEO_INFO_FORMAT (info), GST_VIDEO_INFO_WIDTH (info),
         GST_VIDEO_INFO_HEIGHT (info), GST_VIDEO_INFO_N_PLANES (info),
         info->offset, info->stride);
+
+    gst_video_meta_set_alignment (meta, xvpool->align);
   }
 
   *buffer = xvimage;