Hello community, here is the log from the commit of package v4l2loopback for openSUSE:Factory checked in at 2020-02-25 16:07:47 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/v4l2loopback (Old) and /work/SRC/openSUSE:Factory/.v4l2loopback.new.26092 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "v4l2loopback" Tue Feb 25 16:07:47 2020 rev:10 rq:779016 version:0.12.3 Changes: -------- --- /work/SRC/openSUSE:Factory/v4l2loopback/v4l2loopback.changes 2020-01-08 17:57:57.729748483 +0100 +++ /work/SRC/openSUSE:Factory/.v4l2loopback.new.26092/v4l2loopback.changes 2020-02-25 16:08:12.100675946 +0100 @@ -1,0 +2,6 @@ +Tue Feb 25 09:28:10 UTC 2020 - [email protected] + +- Added v4l2loopback-dont_use_timeval.patch and + v4l2loopback-drop_cast_to_time_t.patch (fix boo#1164757) + +------------------------------------------------------------------- New: ---- v4l2loopback-dont_use_timeval.patch v4l2loopback-drop_cast_to_time_t.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ v4l2loopback.spec ++++++ --- /var/tmp/diff_new_pack.wnH3Km/_old 2020-02-25 16:08:13.896677664 +0100 +++ /var/tmp/diff_new_pack.wnH3Km/_new 2020-02-25 16:08:13.900677667 +0100 @@ -26,6 +26,10 @@ Source1: preamble #PATCH-FIX-OPENSUSE v4l2loopback-include_header.patch Patch0: v4l2loopback-include_header.patch +#PATCH-FIX-UPSTREAM v4l2loopback-dont_use_timeval.patch -- fixes build with kernel 5.6 +Patch1: v4l2loopback-dont_use_timeval.patch +#PATCH-FIX-UPSTREAM v4l2loopback-drop_cast_to_time_t.patch -- fixes build with kernel 5.6 +Patch2: v4l2loopback-drop_cast_to_time_t.patch BuildRequires: %{kernel_module_package_buildreqs} BuildRequires: help2man Requires: v4l-utils ++++++ v4l2loopback-dont_use_timeval.patch ++++++ >From d7b657802c109ece5195208db26059921d2d6ebe Mon Sep 17 00:00:00 2001 From: "Alex Xu (Hello71)" <[email protected]> Date: Fri, 31 Jan 2020 22:04:36 -0500 Subject: [PATCH] use v4l2_buffer ptr instead of timeval 577c89b0ce726e44c08c396d14f84a00070a57b7 changes timestamp to type __kernel_v4l2_timeval. use v4l2_buffer instead of raw timeval for better compatibility. --- v4l2loopback.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/v4l2loopback.c b/v4l2loopback.c index f43f98c..4f43a73 100644 --- a/v4l2loopback.c +++ b/v4l2loopback.c @@ -134,7 +134,7 @@ void *v4l2l_vzalloc(unsigned long size) # define v4l2l_vzalloc vzalloc #endif -static inline void v4l2l_get_timestamp(struct timeval *tv) { +static inline void v4l2l_get_timestamp(struct v4l2_buffer *b) { /* ktime_get_ts is considered deprecated, so use ktime_get_ts64 if possible */ #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 17, 0) struct timespec ts; @@ -144,8 +144,8 @@ static inline void v4l2l_get_timestamp(struct timeval *tv) { ktime_get_ts64(&ts); #endif - tv->tv_sec = (time_t)ts.tv_sec; - tv->tv_usec = (suseconds_t)(ts.tv_nsec / NSEC_PER_USEC); + b->timestamp.tv_sec = (time_t)ts.tv_sec; + b->timestamp.tv_usec = (suseconds_t)(ts.tv_nsec / NSEC_PER_USEC); } @@ -1520,7 +1520,7 @@ static int vidioc_qbuf(struct file *file, void *private_data, struct v4l2_buffer case V4L2_BUF_TYPE_VIDEO_OUTPUT: dprintkrw("output QBUF pos: %d index: %d\n", dev->write_position, index); if (buf->timestamp.tv_sec == 0 && buf->timestamp.tv_usec == 0) - v4l2l_get_timestamp(&b->buffer.timestamp); + v4l2l_get_timestamp(&b->buffer); else b->buffer.timestamp = buf->timestamp; b->buffer.bytesused = buf->bytesused; @@ -1947,7 +1947,7 @@ static ssize_t v4l2_loopback_write(struct file *file, count); return -EFAULT; } - v4l2l_get_timestamp(&b->timestamp); + v4l2l_get_timestamp(b); b->bytesused = count; b->sequence = dev->write_position; buffer_written(dev, &dev->buffers[write_index]); @@ -2052,7 +2052,7 @@ static void init_buffers(struct v4l2_loopback_device *dev) b->timestamp.tv_usec = 0; b->type = V4L2_BUF_TYPE_VIDEO_CAPTURE; - v4l2l_get_timestamp(&b->timestamp); + v4l2l_get_timestamp(b); } dev->timeout_image_buffer = dev->buffers[0]; dev->timeout_image_buffer.buffer.m.offset = MAX_BUFFERS * buffer_size; ++++++ v4l2loopback-drop_cast_to_time_t.patch ++++++ >From 54ef8e99720cbb447ad8e0d598ee05580b485391 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?IOhannes=20m=20zm=C3=B6lnig?= <[email protected]> Date: Tue, 25 Feb 2020 11:22:43 +0100 Subject: [PATCH] Drop cast to (time_t) Closes: https://github.com/umlaeute/v4l2loopback/issues/258 --- v4l2loopback.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/v4l2loopback.c b/v4l2loopback.c index 4f43a73..93d1859 100644 --- a/v4l2loopback.c +++ b/v4l2loopback.c @@ -144,8 +144,8 @@ static inline void v4l2l_get_timestamp(struct v4l2_buffer *b) { ktime_get_ts64(&ts); #endif - b->timestamp.tv_sec = (time_t)ts.tv_sec; - b->timestamp.tv_usec = (suseconds_t)(ts.tv_nsec / NSEC_PER_USEC); + b->timestamp.tv_sec = ts.tv_sec; + b->timestamp.tv_usec = (ts.tv_nsec / NSEC_PER_USEC); }
