/* add metadata to raw video buffers */
if (info->finfo) {
+ gsize offset[GST_VIDEO_MAX_PLANES];
+ gint stride[GST_VIDEO_MAX_PLANES];
+
+ offset[0] = 0;
+ stride[0] = obj->bytesperline;
+
GST_DEBUG ("adding video meta");
gst_buffer_add_meta_video_full (ret, info->flags,
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);
+ offset, stride);
}
return ret;
format.fmt.pix.height, GST_FOURCC_ARGS (format.fmt.pix.pixelformat),
format.fmt.pix.bytesperline);
- v4l2object->custom_stride = format.fmt.pix.bytesperline != stride;
-
if (format.type != v4l2object->type ||
format.fmt.pix.width != width ||
format.fmt.pix.height != height ||
format.fmt.pix.pixelformat != pixelformat ||
- format.fmt.pix.field != field || v4l2object->custom_stride) {
+ format.fmt.pix.field != field || format.fmt.pix.bytesperline != stride) {
/* something different, set the format */
GST_DEBUG_OBJECT (v4l2object->element, "Setting format to %dx%d, format "
"%" GST_FOURCC_FORMAT " bytesperline %d", width, height,
if (format.fmt.pix.pixelformat != pixelformat)
goto invalid_pixelformat;
- if (v4l2object->custom_stride) {
- stride = format.fmt.pix.bytesperline;
- GST_DEBUG_OBJECT (v4l2object->element, "We need custom stride %d",
- stride);
- GST_VIDEO_INFO_PLANE_STRIDE (&info, 0) = stride;
- }
+ v4l2object->bytesperline = format.fmt.pix.bytesperline;
}
/* Is there a reason we require the caller to always specify a framerate? */