x(v)image: use gst_video_meta_set_alignment()

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.
This commit is contained in:
Guillaume Desmottes 2019-07-22 16:55:04 +05:30
parent 75680e5d34
commit f9617bf3f4
2 changed files with 10 additions and 2 deletions

View file

@ -648,12 +648,16 @@ ximage_buffer_pool_alloc (GstBufferPool * pool, GstBuffer ** buffer,
gst_buffer_append_memory (ximage, mem); gst_buffer_append_memory (ximage, mem);
if (xpool->add_metavideo) { if (xpool->add_metavideo) {
GstVideoMeta *meta;
GST_DEBUG_OBJECT (pool, "adding GstVideoMeta"); GST_DEBUG_OBJECT (pool, "adding GstVideoMeta");
/* these are just the defaults for now */ /* 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_FORMAT (info), GST_VIDEO_INFO_WIDTH (info),
GST_VIDEO_INFO_HEIGHT (info), GST_VIDEO_INFO_N_PLANES (info), GST_VIDEO_INFO_HEIGHT (info), GST_VIDEO_INFO_N_PLANES (info),
info->offset, info->stride); info->offset, info->stride);
gst_video_meta_set_alignment (meta, xpool->align);
} }
*buffer = ximage; *buffer = ximage;

View file

@ -183,11 +183,15 @@ xvimage_buffer_pool_alloc (GstBufferPool * pool, GstBuffer ** buffer,
gst_buffer_append_memory (xvimage, mem); gst_buffer_append_memory (xvimage, mem);
if (xvpool->add_metavideo) { if (xvpool->add_metavideo) {
GstVideoMeta *meta;
GST_DEBUG_OBJECT (pool, "adding GstVideoMeta"); 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_FORMAT (info), GST_VIDEO_INFO_WIDTH (info),
GST_VIDEO_INFO_HEIGHT (info), GST_VIDEO_INFO_N_PLANES (info), GST_VIDEO_INFO_HEIGHT (info), GST_VIDEO_INFO_N_PLANES (info),
info->offset, info->stride); info->offset, info->stride);
gst_video_meta_set_alignment (meta, xvpool->align);
} }
*buffer = xvimage; *buffer = xvimage;