v4l2bufferpool: set video alignment of video meta
authorHaihua Hu <jared.hu@nxp.com>
Tue, 9 Nov 2021 05:36:28 +0000 (13:36 +0800)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Tue, 9 Nov 2021 13:32:46 +0000 (13:32 +0000)
need apply video alignment info on video meta, downstream
element can get buffer alignment from video meta

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1326>

subprojects/gst-plugins-good/sys/v4l2/gstv4l2bufferpool.c

index 7b5050a..45c672d 100644 (file)
@@ -463,11 +463,15 @@ gst_v4l2_buffer_pool_alloc_buffer (GstBufferPool * bpool, GstBuffer ** buffer,
   }
 
   /* add metadata to raw video buffers */
-  if (pool->add_videometa)
-    gst_buffer_add_video_meta_full (newbuf, GST_VIDEO_FRAME_FLAG_NONE,
+  if (pool->add_videometa) {
+    GstVideoMeta *videometa =
+        gst_buffer_add_video_meta_full (newbuf, 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);
+    if (videometa)
+      gst_video_meta_set_alignment (videometa, obj->align);
+  }
 
   *buffer = newbuf;