Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package mjpg-streamer for openSUSE:Factory 
checked in at 2023-03-27 18:17:30
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mjpg-streamer (Old)
 and      /work/SRC/openSUSE:Factory/.mjpg-streamer.new.31432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "mjpg-streamer"

Mon Mar 27 18:17:30 2023 rev:3 rq:1074637 version:1.0.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/mjpg-streamer/mjpg-streamer.changes      
2019-09-16 10:49:41.323177780 +0200
+++ /work/SRC/openSUSE:Factory/.mjpg-streamer.new.31432/mjpg-streamer.changes   
2023-03-27 18:17:31.523500822 +0200
@@ -1,0 +2,5 @@
+Tue Feb 14 08:13:46 UTC 2023 - Adrian Schröter <[email protected]>
+
+- use version 1.0.0
+
+-------------------------------------------------------------------

Old:
----
  mjpg-streamer-1.0~pre.1540449284.ddb69b7.obscpio

New:
----
  mjpg-streamer-1.0.0.obscpio

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

Other differences:
------------------
++++++ mjpg-streamer.spec ++++++
--- /var/tmp/diff_new_pack.tfB8Tw/_old  2023-03-27 18:17:32.139504073 +0200
+++ /var/tmp/diff_new_pack.tfB8Tw/_new  2023-03-27 18:17:32.143504093 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package mjpg-streamer
 #
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2023 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
 
 
 Name:           mjpg-streamer
-Version:        1.0~pre.1540449284.ddb69b7
+Version:        1.0.0
 Release:        0
 Summary:        Program for streaming webcam video to HTTP
 License:        GPL-2.0-only
@@ -31,12 +31,12 @@
 BuildRequires:  gcc-c++
 BuildRequires:  libgphoto2-devel
 BuildRequires:  libjpeg-devel
-BuildRequires:  pkgconfig(opencv)
 BuildRequires:  protobuf-c
 BuildRequires:  python3-devel
 BuildRequires:  python3-numpy-devel
 BuildRequires:  python3-opencv
 BuildRequires:  zeromq-devel
+BuildRequires:  pkgconfig(opencv)
 
 %description
 MJPG-streamer takes JPGs from Linux-UVC compatible webcams, from

++++++ _service ++++++
--- /var/tmp/diff_new_pack.tfB8Tw/_old  2023-03-27 18:17:32.179504284 +0200
+++ /var/tmp/diff_new_pack.tfB8Tw/_new  2023-03-27 18:17:32.179504284 +0200
@@ -1,10 +1,11 @@
 <services>
-  <service name="obs_scm" mode="disabled">
+  <service name="obs_scm" mode="manual">
     <param name="url">https://github.com/jacksonliam/mjpg-streamer.git</param>
     <param name="scm">git</param>
-    <param name="versionprefix">1.0~pre</param>
+    <param name="revision">v1.0.0</param>
+    <param name="version">1.0.0</param>
   </service>
-  <service mode="disabled" name="set_version" />
+  <service mode="manual" name="set_version" />
 
   <service mode="buildtime" name="tar" />
   <service mode="buildtime" name="recompress">

++++++ mjpg-streamer-1.0~pre.1540449284.ddb69b7.obscpio -> 
mjpg-streamer-1.0.0.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mjpg-streamer-1.0~pre.1540449284.ddb69b7/.gitignore 
new/mjpg-streamer-1.0.0/.gitignore
--- old/mjpg-streamer-1.0~pre.1540449284.ddb69b7/.gitignore     1970-01-01 
01:00:00.000000000 +0100
+++ new/mjpg-streamer-1.0.0/.gitignore  2020-12-18 18:04:35.000000000 +0100
@@ -0,0 +1,22 @@
+# Compiled Object files
+*.slo
+*.lo
+*.o
+
+# Compiled Dynamic libraries
+*.so
+
+# Compiled Static libraries
+*.lai
+*.la
+*.a
+
+# Python
+__pycache__
+*.pyc
+
+/mjpg-streamer-experimental/mjpg_streamer
+/mjpg-streamer-experimental/_build
+*.deb
+_pkg/
+doc/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/mjpg-streamer-1.0~pre.1540449284.ddb69b7/mjpg-streamer-experimental/plugins/input_opencv/CMakeLists.txt
 
new/mjpg-streamer-1.0.0/mjpg-streamer-experimental/plugins/input_opencv/CMakeLists.txt
--- 
old/mjpg-streamer-1.0~pre.1540449284.ddb69b7/mjpg-streamer-experimental/plugins/input_opencv/CMakeLists.txt
 2018-10-25 08:34:44.000000000 +0200
+++ 
new/mjpg-streamer-1.0.0/mjpg-streamer-experimental/plugins/input_opencv/CMakeLists.txt
      2020-12-18 18:04:35.000000000 +0100
@@ -4,7 +4,7 @@
 find_package(OpenCV COMPONENTS core imgproc highgui videoio)
 
 MJPG_STREAMER_PLUGIN_OPTION(input_opencv "OpenCV input plugin"
-                            ONLYIF OpenCV_FOUND)
+                            ONLYIF OpenCV_FOUND ${OpenCV_VERSION_MAJOR} EQUAL 
3)
 
 if (PLUGIN_INPUT_OPENCV)
     enable_language(CXX)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/mjpg-streamer-1.0~pre.1540449284.ddb69b7/mjpg-streamer-experimental/plugins/input_opencv/filters/cvfilter_py/CMakeLists.txt
 
new/mjpg-streamer-1.0.0/mjpg-streamer-experimental/plugins/input_opencv/filters/cvfilter_py/CMakeLists.txt
--- 
old/mjpg-streamer-1.0~pre.1540449284.ddb69b7/mjpg-streamer-experimental/plugins/input_opencv/filters/cvfilter_py/CMakeLists.txt
     2018-10-25 08:34:44.000000000 +0200
+++ 
new/mjpg-streamer-1.0.0/mjpg-streamer-experimental/plugins/input_opencv/filters/cvfilter_py/CMakeLists.txt
  2020-12-18 18:04:35.000000000 +0100
@@ -9,7 +9,7 @@
 find_package(Numpy)
 
 MJPG_STREAMER_PLUGIN_OPTION(cvfilter_py "OpenCV python filter"
-                            ONLYIF PYTHONLIBS_FOUND NUMPY_FOUND)
+                            ONLYIF PYTHONLIBS_FOUND NUMPY_FOUND 
${PYTHON_VERSION_MAJOR} EQUAL 3)
                             
 if (PLUGIN_CVFILTER_PY)
     include_directories(${PYTHON_INCLUDE_DIRS})
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/mjpg-streamer-1.0~pre.1540449284.ddb69b7/mjpg-streamer-experimental/plugins/input_ptp2/input_ptp2.c
 
new/mjpg-streamer-1.0.0/mjpg-streamer-experimental/plugins/input_ptp2/input_ptp2.c
--- 
old/mjpg-streamer-1.0~pre.1540449284.ddb69b7/mjpg-streamer-experimental/plugins/input_ptp2/input_ptp2.c
     2018-10-25 08:34:44.000000000 +0200
+++ 
new/mjpg-streamer-1.0.0/mjpg-streamer-experimental/plugins/input_ptp2/input_ptp2.c
  2020-12-18 18:04:35.000000000 +0100
@@ -131,12 +131,6 @@
 {
        int res, i;
 
-       global->in[id].buf = malloc(256 * 1024);
-       if(global->in[id].buf == NULL)
-       {
-               IPRINT(INPUT_PLUGIN_NAME " - could not allocate memory\n");
-               exit(EXIT_FAILURE);
-       }
        plugin_id = id;
 
        // auto-detect algorithm
@@ -229,46 +223,67 @@
        int i = 0;
        CameraFile* file;
 
+       int jpeg_buffer_size = 256 * 1024;
+       global->in[plugin_id].buf = malloc(jpeg_buffer_size);
+       if(global->in[plugin_id].buf == NULL)
+       {
+               IPRINT(INPUT_PLUGIN_NAME " - could not allocate memory\n");
+               return NULL;
+       }
+
        pthread_cleanup_push(cleanup, NULL);
-                                       while(!global->stop)
-                                       {
-                                               unsigned long int xsize;
-                                               const char* xdata;
-                                               
pthread_mutex_lock(&control_mutex);
-                                               res = gp_file_new(&file);
-                                               CAMERA_CHECK_GP(res, 
"gp_file_new");
-                                               res = 
gp_camera_capture_preview(camera, file, context);
-                                               CAMERA_CHECK_GP(res, 
"gp_camera_capture_preview");
-                                               
pthread_mutex_lock(&global->in[plugin_id].db);
-                                               res = 
gp_file_get_data_and_size(file, &xdata, &xsize);
-                                               if(xsize == 0)
-                                               {
-                                                       if(i++ > 3)
-                                                       {
-                                                               
IPRINT("Restarted too many times; giving up\n");
-                                                               return NULL;
-                                                       }
-                                                       int value = 0;
-                                                       IPRINT("Read 0 bytes 
from camera; restarting it\n");
-                                                       camera_set("capture", 
&value);
-                                                       sleep(3);
-                                                       value = 1;
-                                                       camera_set("capture", 
&value);
-                                               }
-                                               else
-                                                       i = 0;
-                                               CAMERA_CHECK_GP(res, 
"gp_file_get_data_and_size");
-                                               
memcpy(global->in[plugin_id].buf, xdata, xsize);
-                                               res = gp_file_unref(file);
-                                               
pthread_mutex_unlock(&control_mutex);
-                                               CAMERA_CHECK_GP(res, 
"gp_file_unref");
-                                               global->in[plugin_id].size = 
xsize;
-                                               DBG("Read %d bytes from 
camera.\n", global->in[plugin_id].size);
-                                               
pthread_cond_broadcast(&global->in[plugin_id].db_update);
-                                               
pthread_mutex_unlock(&global->in[plugin_id].db);
-                                               usleep(delay);
-                                       }
-                                       pthread_cleanup_pop(1);
+       while(!global->stop)
+       {
+               unsigned long int xsize;
+               const char* xdata;
+               pthread_mutex_lock(&control_mutex);
+               res = gp_file_new(&file);
+               CAMERA_CHECK_GP(res, "gp_file_new");
+               res = gp_camera_capture_preview(camera, file, context);
+               CAMERA_CHECK_GP(res, "gp_camera_capture_preview");
+               pthread_mutex_lock(&global->in[plugin_id].db);
+               res = gp_file_get_data_and_size(file, &xdata, &xsize);
+               if(xsize == 0)
+               {
+                       if(i++ > 3)
+                       {
+                               IPRINT("Restarted too many times; giving up\n");
+                               return NULL;
+                       }
+                       int value = 0;
+                       IPRINT("Read 0 bytes from camera; restarting it\n");
+                       camera_set("capture", &value);
+                       sleep(3);
+                       value = 1;
+                       camera_set("capture", &value);
+               }
+               else
+                       i = 0;
+               CAMERA_CHECK_GP(res, "gp_file_get_data_and_size");
+
+               if(jpeg_buffer_size <= xsize) {
+                       jpeg_buffer_size = xsize + xsize * 10/100;
+                       unsigned char *tmp_buff = 
realloc(global->in[plugin_id].buf,jpeg_buffer_size);
+                       if(tmp_buff == NULL)
+                       {
+                               IPRINT(INPUT_PLUGIN_NAME " - could not allocate 
memory\n");
+                               return NULL;
+                       }
+                       global->in[plugin_id].buf = tmp_buff;
+               }
+
+
+               memcpy(global->in[plugin_id].buf, xdata, xsize);
+               res = gp_file_unref(file);
+               pthread_mutex_unlock(&control_mutex);
+               CAMERA_CHECK_GP(res, "gp_file_unref");
+               global->in[plugin_id].size = xsize;
+               DBG("Read %d bytes from camera.\n", global->in[plugin_id].size);
+               pthread_cond_broadcast(&global->in[plugin_id].db_update);
+               pthread_mutex_unlock(&global->in[plugin_id].db);
+               usleep(delay);
+       }
+       pthread_cleanup_pop(1);
 
        return NULL;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/mjpg-streamer-1.0~pre.1540449284.ddb69b7/mjpg-streamer-experimental/plugins/input_uvc/input_uvc.c
 
new/mjpg-streamer-1.0.0/mjpg-streamer-experimental/plugins/input_uvc/input_uvc.c
--- 
old/mjpg-streamer-1.0~pre.1540449284.ddb69b7/mjpg-streamer-experimental/plugins/input_uvc/input_uvc.c
       2018-10-25 08:34:44.000000000 +0200
+++ 
new/mjpg-streamer-1.0.0/mjpg-streamer-experimental/plugins/input_uvc/input_uvc.c
    2020-12-18 18:04:35.000000000 +0100
@@ -316,7 +316,9 @@
         #ifndef NO_LIBJPEG
         case 20:
             DBG("case 20\n");
-            if (strcmp(optarg, "RGBP") == 0) {
+            if (strcmp(optarg, "RGB24") == 0) {
+                format = V4L2_PIX_FMT_RGB24;
+            } else if (strcmp(optarg, "RGBP") == 0) {
                 format = V4L2_PIX_FMT_RGB565;
             } else {
               fprintf(stderr," i: FOURCC codec '%s' not supported\n", optarg);
@@ -420,6 +422,9 @@
             case V4L2_PIX_FMT_UYVY:
                 fmtString = "UYVY";
                 break;
+            case V4L2_PIX_FMT_RGB24:
+                fmtString = "RGB24";
+               break;
             case V4L2_PIX_FMT_RGB565:
                 fmtString = "RGB565";
                 break;
@@ -540,7 +545,7 @@
     " [-u | --uyvy ] ........: Use UYVY format, default: MJPEG (uses more cpu 
power)\n" \
     " [-y | --yuv  ] ........: Use YUV format, default: MJPEG (uses more cpu 
power)\n" \
     " [-fourcc ] ............: Use FOURCC codec 'argopt', \n" \
-    "                          currently supported codecs are: RGBP \n" \
+    "                          currently supported codecs are: RGB24, RGBP \n" 
\
     " [-timestamp ]..........: Populate frame timestamp with system time\n" \
     " [-softfps] ............: Drop frames to try and achieve this fps\n" \
     "                          set your camera to its maximum fps to avoid 
stuttering\n" \
@@ -776,6 +781,7 @@
             #ifndef NO_LIBJPEG
             if ((pcontext->videoIn->formatIn == V4L2_PIX_FMT_YUYV) ||
             (pcontext->videoIn->formatIn == V4L2_PIX_FMT_UYVY) ||
+            (pcontext->videoIn->formatIn == V4L2_PIX_FMT_RGB24) ||
             (pcontext->videoIn->formatIn == V4L2_PIX_FMT_RGB565) ) {
                 DBG("compressing frame from input: %d\n", (int)pcontext->id);
                 pglobal->in[pcontext->id].size = 
compress_image_to_jpeg(pcontext->videoIn, pglobal->in[pcontext->id].buf, 
pcontext->videoIn->framesizeIn, quality);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/mjpg-streamer-1.0~pre.1540449284.ddb69b7/mjpg-streamer-experimental/plugins/input_uvc/jpeg_utils.c
 
new/mjpg-streamer-1.0.0/mjpg-streamer-experimental/plugins/input_uvc/jpeg_utils.c
--- 
old/mjpg-streamer-1.0~pre.1540449284.ddb69b7/mjpg-streamer-experimental/plugins/input_uvc/jpeg_utils.c
      2018-10-25 08:34:44.000000000 +0200
+++ 
new/mjpg-streamer-1.0.0/mjpg-streamer-experimental/plugins/input_uvc/jpeg_utils.c
   2020-12-18 18:04:35.000000000 +0100
@@ -200,6 +200,21 @@
             row_pointer[0] = line_buffer;
             jpeg_write_scanlines(&cinfo, row_pointer, 1);
         }
+    } else if (vd->formatIn == V4L2_PIX_FMT_RGB24) {
+        while(cinfo.next_scanline < vd->height) {
+            int x;
+            unsigned char *ptr = line_buffer;
+
+            for(x = 0; x < vd->width; x++) {
+                *(ptr++) = yuyv[0];
+                *(ptr++) = yuyv[1];
+                *(ptr++) = yuyv[2];
+                yuyv += 3;
+            }
+
+            row_pointer[0] = line_buffer;
+            jpeg_write_scanlines(&cinfo, row_pointer, 1);
+        }
     } else if (vd->formatIn == V4L2_PIX_FMT_RGB565) {
         while(cinfo.next_scanline < vd->height) {
             int x;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/mjpg-streamer-1.0~pre.1540449284.ddb69b7/mjpg-streamer-experimental/plugins/input_uvc/v4l2uvc.c
 new/mjpg-streamer-1.0.0/mjpg-streamer-experimental/plugins/input_uvc/v4l2uvc.c
--- 
old/mjpg-streamer-1.0~pre.1540449284.ddb69b7/mjpg-streamer-experimental/plugins/input_uvc/v4l2uvc.c
 2018-10-25 08:34:44.000000000 +0200
+++ 
new/mjpg-streamer-1.0.0/mjpg-streamer-experimental/plugins/input_uvc/v4l2uvc.c  
    2020-12-18 18:04:35.000000000 +0100
@@ -240,6 +240,11 @@
             vd->framebuffer =
                 (unsigned char *) calloc(1, (size_t) vd->width * (vd->height + 
8) * 2);
             break;
+        case V4L2_PIX_FMT_RGB24:
+            vd->framesizeIn = (vd->width * vd->height) * 3;
+            vd->framebuffer =
+                (unsigned char *) calloc(1, (size_t) vd->framesizeIn);
+            break;
         case V4L2_PIX_FMT_RGB565: // buffer allocation for non varies on frame 
size formats
         case V4L2_PIX_FMT_YUYV:
         case V4L2_PIX_FMT_UYVY:
@@ -247,7 +252,7 @@
                 (unsigned char *) calloc(1, (size_t) vd->framesizeIn);
             break;
         default:
-            fprintf(stderr, " Unknow vd->formatIn\n");
+            fprintf(stderr, "Unknown vd->formatIn\n");
             return -1;
     }
     return -!vd->framebuffer;
@@ -367,8 +372,12 @@
        fprintf(stderr, "    ... Falling back to UYVY mode (consider using 
-uyvy option). Note that this requires much more CPU power\n");
        vd->formatIn = vd->fmt.fmt.pix.pixelformat;
         break;
+      case V4L2_PIX_FMT_RGB24:
+       fprintf(stderr, "    ... Falling back to RGB24 mode (consider using 
-fourcc RGB24 option). Note that this requires much more CPU power\n");
+       vd->formatIn = vd->fmt.fmt.pix.pixelformat;
+       break;
       case V4L2_PIX_FMT_RGB565:
-       fprintf(stderr, "    ... Falling back to RGB565 mode (consider using 
-fourcc option). Note that this requires much more CPU power\n");
+       fprintf(stderr, "    ... Falling back to RGB565 mode (consider using 
-fourcc RGBP option). Note that this requires much more CPU power\n");
        vd->formatIn = vd->fmt.fmt.pix.pixelformat;
        break;
       default:
@@ -650,6 +659,7 @@
             fprintf(stderr, "bytes in used %d \n", vd->buf.bytesused);
         }
         break;
+    case V4L2_PIX_FMT_RGB24:
     case V4L2_PIX_FMT_RGB565:
     case V4L2_PIX_FMT_YUYV:
     case V4L2_PIX_FMT_UYVY:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/mjpg-streamer-1.0~pre.1540449284.ddb69b7/mjpg-streamer-experimental/plugins/output_http/httpd.c
 new/mjpg-streamer-1.0.0/mjpg-streamer-experimental/plugins/output_http/httpd.c
--- 
old/mjpg-streamer-1.0~pre.1540449284.ddb69b7/mjpg-streamer-experimental/plugins/output_http/httpd.c
 2018-10-25 08:34:44.000000000 +0200
+++ 
new/mjpg-streamer-1.0.0/mjpg-streamer-experimental/plugins/output_http/httpd.c  
    2020-12-18 18:04:35.000000000 +0100
@@ -835,15 +835,23 @@
     if(f == NULL) {
         DBG("Unable to execute the requested CGI script\n");
         send_error(fd, 403, "CGI script cannot be executed");
+        free(buffer);
+        close(lfd);
         return;
     }
 
     while((i = fread(buffer, 1, sizeof(buffer), f)) > 0) {
         if (write(fd, buffer, i) < 0) {
             fclose(f);
+            free(buffer);
+            close(lfd);
             return;
         }
     }
+
+    fclose(f);
+    free(buffer);
+    close(lfd);
 }
 
 
@@ -1222,6 +1230,7 @@
                 req.query_string = malloc(len + 1);
                 if (req.query_string == NULL)
                     exit(EXIT_FAILURE);
+                memset(req.query_string, 0, len + 1);
                 strncpy(req.query_string, pb, len);
             } else {
                 req.query_string = malloc(2);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/mjpg-streamer-1.0~pre.1540449284.ddb69b7/mjpg-streamer-experimental/scripts/README.md
 new/mjpg-streamer-1.0.0/mjpg-streamer-experimental/scripts/README.md
--- 
old/mjpg-streamer-1.0~pre.1540449284.ddb69b7/mjpg-streamer-experimental/scripts/README.md
   1970-01-01 01:00:00.000000000 +0100
+++ new/mjpg-streamer-1.0.0/mjpg-streamer-experimental/scripts/README.md        
2020-12-18 18:04:35.000000000 +0100
@@ -0,0 +1,35 @@
+# Script files for mjpg-streamer.
+
+Assumes mjpg-streamer is installed at /usr/local/bin/mjpg_streamer and
+that there is a user account `webcam` for running these scripts.
+
+If you have a different setup you'll need to adjust
+mjpg-streamer.default (init) or mjpg-streamer.service (systemd)
+accordingly.
+
+The `webcam` user will need access to /dev/video*. To add this run:
+
+```sh
+sudo adduser webcam video
+sudo usermod -a -G video webcam
+```
+
+## init
+
+```
+mjpg-streamer.default   => /etc/default/mjpg-streamer
+mjpg-streamer.init      => /etc/init.d/mjpg-streamer
+```
+
+After copying the above files run:
+
+```sh
+sudo update-rc.d mjpg-streamer defaults
+sudo systemctl daemon-reload
+```
+
+## systemd
+
+```
+mjpg-streamer.service   => /etc/systemd/system/mjpg-streamer.service
+```
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/mjpg-streamer-1.0~pre.1540449284.ddb69b7/mjpg-streamer-experimental/scripts/mjpg-streamer.default
 
new/mjpg-streamer-1.0.0/mjpg-streamer-experimental/scripts/mjpg-streamer.default
--- 
old/mjpg-streamer-1.0~pre.1540449284.ddb69b7/mjpg-streamer-experimental/scripts/mjpg-streamer.default
       1970-01-01 01:00:00.000000000 +0100
+++ 
new/mjpg-streamer-1.0.0/mjpg-streamer-experimental/scripts/mjpg-streamer.default
    2020-12-18 18:04:35.000000000 +0100
@@ -0,0 +1,37 @@
+# Configuration for /etc/init.d/mjpg-streamer
+
+# The init.d script will only run if this variable non-empty.
+MJPG_STREAMER_USER=webcam
+
+# base directory to use. This is where mjpg-streamer's `make install`
+# copies files by default.
+BASEDIR=/usr/local
+
+# The directory where the mjpg-streamer shared libraries reside.
+LIB_DIR=${BASEDIR}/lib/mjpg-streamer
+
+# https://github.com/OctoPrint/OctoPrint/wiki/Webcams-known-to-work
+CAMERA_OPTIONS="-r 1280x720 -f 30"
+
+# Document this.
+WWW_ROOT=/var/local/www
+
+# Path to the mjpg-streamer executable. Make sure this matches your
+# installation.
+DAEMON=${BASEDIR}/bin/mjpg_streamer
+
+# The input library.
+INPUT_UVC_LIB=${LIB_DIR}/input_uvc.so
+
+# The output library.
+OUTPUT_HTTP_LIB=${LIB_DIR}/output_http.so
+
+# WWW directory.
+WWW_ROOT=/var/local/www
+
+# Umask of files mjpg-streamer generates, Change this to 022 if *not* running
+# mjpg-streamer as its own, separate user.
+UMASK=000
+
+# Should we run at startup?
+START=yes
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/mjpg-streamer-1.0~pre.1540449284.ddb69b7/mjpg-streamer-experimental/scripts/mjpg-streamer.init
 new/mjpg-streamer-1.0.0/mjpg-streamer-experimental/scripts/mjpg-streamer.init
--- 
old/mjpg-streamer-1.0~pre.1540449284.ddb69b7/mjpg-streamer-experimental/scripts/mjpg-streamer.init
  1970-01-01 01:00:00.000000000 +0100
+++ 
new/mjpg-streamer-1.0.0/mjpg-streamer-experimental/scripts/mjpg-streamer.init   
    2020-12-18 18:04:35.000000000 +0100
@@ -0,0 +1,174 @@
+#!/bin/sh
+
+### BEGIN INIT INFO
+# Provides:          mjpg-streamer
+# Required-Start:    $local_fs networking
+# Required-Stop:
+# Should-Start:
+# Should-Stop:
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+# Short-Description: mjpg-streamer daemon
+# Description:       Starts the mjpg-streamer daemon with the user specified in
+#                    /etc/default/mjpg-streamer.
+### END INIT INFO
+
+# Author: Sami Olmari & Gina Häußge
+
+# Set to true to aid in debugging with this script fails to
+# start.
+debug_me=false
+
+if [[ $debug_me == true ]]; then
+
+       # Close STDOUT
+       exec 1<&-
+       # Close STDERR
+       exec 2<&-
+
+       LOG_FILE=/home/webcam/mjpg_streamer.log
+
+       # Open STDOUT as $LOG_FILE file for read and write.
+       exec 1<>$LOG_FILE
+
+       # Redirect STDERR to STDOUT
+       exec 2>&1
+
+       # Display shell commands with expanded args
+       set -x
+fi
+
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+DESC="mjpg-streamer Daemon"
+NAME="mjpg-streamer"
+PKGNAME=mjpg-streamer
+PIDFILE=/var/run/$PKGNAME.pid
+SCRIPTNAME=/etc/init.d/$PKGNAME
+DEFAULTS=/etc/default/$PKGNAME
+
+# Read configuration variable file if it is present
+[ -r $DEFAULTS ] && . $DEFAULTS
+
+# Define LSB log_* functions.
+# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
+. /lib/lsb/init-functions
+
+# Exit if the DAEMON is not set
+if [ -z "$DAEMON" ]
+then
+    log_warning_msg "Not starting $PKGNAME, DAEMON not set in $DEFAULTS."
+    exit 0
+fi
+
+# Exit if the DAEMON is not installed
+[ -x "$DAEMON" ] || exit 0
+
+# Load the VERBOSE setting and other rcS variables
+[ -f /etc/default/rcS ] && . /etc/default/rcS
+
+if [ -z "$START" -o "$START" != "yes" ]
+then
+   log_warning_msg "Not starting $PKGNAME, edit $DEFAULTS to start it."
+   exit 0
+fi
+
+if [ -z "$MJPG_STREAMER_USER" ]
+then
+    log_warning_msg "Not starting $PKGNAME, MJPG_STREAMER_USER not set in 
$DEFAULTS."
+    exit 0
+fi
+
+#
+# Function to verify if a pid is alive
+#
+is_alive()
+{
+   pid=`cat $1` > /dev/null 2>&1
+   kill -0 $pid > /dev/null 2>&1
+   return $?
+}
+
+#
+# Function that starts the daemon/service
+#
+do_start()
+{
+   # Return
+   #   0 if daemon has been started
+   #   1 if daemon was already running
+   #   2 if daemon could not be started
+
+   is_alive $PIDFILE
+   RETVAL="$?"
+
+   if [ $RETVAL != 0 ]; then
+       start-stop-daemon --verbose --start --background --pidfile $PIDFILE 
--make-pidfile \
+       --exec $DAEMON --chuid $MJPG_STREAMER_USER --user $MJPG_STREAMER_USER \
+       --umask $UMASK -- -i "${INPUT_UVC_LIB} ${CAMERA_OPTIONS}" -o 
"${OUTPUT_HTTP_LIB} -w ${WWW_ROOT}"
+       RETVAL="$?"
+   fi
+}
+
+#
+# Function that stops the daemon/service
+#
+do_stop()
+{
+   # Return
+   #   0 if daemon has been stopped
+   #   1 if daemon was already stopped
+   #   2 if daemon could not be stopped
+   #   other if a failure occurred
+
+   start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --user 
$MJPG_STREAMER_USER --pidfile $PIDFILE
+   RETVAL="$?"
+   [ "$RETVAL" = "2" ] && return 2
+
+   rm -f $PIDFILE
+
+   [ "$RETVAL" = "0"  ] && return 0 || return 1
+}
+
+case "$1" in
+  start)
+   [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
+   do_start
+   case "$?" in
+      0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
+      2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+   esac
+   ;;
+  stop)
+   [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
+   do_stop
+   case "$?" in
+      0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
+      2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+   esac
+   ;;
+  status)
+   status_of_proc -p $PIDFILE $DAEMON $NAME && exit 0 || exit $?
+   ;;
+  restart)
+   log_daemon_msg "Restarting $DESC" "$NAME"
+   do_stop
+   case "$?" in
+     0|1)
+      do_start
+      case "$?" in
+         0) log_end_msg 0 ;;
+         1) log_end_msg 1 ;; # Old process is still running
+         *) log_end_msg 1 ;; # Failed to start
+      esac
+      ;;
+     *)
+        # Failed to stop
+      log_end_msg 1
+      ;;
+   esac
+   ;;
+  *)
+   echo "Usage: $SCRIPTNAME {start|stop|status|restart}" >&2
+   exit 3
+   ;;
+esac
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/mjpg-streamer-1.0~pre.1540449284.ddb69b7/mjpg-streamer-experimental/scripts/mjpg-streamer.service
 
new/mjpg-streamer-1.0.0/mjpg-streamer-experimental/scripts/mjpg-streamer.service
--- 
old/mjpg-streamer-1.0~pre.1540449284.ddb69b7/mjpg-streamer-experimental/scripts/mjpg-streamer.service
       1970-01-01 01:00:00.000000000 +0100
+++ 
new/mjpg-streamer-1.0.0/mjpg-streamer-experimental/scripts/mjpg-streamer.service
    2020-12-18 18:04:35.000000000 +0100
@@ -0,0 +1,12 @@
+[Unit]
+Description=A Linux-UVC streaming application with Pan/Tilt
+After=network-online.target
+Wants=network-online.target
+
+[Service]
+Type=simple
+User=webcam
+ExecStart=/usr/local/bin/mjpg_streamer
+
+[Install]
+WantedBy=multi-user.target
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/mjpg-streamer-1.0~pre.1540449284.ddb69b7/mjpg-streamer-experimental/utils.h 
new/mjpg-streamer-1.0.0/mjpg-streamer-experimental/utils.h
--- 
old/mjpg-streamer-1.0~pre.1540449284.ddb69b7/mjpg-streamer-experimental/utils.h 
    2018-10-25 08:34:44.000000000 +0200
+++ new/mjpg-streamer-1.0.0/mjpg-streamer-experimental/utils.h  2020-12-18 
18:04:35.000000000 +0100
@@ -86,6 +86,7 @@
         settings->v = 1; \
     } else if (strcasecmp("false", optarg) == 0) { \
         settings->v = 0; \
+    } else { \
         fprintf(stderr, "Invalid value '%s' for -" #v " (true/false 
accepted)\n", optarg); \
         exit(EXIT_FAILURE); \
     } \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/mjpg-streamer-1.0~pre.1540449284.ddb69b7/mjpg-streamer-experimental/www/style.css
 new/mjpg-streamer-1.0.0/mjpg-streamer-experimental/www/style.css
--- 
old/mjpg-streamer-1.0~pre.1540449284.ddb69b7/mjpg-streamer-experimental/www/style.css
       2018-10-25 08:34:44.000000000 +0200
+++ new/mjpg-streamer-1.0.0/mjpg-streamer-experimental/www/style.css    
2020-12-18 18:04:35.000000000 +0100
@@ -20,7 +20,7 @@
 {color:#505050; text-decoration:underline;}
 
 img
-{float:left; margin:0 15px 15px 0; padding:1px; background:#ffffff; border:1px 
solid #d0d0d0;}
+{float:left; margin:0 15px 15px 0; padding:1px; border:1px solid #d0d0d0;}
 
 a img
 {border-color:#d85d5d;}

++++++ mjpg-streamer.obsinfo ++++++
--- /var/tmp/diff_new_pack.tfB8Tw/_old  2023-03-27 18:17:32.467505804 +0200
+++ /var/tmp/diff_new_pack.tfB8Tw/_new  2023-03-27 18:17:32.471505825 +0200
@@ -1,6 +1,5 @@
 name: mjpg-streamer
-version: 1.0~pre.1540449284.ddb69b7
-mtime: 1540449284
-commit: ddb69b7b4f114f3c2ca01adf55712792ca8aed43
-
+version: 1.0.0
+mtime: 1608311075
+commit: 5554f42c352ecfa7edaec6fc51e507afce605a34
 

Reply via email to