Date: Mon, 12 Sep 2011 21:44:28 +0300 From: Eugene Dzhurinsky <jdevelop@gmail.com> To: Hans Petter Selasky <hselasky@c2i.net> Cc: freebsd-multimedia@freebsd.org Subject: Re: Web camera stream is flipped upsidedown Message-ID: <20110912184425.GA19004@localhost> In-Reply-To: <201109102018.27015.hselasky@c2i.net> References: <201109080943.51981.hselasky@c2i.net> <201109091259.11041.hselasky@c2i.net> <CABsE2Po2u5in887KxD%2ByHMh4yttNHt-zRF--yrFcxq8tA=1oeg@mail.gmail.com> <201109102018.27015.hselasky@c2i.net>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --]
On Sat, Sep 10, 2011 at 08:18:26PM +0200, Hans Petter Selasky wrote:
> Hi,
>
> I tried the patching over here:
>
> cd /usr/local/
> cat videodev2.h.patch | patch -p1
>
> cd /usr/port/multimedia/libv4l
> make patch extract
> cd work/v4l-utils-0.8.4
> cat libv4l.patch | patch -p1
> cd ..
> cd ..
>
> make all deinstall install clean
Well, I'm not sure how it can work. According to the patches:
===============================================================================
#ifdef __FreeBSD__
static void v4lcontrol_get_dmi_string(const char *string, char *buf, int size)
{
/* TODO */
memset(buf, 0, size);
}
#else
===============================================================================
then
===============================================================================
/* Get DMI board and system strings */
v4lcontrol_get_dmi_string("sys_vendor", dmi_system_vendor,
sizeof(dmi_system_vendor));
v4lcontrol_get_dmi_string("product_name", dmi_system_name,
sizeof(dmi_system_name));
v4lcontrol_get_dmi_string("product_version", dmi_system_version,
sizeof(dmi_system_version));
v4lcontrol_get_dmi_string("board_vendor", dmi_board_vendor,
sizeof(dmi_board_vendor));
v4lcontrol_get_dmi_string("board_name", dmi_board_name,
sizeof(dmi_board_name));
v4lcontrol_get_dmi_string("board_version", dmi_board_version,
sizeof(dmi_board_version));
===============================================================================
and then in this scary block of checking passed configurations against the
database of video flags:
===============================================================================
if (v4lcontrol_flags[i].vendor_id == vendor_id &&
v4lcontrol_flags[i].product_id ==
(product_id & ~v4lcontrol_flags[i].product_mask) &&
(v4lcontrol_flags[i].dmi_system_vendor == NULL ||
!strcmp(v4lcontrol_flags[i].dmi_system_vendor, dmi_system_vendor)) &&
(v4lcontrol_flags[i].dmi_system_name == NULL ||
!strcmp(v4lcontrol_flags[i].dmi_system_name, dmi_system_name)) &&
(v4lcontrol_flags[i].dmi_system_version == NULL ||
!strcmp(v4lcontrol_flags[i].dmi_system_version, dmi_system_version)) &&
(v4lcontrol_flags[i].dmi_board_vendor == NULL ||
!strcmp(v4lcontrol_flags[i].dmi_board_vendor, dmi_board_vendor)) &&
(v4lcontrol_flags[i].dmi_board_name == NULL ||
!strcmp(v4lcontrol_flags[i].dmi_board_name, dmi_board_name)) &&
(v4lcontrol_flags[i].dmi_board_version == NULL ||
!strcmp(v4lcontrol_flags[i].dmi_board_version, dmi_board_version))) {
===============================================================================
it looks like because any DMI information string is always set to NULL, then
the check for vendor names/versions/etc will always fail, so no specific flags
would be applied.
Am I understanding something in wrong way? Please advice.
--
Eugene N Dzhurinsky
[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.17 (FreeBSD)
iQEcBAEBAgAGBQJOblMHAAoJEJl2g18bZPdRWPcIAJDceJgKRHLhSPeEAGFGWAbm
XbBBw+8HWNU5WBy5XOisOXIZKbC9XPjsAwsLQDnuFa8VcZ78CcfVi14qql9REu32
AXcJTffSFgDTwyxp1Nv9bsa9eFBZHh46/Wp9p6Qp/FLeC/OBVqLktEG2DVXxGdoq
rSndg/tFf5PWHlBTDBhMJnbrpfvdAek47R0UOHc+1z6DoiS/EfzTkcxANkre8OeL
lXIBYkcCDMMKUFjB2Wxud1mVJfTR2J2VDfHag/1ZCRssRMsawgzUYr3JdJZLQFPW
AmoRkvJYVYJ79H0rGsKC3fWqQ5Z4i1SFurF4mzS1DzS0q9uOomDBzdHhbYI4tLU=
=GQmL
-----END PGP SIGNATURE-----
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20110912184425.GA19004>
