Skip site navigation (1)Skip section navigation (2)
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

--Dxnq1zWXvFF0Q93v
Content-Type: text/plain; charset=koi8-r
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Sat, Sep 10, 2011 at 08:18:26PM +0200, Hans Petter Selasky wrote:
> Hi,
>=20
> I tried the patching over here:
>=20
> cd /usr/local/
> cat videodev2.h.patch | patch -p1
>=20
> cd /usr/port/multimedia/libv4l
> make patch extract
> cd work/v4l-utils-0.8.4
> cat libv4l.patch | patch -p1
> cd ..
> cd ..
>=20
> make all deinstall install clean

Well, I'm not sure how it can work. According to the patches:

=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D
#ifdef __FreeBSD__
static void v4lcontrol_get_dmi_string(const char *string, char *buf, int si=
ze)
{
	/* TODO */
	memset(buf, 0, size);
}
#else
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D

then

=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D

	/* 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));

=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D

and then in this scary block of checking passed configurations against the
database of video flags:

=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D
		if (v4lcontrol_flags[i].vendor_id =3D=3D vendor_id &&
				v4lcontrol_flags[i].product_id =3D=3D
				(product_id & ~v4lcontrol_flags[i].product_mask) &&

				(v4lcontrol_flags[i].dmi_system_vendor =3D=3D NULL ||
				 !strcmp(v4lcontrol_flags[i].dmi_system_vendor, dmi_system_vendor)) &&
				(v4lcontrol_flags[i].dmi_system_name =3D=3D NULL ||
				 !strcmp(v4lcontrol_flags[i].dmi_system_name, dmi_system_name)) &&
				(v4lcontrol_flags[i].dmi_system_version =3D=3D NULL ||
				 !strcmp(v4lcontrol_flags[i].dmi_system_version, dmi_system_version)) &&

				(v4lcontrol_flags[i].dmi_board_vendor =3D=3D NULL ||
				 !strcmp(v4lcontrol_flags[i].dmi_board_vendor, dmi_board_vendor)) &&
				(v4lcontrol_flags[i].dmi_board_name =3D=3D NULL ||
				 !strcmp(v4lcontrol_flags[i].dmi_board_name, dmi_board_name)) &&
				(v4lcontrol_flags[i].dmi_board_version =3D=3D NULL ||
				 !strcmp(v4lcontrol_flags[i].dmi_board_version, dmi_board_version))) {
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D

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 fl=
ags
would be applied.

Am I understanding something in wrong way? Please advice.

--=20
Eugene N Dzhurinsky

--Dxnq1zWXvFF0Q93v
Content-Type: application/pgp-signature

-----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-----

--Dxnq1zWXvFF0Q93v--



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