From 1b39356e7269ff9aa0f45e95cbab350f1bd0fd27 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Wed, 6 Aug 2025 12:19:44 +0300 Subject: [PATCH] video-info: Remove stride/offset checks For formats like DMA_DRM it does not work and we'll have to trust the caller to set reasonable values here, just like we already do with other values. Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/561 Part-of: --- gstreamer-video/src/video_info.rs | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/gstreamer-video/src/video_info.rs b/gstreamer-video/src/video_info.rs index 5578591ce..9c3c287fc 100644 --- a/gstreamer-video/src/video_info.rs +++ b/gstreamer-video/src/video_info.rs @@ -404,21 +404,11 @@ impl<'a> VideoInfoBuilder<'a> { } if let Some(offset) = self.offset { - if offset.len() != ((*info.finfo).n_planes as usize) { - return Err(glib::bool_error!("Failed to build VideoInfo")); - } - - let n_planes = (*info.finfo).n_planes as usize; - info.offset[..n_planes].copy_from_slice(&offset[..n_planes]); + info.offset[..offset.len()].copy_from_slice(offset); } if let Some(stride) = self.stride { - if stride.len() != ((*info.finfo).n_planes as usize) { - return Err(glib::bool_error!("Failed to build VideoInfo")); - } - - let n_planes = (*info.finfo).n_planes as usize; - info.stride[..n_planes].copy_from_slice(&stride[..n_planes]); + info.stride[..stride.len()].copy_from_slice(stride); } if let Some(multiview_mode) = self.multiview_mode {