Hello community,

here is the log from the commit of package v4l2loopback for openSUSE:Factory 
checked in at 2018-04-04 11:07:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/v4l2loopback (Old)
 and      /work/SRC/openSUSE:Factory/.v4l2loopback.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "v4l2loopback"

Wed Apr  4 11:07:24 2018 rev:2 rq:593208 version:0.11.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/v4l2loopback/v4l2loopback.changes        
2017-08-24 18:51:41.739361848 +0200
+++ /work/SRC/openSUSE:Factory/.v4l2loopback.new/v4l2loopback.changes   
2018-04-04 11:07:47.898864914 +0200
@@ -1,0 +2,8 @@
+Tue Apr  3 12:12:45 UTC 2018 - guillaume.gar...@opensuse.org
+
+- Update to 0.11.0:
+  * Adapted to new kernel timer API
+  * VP9 & HEVC support
+  * Hacks to work around issues with Google Chrome and GStreamer-0.10
+
+-------------------------------------------------------------------

Old:
----
  v4l2loopback-0.10.0.tar.gz

New:
----
  v4l2loopback-0.11.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ v4l2loopback.spec ++++++
--- /var/tmp/diff_new_pack.Y5iOAQ/_old  2018-04-04 11:07:50.602766923 +0200
+++ /var/tmp/diff_new_pack.Y5iOAQ/_new  2018-04-04 11:07:50.606766778 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package v4l2loopback
 #
-# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,10 +17,10 @@
 
 
 Name:           v4l2loopback
-Version:        0.10.0
+Version:        0.11.0
 Release:        0
 Summary:        A kernel module to create V4L2 loopback devices
-License:        GPL-2.0+
+License:        GPL-2.0-or-later
 Group:          System/Kernel
 Url:            https://github.com/umlaeute/v4l2loopback
 Source:         
https://github.com/umlaeute/v4l2loopback/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz

++++++ v4l2loopback-0.10.0.tar.gz -> v4l2loopback-0.11.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/v4l2loopback-0.10.0/.github/ISSUE_TEMPLATE.md 
new/v4l2loopback-0.11.0/.github/ISSUE_TEMPLATE.md
--- old/v4l2loopback-0.10.0/.github/ISSUE_TEMPLATE.md   1970-01-01 
01:00:00.000000000 +0100
+++ new/v4l2loopback-0.11.0/.github/ISSUE_TEMPLATE.md   2018-03-06 
10:20:30.000000000 +0100
@@ -0,0 +1,60 @@
+### Step 1: Read this
+
+Thanks for your feedback. It is invaluable for making `v4l2loopback` a better
+software.
+
+To help us making the most of your feedback (so we can e.g. fix bugs more
+quickly), please make sure to provide the following information.
+
+#### Accessibility
+Sometimes pictures say more.
+However, mostly they prevent the use of advanced
+tools (like "search" or "copy&paste").
+And always they prevent people who don't use graphical browser to access the
+tracker from reading your content.
+So, to make the web a better place, we ask you to post *text* rather than
+*screenshots of text* whenever feasible (pretty much always).
+
+
+#### Cruft
+
+Please exclude these instructions (and other non-relevant information) from 
your
+report.
+
+
+### Step 2: Describe your environment
+
+  * `v4l2loopback` version: _____
+
+          sudo dmesg  | grep -i v4l2loopback
+
+  * kernel version: _____
+
+          uname -a
+
+  * Distribution (+version): _____
+
+          lsb_release -a
+  
+### Step 3: Describe the problem:
+
+#### Steps to reproduce:
+
+  1. _____
+  2. _____
+  3. _____
+  
+#### Observed Results:
+
+  * What happened?  This could be a description, log output, etc.
+  
+#### Expected Results:
+
+  * What did you expect to happen?
+  
+#### Relevant Code:
+
+  ```
+  // TODO(you): code here to reproduce the problem
+  ```
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/v4l2loopback-0.10.0/AUTHORS 
new/v4l2loopback-0.11.0/AUTHORS
--- old/v4l2loopback-0.10.0/AUTHORS     2016-12-02 22:11:55.000000000 +0100
+++ new/v4l2loopback-0.11.0/AUTHORS     2018-03-06 10:20:30.000000000 +0100
@@ -1,7 +1,8 @@
-Angus McInnes <angus AT amcinnes DOT info>
 Aidan Thornton <makosoft AT gmail DOT com>
 Anatolij Gutschin <agust AT denx DOT de>
+Angus McInnes <angus AT amcinnes DOT info>
 Anton Novikov <random.plant AT gmail DOT com>
+Attila Tőkés <tokes_atti AT yahoo DOT com>
 Dmitry Eremin <dmitry.eremin AT intel DOT com>
 Gavin Qiu <yongchengq AT gmail DOT com>
 George Chriss <gschriss AT gmail DOT com>
@@ -10,11 +11,13 @@
 Javier Infante <jabiinfante AT gmail DOT com>
 Kurt Kiefer <kekiefer AT gmail DOT com>
 Michel Promonet <michel.promonet AT free DOT fr>
+Nick Sarnie <commendsarnex AT gmail DOT com>
 Paul Brook <paul.brook AT cocoon DOT life>
 Scott Maines <smaines AT alaya DOT com>
 Stefan Diewald <stefan.diewald AT mytum DOT de>
 Tasos Sahanidis <tasos AT tasossah DOT com>
-tz
 Ted Mielczarek <ted AT mielczarek DOT org>
+Todor Minchev <todor.minchev AT linux DOT intel DOT com>
+tz
 Vasily Levin
 Yusuke Ohshima <git AT yukke DOT org>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/v4l2loopback-0.10.0/ChangeLog 
new/v4l2loopback-0.11.0/ChangeLog
--- old/v4l2loopback-0.10.0/ChangeLog   2016-12-02 22:11:55.000000000 +0100
+++ new/v4l2loopback-0.11.0/ChangeLog   2018-03-06 10:20:30.000000000 +0100
@@ -1,3 +1,30 @@
+v4l2loopback (0.11.0) unstable; urgency=medium
+
+  [ Nick Sarnie ]
+  * Adapted to new kernel timer API
+
+  [ Attila Tőkés ]
+  * Avoid setting dev->ready_for_output and opener->type on get/try calls
+  * Allow input enumeration, even when exclusive_caps=1 and no input provided 
yet
+
+  [ Todor Minchev ]
+  * Makefile: remove depmod call in modules_install target
+
+  [ Michel Promonet ]
+  * Added format VP9 & HEVC
+
+  [ IOhannes m zmölnig ]
+  * Simplified HAVE_TIMER_SETUP clauses
+  * Fixed format output to sysfs
+  * Removed trailing whitespace
+  * Updated README
+    * Added `depmod -a` calls to the documentation
+    * Fixed omitted word
+  * [github] Added issue template for new reports
+    * please don't post images in the issue-tracker
+
+ -- IOhannes m zmölnig <zmoel...@umlaeute.mur.at>  Tue, 06 Mar 2018 10:05:11 
+0100
+
 v4l2loopback (0.10.0) unstable; urgency=medium
 
   [ Paul Brook ]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/v4l2loopback-0.10.0/Makefile 
new/v4l2loopback-0.11.0/Makefile
--- old/v4l2loopback-0.10.0/Makefile    2016-12-02 22:11:55.000000000 +0100
+++ new/v4l2loopback-0.11.0/Makefile    2018-03-06 10:20:30.000000000 +0100
@@ -45,7 +45,6 @@
 install-all: install install-utils install-man
 install:
        $(MAKE) -C $(KERNEL_DIR) M=$(PWD) modules_install
-       depmod -a  $(KERNELRELEASE)
 
 install-utils: utils/v4l2loopback-ctl
        $(INSTALL_DIR) "$(DESTDIR)$(BINDIR)"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/v4l2loopback-0.10.0/NEWS new/v4l2loopback-0.11.0/NEWS
--- old/v4l2loopback-0.10.0/NEWS        2016-12-02 22:11:55.000000000 +0100
+++ new/v4l2loopback-0.11.0/NEWS        2018-03-06 10:20:30.000000000 +0100
@@ -1,3 +1,11 @@
+v4l2loopback-0.11.0
+
+  * Adapted to new kernel timer API
+  * VP9 & HEVC support
+  * Hacks to work around issues with Google Chrome and GStreamer-0.10
+
+ -- IOhannes m zmölnig <zmoel...@umlaeute.mur.at>  Tue, 06 Mar 2018 10:05:11 
+0100
+
 v4l2loopback-0.10.0
 
   * More consistent device names
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/v4l2loopback-0.10.0/README.md 
new/v4l2loopback-0.11.0/README.md
--- old/v4l2loopback-0.10.0/README.md   2016-12-02 22:11:55.000000000 +0100
+++ new/v4l2loopback-0.11.0/README.md   2018-03-06 10:20:30.000000000 +0100
@@ -23,8 +23,8 @@
 # DEPENDENCIES
 the v4l2loopback module is a *kernel module*.
 in order to build it, you *must have* the kernel headers installed that match
-the linux kernel with which you want to use the module (in most this will be
-the kernel that you are currently running).
+the linux kernel with which you want to use the module (in most cases this will
+be the kernel that you are currently running).
 please note, that kernel headers and kernel image must have *exactly the same* 
version.
 for example, `3.18.0-trunk-rpi` is a different version that `3.18.7-v7+`, even 
though
 the first few number are the same.
@@ -45,6 +45,7 @@
 if your system has "sudo", do:
 
     $ make && sudo make install
+    $ sudo depmod -a
 
 if your system lacks "sudo", do:
 
@@ -52,8 +53,14 @@
     $ su
     (enter root password)
     # make install
+    # depmod -a
     # exit
 
+
+(The `depmod -a` call will re-calculate module dependencies, in order to
+automatically load additional kernel modules required by v4l2loopback.
+The call may not be necessary on modern systems.)
+
 # RUN
 load the v4l2loopback module as root :
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/v4l2loopback-0.10.0/dkms.conf 
new/v4l2loopback-0.11.0/dkms.conf
--- old/v4l2loopback-0.10.0/dkms.conf   2016-12-02 22:11:55.000000000 +0100
+++ new/v4l2loopback-0.11.0/dkms.conf   2018-03-06 10:20:30.000000000 +0100
@@ -1,5 +1,5 @@
 PACKAGE_NAME="v4l2loopback"
-PACKAGE_VERSION="0.10.0"
+PACKAGE_VERSION="0.11.0"
 
 # Items below here should not have to change with each driver version
 MAKE[0]="make KERNEL_DIR=${kernel_source_dir} all"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/v4l2loopback-0.10.0/v4l2loopback.c 
new/v4l2loopback-0.11.0/v4l2loopback.c
--- old/v4l2loopback-0.10.0/v4l2loopback.c      2016-12-02 22:11:55.000000000 
+0100
+++ new/v4l2loopback-0.11.0/v4l2loopback.c      2018-03-06 10:20:30.000000000 
+0100
@@ -36,7 +36,11 @@
 # define kstrtoul strict_strtoul
 #endif
 
-#define V4L2LOOPBACK_VERSION_CODE KERNEL_VERSION(0, 10, 0)
+#if defined(timer_setup) && defined(from_timer)
+#define HAVE_TIMER_SETUP
+#endif
+
+#define V4L2LOOPBACK_VERSION_CODE KERNEL_VERSION(0, 11, 0)
 
 MODULE_DESCRIPTION("V4L2 loopback video device");
 MODULE_AUTHOR("Vasily Levin, " \
@@ -372,6 +376,13 @@
 #define FORMAT_FLAGS_PLANAR       0x01
 #define FORMAT_FLAGS_COMPRESSED   0x02
 
+#ifndef V4L2_PIX_FMT_VP9
+#define V4L2_PIX_FMT_VP9  v4l2_fourcc('V', 'P', '9', '0')
+#endif
+#ifndef V4L2_PIX_FMT_HEVC
+#define V4L2_PIX_FMT_HEVC  v4l2_fourcc('H', 'E', 'V', 'C')
+#endif
+
 static const struct v4l2l_format formats[] = {
 #include "v4l2loopback_formats.h"
 };
@@ -456,12 +467,12 @@
        tpf = &dev->capture_param.timeperframe;
 
        fourcc2str(dev->pix_format.pixelformat, buf4cc);
+        buf4cc[4]=0;
        if (tpf->numerator == 1)
                snprintf(buf_fps, sizeof(buf_fps), "%d", tpf->denominator);
        else
                snprintf(buf_fps, sizeof(buf_fps), "%d/%d",
                                tpf->denominator, tpf->numerator);
-
        return sprintf(buf, "%4s:%dx%d@%s\n",
                buf4cc, dev->pix_format.width, dev->pix_format.height, buf_fps);
 }
@@ -514,7 +525,7 @@
 
        if (kstrtoul(buf, 0, &curr))
                return -EINVAL;
-       
+
        dev = v4l2loopback_cd2dev(cd);
 
        if (dev->max_openers == curr)
@@ -807,13 +818,9 @@
  */
 static int vidioc_try_fmt_cap(struct file *file, void *priv, struct 
v4l2_format *fmt)
 {
-       struct v4l2_loopback_opener *opener;
        struct v4l2_loopback_device *dev;
        char buf[5];
 
-       opener = file->private_data;
-       opener->type = READER;
-
        dev = v4l2loopback_getdevice(file);
 
        if (0 == dev->ready_for_capture) {
@@ -907,8 +914,7 @@
 
        dev = v4l2loopback_getdevice(file);
        opener = file->private_data;
-       opener->type = WRITER;
-       dev->ready_for_output = 1;
+
        /*
         * LATER: this should return the currently valid format
         * gstreamer doesn't like it, if this returns -EINVAL, as it
@@ -927,15 +933,10 @@
  */
 static int vidioc_try_fmt_out(struct file *file, void *priv, struct 
v4l2_format *fmt)
 {
-       struct v4l2_loopback_opener *opener;
        struct v4l2_loopback_device *dev;
        MARK();
 
-       opener = file->private_data;
-       opener->type = WRITER;
-
        dev = v4l2loopback_getdevice(file);
-       dev->ready_for_output = 1;
 
        /* TODO(vasaka) loopback does not care about formats writer want to set,
         * maybe it is a good idea to restrict format somehow */
@@ -1304,10 +1305,7 @@
 static int vidioc_enum_input(struct file *file, void *fh, struct v4l2_input 
*inp)
 {
        __u32 index = inp->index;
-       struct v4l2_loopback_device *dev = v4l2loopback_getdevice(file);
        MARK();
-        if (!dev->announce_all_caps && !dev->ready_for_capture)
-               return -ENOTTY;
 
        if (0 != index)
                return -EINVAL;
@@ -1639,13 +1637,16 @@
 static int vidioc_streamon(struct file *file, void *private_data, enum 
v4l2_buf_type type)
 {
        struct v4l2_loopback_device *dev;
+       struct v4l2_loopback_opener *opener;
        int ret;
        MARK();
 
        dev = v4l2loopback_getdevice(file);
+       opener = file->private_data;
 
        switch (type) {
        case V4L2_BUF_TYPE_VIDEO_OUTPUT:
+               opener->type = WRITER;
                dev->ready_for_output = 0;
                if (!dev->ready_for_capture) {
                        ret = allocate_buffers(dev);
@@ -1655,6 +1656,7 @@
                }
                return 0;
        case V4L2_BUF_TYPE_VIDEO_CAPTURE:
+               opener->type = READER;
                if (!dev->ready_for_capture)
                        return -EIO;
                return 0;
@@ -2120,11 +2122,15 @@
        if (dev->sustain_framerate && !timer_pending(&dev->sustain_timer))
                mod_timer(&dev->sustain_timer, jiffies + dev->frame_jiffies * 3 
/ 2);
 }
-
+#ifdef HAVE_TIMER_SETUP
+static void sustain_timer_clb(struct timer_list *t)
+{
+       struct v4l2_loopback_device *dev = from_timer(dev,t,sustain_timer);
+#else
 static void sustain_timer_clb(unsigned long nr)
 {
        struct v4l2_loopback_device *dev = devs[nr];
-
+#endif
        spin_lock(&dev->lock);
        if (dev->sustain_framerate) {
                dev->reread_count++;
@@ -2137,11 +2143,15 @@
        }
        spin_unlock(&dev->lock);
 }
-
+#ifdef HAVE_TIMER_SETUP
+static void timeout_timer_clb(struct timer_list *t)
+{
+       struct v4l2_loopback_device *dev = from_timer(dev,t,timeout_timer);
+#else
 static void timeout_timer_clb(unsigned long nr)
 {
        struct v4l2_loopback_device *dev = devs[nr];
-
+#endif
        spin_lock(&dev->lock);
        if (dev->timeout_jiffies > 0) {
                dev->timeout_happened = 1;
@@ -2203,9 +2213,14 @@
        dev->buffer_size = 0;
        dev->image = NULL;
        dev->imagesize = 0;
+#ifdef HAVE_TIMER_SETUP
+       timer_setup(&dev->sustain_timer, sustain_timer_clb, 0);
+       timer_setup(&dev->timeout_timer, timeout_timer_clb, 0);
+#else
        setup_timer(&dev->sustain_timer, sustain_timer_clb, nr);
-       dev->reread_count = 0;
        setup_timer(&dev->timeout_timer, timeout_timer_clb, nr);
+#endif
+        dev->reread_count = 0;
        dev->timeout_jiffies = 0;
        dev->timeout_image = NULL;
        dev->timeout_happened = 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/v4l2loopback-0.10.0/v4l2loopback_formats.h 
new/v4l2loopback-0.11.0/v4l2loopback_formats.h
--- old/v4l2loopback-0.10.0/v4l2loopback_formats.h      2016-12-02 
22:11:55.000000000 +0100
+++ new/v4l2loopback-0.11.0/v4l2loopback_formats.h      2018-03-06 
10:20:30.000000000 +0100
@@ -361,3 +361,15 @@
      .flags    = FORMAT_FLAGS_COMPRESSED,
      },
 #endif /* V4L2_PIX_FMT_VP8 */
+{
+   .name     = "VP9",
+     .fourcc   = V4L2_PIX_FMT_VP9,
+     .depth    = 32,
+     .flags    = FORMAT_FLAGS_COMPRESSED,
+     },
+{
+   .name     = "HEVC",
+     .fourcc   = V4L2_PIX_FMT_HEVC,
+     .depth    = 32,
+     .flags    = FORMAT_FLAGS_COMPRESSED,
+     },


Reply via email to