Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 21 Apr 2021 15:54:01 GMT
From:      Hans Petter Selasky <hselasky@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: 3a28080660e5 - main - multimedia/libv4l: Add upstream patch to make the v4l2-ctl utility more useful.
Message-ID:  <202104211554.13LFs1oo057237@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by hselasky:

URL: https://cgit.FreeBSD.org/ports/commit/?id=3a28080660e54a820fd7eedfae8ec768945d223c

commit 3a28080660e54a820fd7eedfae8ec768945d223c
Author:     Hans Petter Selasky <hselasky@FreeBSD.org>
AuthorDate: 2021-04-21 15:49:00 +0000
Commit:     Hans Petter Selasky <hselasky@FreeBSD.org>
CommitDate: 2021-04-21 15:51:47 +0000

    multimedia/libv4l: Add upstream patch to make the v4l2-ctl utility more useful.
    
    Submitted by:   Trenton Schulz <trenton@norwegianrockcat.com>
    Approved by:    pi (implicit)
---
 multimedia/libv4l/Makefile                         |  1 +
 .../libv4l/files/patch-utils_common_media-info.cpp | 46 ++++++++++++++++++++++
 2 files changed, 47 insertions(+)

diff --git a/multimedia/libv4l/Makefile b/multimedia/libv4l/Makefile
index f89b670b9516..e24c4033c92c 100644
--- a/multimedia/libv4l/Makefile
+++ b/multimedia/libv4l/Makefile
@@ -3,6 +3,7 @@
 
 PORTNAME?=	libv4l
 PORTVERSION=	1.20.0
+PORTREVISION=	1
 DISTVERSIONPREFIX=	v4l-utils-
 CATEGORIES=	multimedia
 
diff --git a/multimedia/libv4l/files/patch-utils_common_media-info.cpp b/multimedia/libv4l/files/patch-utils_common_media-info.cpp
new file mode 100644
index 000000000000..f4c3dc6a306d
--- /dev/null
+++ b/multimedia/libv4l/files/patch-utils_common_media-info.cpp
@@ -0,0 +1,46 @@
+--- utils/common/media-info.cpp.orig	2020-05-21 11:22:05 UTC
++++ utils/common/media-info.cpp
+@@ -24,6 +24,10 @@
+ #include <iostream>
+ #include <fstream>
+ #include <media-info.h>
++#ifndef __linux__
++#include <linux/videodev2.h>
++#include <fcntl.h>
++#endif
+ 
+ static std::string num2s(unsigned num, bool is_hex = true)
+ {
+@@ -61,7 +65,7 @@ media_type mi_media_detect_type(const char *device)
+ 
+ 	if (stat(device, &sb) == -1)
+ 		return MEDIA_TYPE_CANT_STAT;
+-
++#ifdef __linux__
+ 	std::string uevent_path("/sys/dev/char/");
+ 
+ 	uevent_path += num2s(major(sb.st_rdev), false) + ":" +
+@@ -97,6 +101,23 @@ media_type mi_media_detect_type(const char *device)
+ 	}
+ 
+ 	uevent_file.close();
++#else // Not Linux
++	int fd = open(device, O_RDONLY);
++	if (fd >= 0) {
++		struct v4l2_capability caps;
++		int error = ioctl(fd, VIDIOC_QUERYCAP, &caps);
++		close(fd);
++		if (error == 0) {
++			if (caps.device_caps & V4L2_CAP_VIDEO_CAPTURE) {
++				return MEDIA_TYPE_VIDEO;
++			} else if (caps.device_caps & V4L2_CAP_VBI_CAPTURE) {
++				return MEDIA_TYPE_VBI;
++			} else if (caps.device_caps & V4L2_CAP_RADIO) {
++				return MEDIA_TYPE_RADIO;
++			}
++		}
++	}
++#endif
+ 	return MEDIA_TYPE_UNKNOWN;
+ }
+ 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202104211554.13LFs1oo057237>