From e0cfd6e26b53b9530b0a3494b883c490714b8da7 Mon Sep 17 00:00:00 2001 From: Nicolas Dufresne Date: Mon, 12 May 2014 13:18:50 -0400 Subject: [PATCH] video-info: Also check the stride and offset are equal gst_video_info_is_equal() was not checking if stride and offset had changed. https://bugzilla.gnome.org/show_bug.cgi?id=729896 --- gst-libs/gst/video/video-info.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/gst-libs/gst/video/video-info.c b/gst-libs/gst/video/video-info.c index 907bb6915f..b0e9df77c9 100644 --- a/gst-libs/gst/video/video-info.c +++ b/gst-libs/gst/video/video-info.c @@ -280,6 +280,8 @@ no_height: gboolean gst_video_info_is_equal (const GstVideoInfo * info, const GstVideoInfo * other) { + gint i; + if (GST_VIDEO_INFO_FORMAT (info) != GST_VIDEO_INFO_FORMAT (other)) return FALSE; if (GST_VIDEO_INFO_INTERLACE_MODE (info) != @@ -301,6 +303,14 @@ gst_video_info_is_equal (const GstVideoInfo * info, const GstVideoInfo * other) return FALSE; if (GST_VIDEO_INFO_FPS_D (info) != GST_VIDEO_INFO_FPS_D (other)) return FALSE; + + for (i = 0; i < info->finfo->n_planes; i++) { + if (info->stride[i] != other->stride[i]) + return FALSE; + if (info->offset[i] != other->offset[i]) + return FALSE; + } + return TRUE; }