platform/upstream/v4l-utils.git
13 years agolibv4l2: Add plugin support to libv4l
Yordan Kamenov [Thu, 19 May 2011 12:35:59 +0000 (15:35 +0300)]
libv4l2: Add plugin support to libv4l

A libv4l2 plugin will sit in between libv4l2 itself and the actual
/dev/video device node a fd refers to. It will be called each time
libv4l2 wants to do an operation (read/write/ioctl) on the actual
/dev/video node in question.

Changes before merge by Hans de Goede:
-export libv4l2_default_dev_ops for apps which directly use libv4lconvert
-use libv4l2_default_dev_ops in qv4l2 rather then defining our own there
-swap 1st 2 arguments to v4l2_plugin_cleanup to match v4l2_plugin_init order
-v4l2_plugin_init: return the address of the plugins devops, rather then
 always returning the address of the default dev_ops and overriding the
 individual default dev_ops with those of the plugin. The latter is a bad idea
 when multiple /dev/video devices are opened in the same process space as
 they may use different plugins
-use $LIBDIR/libv4l/plugins as pluginsdir instead of hardcoded
 /usr/lib/libv4l/plugins

Signed-off-by: Yordan Kamenov <ykamenov@mm-sol.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
13 years agoStart of 0.9.x devel cycle
Hans de Goede [Sun, 17 Jul 2011 16:51:02 +0000 (18:51 +0200)]
Start of 0.9.x devel cycle

v4l-utils follows the classic odd unstable / even stable release numbering,
this is the start of a new 0.9.x dev cycle leading to a 0.10.x (or maybe a
1.x) release. The plan for 0.9.x is to:
1) Keep the libv4l1 and libv4l2 ABI's compatible with 0.8.x
2) Change the libv4lconvert ABI, changing the soname to libv4lconvert.so.1
   (from libv4lconvert.so.0), this is needed to be able to add plugin
   support to libv4l2
3) Allow for somewhat more adventurous changes, until later in the 0.9.x
   cycle, when things should stabilize again

Note WRT 2), that there is no promise of a stable libv4lconvert.so.1 ABI
until 0.10.0 is released!

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
13 years agoPrepare for 0.8.5 release v4l-utils-0.8.5
Hans de Goede [Sun, 17 Jul 2011 15:35:04 +0000 (17:35 +0200)]
Prepare for 0.8.5 release

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
13 years agolibv4lconvert: Fix se401 decompression
Hans de Goede [Sun, 17 Jul 2011 16:05:27 +0000 (18:05 +0200)]
libv4lconvert: Fix se401 decompression

Somehow I've managed to commit a non working version.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
13 years agolibv4l: update upside down device list
Hans de Goede [Sun, 17 Jul 2011 15:27:22 +0000 (17:27 +0200)]
libv4l: update upside down device list

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
13 years agov4l2-sysfs-path: remove libsysfs dependency
Gregor Jasny [Sun, 17 Jul 2011 14:37:47 +0000 (16:37 +0200)]
v4l2-sysfs-path: remove libsysfs dependency

Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
13 years agoqv4l2: Install fixed size icons, too
Gregor Jasny [Sun, 17 Jul 2011 14:37:01 +0000 (16:37 +0200)]
qv4l2: Install fixed size icons, too

Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
13 years agoGenerate Libs.private fields in pkgconfig files from already defined Makefile variables
Gregor Jasny [Sun, 17 Jul 2011 14:34:53 +0000 (16:34 +0200)]
Generate Libs.private fields in pkgconfig files from already defined Makefile variables

Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
13 years agoqv4l2: add BITMASK as a valid control type.
Hans Verkuil [Sun, 17 Jul 2011 10:55:18 +0000 (12:55 +0200)]
qv4l2: add BITMASK as a valid control type.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
13 years agorc_keymaps: Update to reflect 3.0-rc7 + media changes
Mauro Carvalho Chehab [Thu, 14 Jul 2011 16:56:01 +0000 (13:56 -0300)]
rc_keymaps: Update to reflect 3.0-rc7 + media changes

Update the keymaps that changed recently

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoparse_em28xx_drxk.pl: Fix for read16/write16
Mauro Carvalho Chehab [Sun, 10 Jul 2011 17:16:45 +0000 (14:16 -0300)]
parse_em28xx_drxk.pl: Fix for read16/write16

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoparse_em28xx_drxk.pl: improve output for drxk parsed messages
Mauro Carvalho Chehab [Sun, 10 Jul 2011 15:03:04 +0000 (12:03 -0300)]
parse_em28xx_drxk.pl: improve output for drxk parsed messages

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoparse_em28xx_drxk.pl: Improve output for i2c master xfer
Mauro Carvalho Chehab [Sun, 10 Jul 2011 14:32:14 +0000 (11:32 -0300)]
parse_em28xx_drxk.pl: Improve output for i2c master xfer

append 0x to hexadecimal numbers, making easier to paste it into
the driver.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoparse_em28xx_drxk.pl: Add an option to enable all parsers
Mauro Carvalho Chehab [Sun, 10 Jul 2011 14:26:23 +0000 (11:26 -0300)]
parse_em28xx_drxk.pl: Add an option to enable all parsers

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoparse_em28xx_drxk.pl: Add an option to preserve timestamps
Mauro Carvalho Chehab [Sun, 10 Jul 2011 14:12:53 +0000 (11:12 -0300)]
parse_em28xx_drxk.pl: Add an option to preserve timestamps

It may be useful, when needing to analyze the amount of time that
passed between some events.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoparse_em28xx_drxk.pl: Properly handle write_block
Mauro Carvalho Chehab [Sat, 9 Jul 2011 18:55:47 +0000 (15:55 -0300)]
parse_em28xx_drxk.pl: Properly handle write_block

Firmware load and other operations use write_block.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoparse_em28xx_drxk.pl: Better document a read error
Mauro Carvalho Chehab [Sat, 9 Jul 2011 18:14:30 +0000 (15:14 -0300)]
parse_em28xx_drxk.pl: Better document a read error

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoparse_em28xx_drxk.pl: Add parameters to suppress/see other logs
Mauro Carvalho Chehab [Sat, 9 Jul 2011 18:00:40 +0000 (15:00 -0300)]
parse_em28xx_drxk.pl: Add parameters to suppress/see other logs

By default, this parser will output just the DRX-K messages,
but extra parameters allow to enable/disable other logs

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoparse_em28xx_drxk.pl: Fix parser for read operations
Mauro Carvalho Chehab [Sat, 9 Jul 2011 17:50:30 +0000 (14:50 -0300)]
parse_em28xx_drxk.pl: Fix parser for read operations

Read operations are written as 2 separate I2C transactions.
We need to group them, in order to get the proper values.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoparse_em28xx_drxk.pl: Describe DRX-K flags
Mauro Carvalho Chehab [Sat, 9 Jul 2011 14:57:28 +0000 (11:57 -0300)]
parse_em28xx_drxk.pl: Describe DRX-K flags

Those flag values were got from Terratec driver, found at:
http://linux.terratec.de/files/TERRATEC_H7/20110323_TERRATEC_H7_Linux.tar.gz

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoparse_em28xx_drxk.pl: Add more register definitions
Mauro Carvalho Chehab [Sat, 9 Jul 2011 14:14:36 +0000 (11:14 -0300)]
parse_em28xx_drxk.pl: Add more register definitions

The af6007 file has a different driver for DRX-K, with more register
definitions. Add the registers found there also, in order to provide
a more complete parser.

After adding these, there are now only 3 messages that aren't
parsed from a Terratec H5 device:

read32_flags(state, 0x52, 0x026001ec, 0x00000000, 0x90);
read32_flags(state, 0x52, 0x026001ec, 0x00000000, 0x90);
write16_flags(state, 0x52, 0x008206fe, 0x00f00022, 0xc0);

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoparse_em28xx_drxk.pl: Sort register definitions for DRX-K
Mauro Carvalho Chehab [Sat, 9 Jul 2011 14:04:50 +0000 (11:04 -0300)]
parse_em28xx_drxk.pl: Sort register definitions for DRX-K

Sort all register definitions. This makes easier to identify
the gaps at the registers.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoparse_em28xx_drxk.pl: Better represent some hex values
Mauro Carvalho Chehab [Sat, 9 Jul 2011 13:56:46 +0000 (10:56 -0300)]
parse_em28xx_drxk.pl: Better represent some hex values

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoAdd a parser for em28xx with drxk frontend
Mauro Carvalho Chehab [Sat, 9 Jul 2011 12:25:20 +0000 (09:25 -0300)]
Add a parser for em28xx with drxk frontend

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoqv4l2: add support for the new bitmask control type.
Hans Verkuil [Fri, 8 Jul 2011 07:55:59 +0000 (09:55 +0200)]
qv4l2: add support for the new bitmask control type.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
13 years agov4l2-ctl: add support for the new bitmask control type
Hans Verkuil [Fri, 8 Jul 2011 07:51:43 +0000 (09:51 +0200)]
v4l2-ctl: add support for the new bitmask control type

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
13 years agovideodev2.h: update to latest version.
Hans Verkuil [Fri, 8 Jul 2011 07:41:00 +0000 (09:41 +0200)]
videodev2.h: update to latest version.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
13 years agoioctl-test: update with latest V4L2 API ioctls, remove obsolete ioctls.
Hans Verkuil [Sat, 2 Jul 2011 13:17:09 +0000 (15:17 +0200)]
ioctl-test: update with latest V4L2 API ioctls, remove obsolete ioctls.

Added the latest ioctls and remove support for the V4L1 and old V4L2
ioctls.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
13 years agov4l2-ctl: add support for the control event.
Hans Verkuil [Sat, 2 Jul 2011 10:39:52 +0000 (12:39 +0200)]
v4l2-ctl: add support for the control event.

The --wait-for-event and --poll-for-event options now accept the control
event as well.

Example: v4l2-ctl --poll-for-event=ctrl=hue

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
13 years agovideodev2.h: update to latest media_tree version.
Hans Verkuil [Sat, 2 Jul 2011 10:05:53 +0000 (12:05 +0200)]
videodev2.h: update to latest media_tree version.

The videodev2.h was updated in order to use the new control event API.
The V4L2_PIX_FMT_SE401 pixel format definition was put back since
libv4lconvert.c is going to use that for the upcoming se401 driver.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
13 years agov4l2-ctl: fix -w support.
Hans Verkuil [Sat, 2 Jul 2011 10:04:36 +0000 (12:04 +0200)]
v4l2-ctl: fix -w support.

The -w option (use the libv4l2 wrapper library) never worked since the v4l2_open
and v4l2_close functions were never called. Fixed this.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
13 years agov4l2-ctl: print the v4l2_fmtdesc flags field.
Hans Verkuil [Sat, 2 Jul 2011 10:01:59 +0000 (12:01 +0200)]
v4l2-ctl: print the v4l2_fmtdesc flags field.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
13 years agov4l2-ctl: move the doioctl_name function up to a more logical place.
Hans Verkuil [Sat, 2 Jul 2011 10:00:01 +0000 (12:00 +0200)]
v4l2-ctl: move the doioctl_name function up to a more logical place.

doioctl_name was defined fairly late in the source, limiting where it
could be used. Move it up.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
13 years agov4l2-compliance: add VIDIOC_SLICED_VBI_CAP compliance test.
Hans Verkuil [Tue, 28 Jun 2011 10:07:26 +0000 (12:07 +0200)]
v4l2-compliance: add VIDIOC_SLICED_VBI_CAP compliance test.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
13 years agov4l2-compliance: add file/line for all fails. Do some cleanups.
Hans Verkuil [Mon, 27 Jun 2011 12:47:47 +0000 (14:47 +0200)]
v4l2-compliance: add file/line for all fails. Do some cleanups.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
13 years agov4l2-compliance: add VIDIOC_G_FBUF compliance test.
Hans Verkuil [Mon, 27 Jun 2011 12:25:10 +0000 (14:25 +0200)]
v4l2-compliance: add VIDIOC_G_FBUF compliance test.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
13 years agov4l2-compliance: add VIDIOC_G_FMT compliance tests.
Hans Verkuil [Mon, 27 Jun 2011 09:36:09 +0000 (11:36 +0200)]
v4l2-compliance: add VIDIOC_G_FMT compliance tests.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
13 years agov4l2-compliance: add VIDIOC_ENUM_FRAMESIZES and VIDIOC_ENUM_FRAMEINTERVALS tests.
Hans Verkuil [Fri, 24 Jun 2011 10:34:28 +0000 (12:34 +0200)]
v4l2-compliance: add VIDIOC_ENUM_FRAMESIZES and VIDIOC_ENUM_FRAMEINTERVALS tests.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
13 years agolibv4lconvert.c: fix memset bug discovered by v4l2-compliance.
Hans Verkuil [Thu, 23 Jun 2011 14:13:37 +0000 (16:13 +0200)]
libv4lconvert.c: fix memset bug discovered by v4l2-compliance.

The size of the reserved array is 4 * sizeof(u32) = 16. So only the first
element is now zeroed. Use sizeof(reserved) instead.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
13 years agov4l2-compliance: add VIDIOC_ENUM_FMT tests.
Hans Verkuil [Thu, 23 Jun 2011 14:13:18 +0000 (16:13 +0200)]
v4l2-compliance: add VIDIOC_ENUM_FMT tests.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
13 years agov4l2-compliance: fix QUERYCTRL test when there are no controls.
Hans Verkuil [Wed, 22 Jun 2011 14:27:52 +0000 (16:27 +0200)]
v4l2-compliance: fix QUERYCTRL test when there are no controls.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
13 years agoget_media_devices: white space fixup
Hans de Goede [Sat, 18 Jun 2011 14:03:10 +0000 (16:03 +0200)]
get_media_devices: white space fixup

My bad.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
13 years agoget_media_devices: Get rid if asprintf
Hans de Goede [Sat, 18 Jun 2011 13:58:43 +0000 (15:58 +0200)]
get_media_devices: Get rid if asprintf

It is a GNU extension and thus not declared in the std headers when
compiling without _GNU_SOURCE

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
13 years agoget_media_devices: Consider multiple functions on the same pci dev as one dev
Hans de Goede [Sat, 18 Jun 2011 13:42:22 +0000 (15:42 +0200)]
get_media_devices: Consider multiple functions on the same pci dev as one dev

This fixes get_media_devices not seeing the video and the alsa input on
my bt878 card as associated devices.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
13 years agoget_media_devices: Only strip usb interface from usb device path
Hans de Goede [Sat, 18 Jun 2011 13:38:08 +0000 (15:38 +0200)]
get_media_devices: Only strip usb interface from usb device path

The old code would strip to much, leading to different usb devices on the
same hub getting seen as the same device.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
13 years agoget_media_devices: Don't complain if there are no devices of a certain class
Hans de Goede [Sat, 18 Jun 2011 13:29:45 +0000 (15:29 +0200)]
get_media_devices: Don't complain if there are no devices of a certain class

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
13 years agoget_meda_devices: more robust detection of device bus
Hans de Goede [Sat, 18 Jun 2011 13:27:57 +0000 (15:27 +0200)]
get_meda_devices: more robust detection of device bus

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
13 years agoget_media_device: Continue with the next dir entry on a sysfs parse error
Hans de Goede [Sat, 18 Jun 2011 13:13:40 +0000 (15:13 +0200)]
get_media_device: Continue with the next dir entry on a sysfs parse error

Rather then completely aborting the sysfs-scanning.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
13 years agoget_media_devices: Properly canonicalize names
Hans de Goede [Sat, 18 Jun 2011 11:52:37 +0000 (13:52 +0200)]
get_media_devices: Properly canonicalize names

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
13 years agoget_medida_devices: use strdup
Hans de Goede [Sat, 18 Jun 2011 11:39:40 +0000 (13:39 +0200)]
get_medida_devices: use strdup

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
13 years agoget_meda_devices: Use PATH_MAX rather then some arbritary limit
Hans de Goede [Sat, 18 Jun 2011 11:36:21 +0000 (13:36 +0200)]
get_meda_devices: Use PATH_MAX rather then some arbritary limit

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
13 years agoget_media_devices: Remove unnecessary class_node parsing
Hans de Goede [Sat, 18 Jun 2011 11:29:15 +0000 (13:29 +0200)]
get_media_devices: Remove unnecessary class_node parsing

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
13 years agoAdd support for SE401 pixelformat
Hans de Goede [Tue, 7 Jun 2011 14:38:31 +0000 (16:38 +0200)]
Add support for SE401 pixelformat

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
13 years agov4l2-ctl: if V4L2_CTRL_DRIVER_PRIV(id) then use EXT_CTRLS API.
Hans Verkuil [Tue, 7 Jun 2011 14:47:05 +0000 (16:47 +0200)]
v4l2-ctl: if V4L2_CTRL_DRIVER_PRIV(id) then use EXT_CTRLS API.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
13 years agov4l2-ctl: Add support for multi-planar API
Hans Verkuil [Wed, 8 Jun 2011 12:44:41 +0000 (14:44 +0200)]
v4l2-ctl: Add support for multi-planar API

Based on a patch from Sylwester Nawrocki <snjw23@gmail.com>.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
13 years agovideodev2.h: update to latest version.
Hans Verkuil [Wed, 8 Jun 2011 11:31:13 +0000 (13:31 +0200)]
videodev2.h: update to latest version.

Needed for the multiplanar support.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
13 years agolibv4l: autogain tweaks
Hans de Goede [Sat, 4 Jun 2011 09:09:23 +0000 (11:09 +0200)]
libv4l: autogain tweaks

-Take a bit larger steps when modifying very fine grain controls, even when
 steps < 3
-Don't do step multiplication when changing exposure in the exposure low
 range

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
13 years agoFix the highest bit of IR keytable util
Darren Tucker [Sat, 4 Jun 2011 01:50:07 +0000 (22:50 -0300)]
Fix the highest bit of IR keytable util

I have a Nuvoton IR interface (part of an ION board) which has scancodes
with the high bit set, and ir-keytable won't accept these (since strtol
doesn't).  Since "codes" is an unsigned, using strtoul fixes this.
I also added a signedness fix in debug output and fixed a typo.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agokeytable: fix segfault when RC driver's module_name is null
Cédric Schieli [Sat, 28 May 2011 09:35:16 +0000 (09:35 +0000)]
keytable: fix segfault when RC driver's module_name is null

Some dvb-usb drivers do not set a proper module_name in their rc.core struct
(e.g. the ttusb2 module and various dib0700 submodules as of 2.6.39).
Auto-load mode was segfaulting if trying to match those drivers with a * value.

Signed-off-by: Cédric Schieli <cschieli@gmail.com>
13 years agoRelease 0.8.4 v4l-utils-0.8.4
Hans de Goede [Wed, 1 Jun 2011 10:47:02 +0000 (12:47 +0200)]
Release 0.8.4

13 years agoAll: update FSF address to their latest address
Hans de Goede [Wed, 1 Jun 2011 11:08:40 +0000 (13:08 +0200)]
All: update FSF address to their latest address

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
13 years agoqv4l2: Add rules to Makefile to actually install the desktop and icon file
Hans de Goede [Wed, 1 Jun 2011 10:55:05 +0000 (12:55 +0200)]
qv4l2: Add rules to Makefile to actually install the desktop and icon file

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
13 years agoqv4l2.desktop: fix desktop-file-validate warnings
Hans de Goede [Wed, 1 Jun 2011 10:51:19 +0000 (12:51 +0200)]
qv4l2.desktop: fix desktop-file-validate warnings

[hans@shalem v4l-utils]$ desktop-file-validate utils/qv4l2/qv4l2.desktop
utils/qv4l2/qv4l2.desktop: warning: key "Encoding" in group "Desktop Entry" is deprecated
utils/qv4l2/qv4l2.desktop: warning: value "Application;AudioVideo;" for key "Categories" in group "Desktop Entry" contains a deprecated value "Application"

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
13 years agolibv4l: Remove lenovo x201 from upside down list
Hans de Goede [Wed, 1 Jun 2011 10:14:12 +0000 (12:14 +0200)]
libv4l: Remove lenovo x201 from upside down list

It is a laptop / tablet convertible, and the webcam is not upside
down when used normally in laptop mode, when holding it upside down
in tablet mode, yes the webcam will be upside down, but that does not count.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
13 years agoget_media_devices: Add types for sound sequencer/timer
Mauro Carvalho Chehab [Sun, 29 May 2011 14:18:44 +0000 (11:18 -0300)]
get_media_devices: Add types for sound sequencer/timer

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoget_media_devices: Prints also device major/minor
Mauro Carvalho Chehab [Sun, 29 May 2011 14:16:18 +0000 (11:16 -0300)]
get_media_devices: Prints also device major/minor

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agov4l2-sysfs-path: Allow choosing the display mode
Mauro Carvalho Chehab [Sun, 29 May 2011 14:13:34 +0000 (11:13 -0300)]
v4l2-sysfs-path: Allow choosing the display mode

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoget_media_devices: don't discard virtual devices
Mauro Carvalho Chehab [Sun, 29 May 2011 13:58:51 +0000 (10:58 -0300)]
get_media_devices: don't discard virtual devices

Instead of discarding virtual devices, just consider each of
them as a new hardware.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoget_media_devices: Constify arguments
Mauro Carvalho Chehab [Sun, 29 May 2011 13:54:09 +0000 (10:54 -0300)]
get_media_devices: Constify arguments

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoget_media_devices: drop a note that some alsa interfaces are missing
Mauro Carvalho Chehab [Sun, 29 May 2011 13:44:47 +0000 (10:44 -0300)]
get_media_devices: drop a note that some alsa interfaces are missing

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoget_media_devices: Add the remaining DVB nodes
Mauro Carvalho Chehab [Sun, 29 May 2011 13:33:59 +0000 (10:33 -0300)]
get_media_devices: Add the remaining DVB nodes

From drivers/media/dvb/dvb-core/dvbdev.c

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoget_media_devices: Implement the remaining V4L nodes
Mauro Carvalho Chehab [Sun, 29 May 2011 13:26:30 +0000 (10:26 -0300)]
get_media_devices: Implement the remaining V4L nodes

in order to match drivers/media/video/v4l2-dev.c

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoget_media_devices: Reserve space for new devices on each type
Mauro Carvalho Chehab [Sun, 29 May 2011 13:17:47 +0000 (10:17 -0300)]
get_media_devices: Reserve space for new devices on each type

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoutils/libmedia_dev/README: add an example to list all video nodes
Mauro Carvalho Chehab [Sun, 29 May 2011 00:55:09 +0000 (21:55 -0300)]
utils/libmedia_dev/README: add an example to list all video nodes

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoget_media_devices: Add a proper documentation about the library
Mauro Carvalho Chehab [Sun, 29 May 2011 00:51:59 +0000 (21:51 -0300)]
get_media_devices: Add a proper documentation about the library

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoget_media_devices: increment API version
Mauro Carvalho Chehab [Sun, 29 May 2011 00:12:10 +0000 (21:12 -0300)]
get_media_devices: increment API version

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoget_media_devices: get associated devices from a filestream
Mauro Carvalho Chehab [Sun, 29 May 2011 00:04:51 +0000 (21:04 -0300)]
get_media_devices: get associated devices from a filestream

Sometimes, it is useful to get the alsa device associated with
a filestream. A new function adds this feature, using fstat()
call: fget_associated_device().

Tested with the code bellow:

int fd = open("/dev/video0", O_RDWR);
if (fd < 0)
perror("Couldn't open");
char *alsa = fget_associated_device(md, NULL, MEDIA_SND_CAP, fd, MEDIA_V4L_VIDEO);
printf("\n\nAlsa device = %s\n", alsa);
close(fd);

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoget_media_devices: code cleanup
Mauro Carvalho Chehab [Sat, 28 May 2011 21:02:37 +0000 (18:02 -0300)]
get_media_devices: code cleanup

whitespacing & coding style fixes, and a few trivial cleanups.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoget_media_devices: While not too late, change enum definitions
Mauro Carvalho Chehab [Sat, 28 May 2011 20:53:22 +0000 (17:53 -0300)]
get_media_devices: While not too late, change enum definitions

Enum definitions like "NONE" and "UNKNOWN" are dangerous, as
they may conflict with something else. So add MEDIA_ prefix
to all enums to avoid it.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoget_media_devices: Extract major/minor info from the uevent nodes
Mauro Carvalho Chehab [Sat, 28 May 2011 20:45:25 +0000 (17:45 -0300)]
get_media_devices: Extract major/minor info from the uevent nodes

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoget_media_devices: fix get_associated_device() logic
Mauro Carvalho Chehab [Sat, 28 May 2011 20:00:33 +0000 (17:00 -0300)]
get_media_devices: fix get_associated_device() logic

If both last_seek and seek_device is specified and there are multiple
matches, an endless loop were happening.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agov4l2-sysfs-path: Show devices ordered by the video node number
Mauro Carvalho Chehab [Sat, 28 May 2011 19:49:57 +0000 (16:49 -0300)]
v4l2-sysfs-path: Show devices ordered by the video node number

Instead of calling the default print function, it implements its
own logic that will print all devices video ordered, plus the
audio playback devices. The output will be something like:

Video device: video0
vbi: vbi0
dvb frontend: dvb0.frontend0
dvb demux: dvb0.demux0
dvb dvr: dvb0.dvr0
dvb net: dvb0.net0
sound card: hw:2
pcm capture: hw:2,0
mixer: hw:2
Video device: video1
sound card: hw:1
pcm capture: hw:1,0
mixer: hw:1
Alsa playback device(s): hw:0,0 hw:0,1

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoget_media_devices: fix device enumberation routines
Mauro Carvalho Chehab [Sat, 28 May 2011 19:40:57 +0000 (16:40 -0300)]
get_media_devices: fix device enumberation routines

When called inside a loop, the get_* functions weren't working.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoget_media_devices: Use a more generic way to get associated devices
Mauro Carvalho Chehab [Sat, 28 May 2011 16:13:01 +0000 (13:13 -0300)]
get_media_devices: Use a more generic way to get associated devices

Instead of having a method that works just for alsa, extend them
to be generic enough to show all types of devices.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoget_media_devices: Improve usecase example and put it at the beginning
Mauro Carvalho Chehab [Sat, 28 May 2011 14:09:00 +0000 (11:09 -0300)]
get_media_devices: Improve usecase example and put it at the beginning

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoget_media_devices: Discard path when handling a video node name
Mauro Carvalho Chehab [Sat, 28 May 2011 14:08:31 +0000 (11:08 -0300)]
get_media_devices: Discard path when handling a video node name

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoget_media_devices: fix a typo and remove an unused var
Mauro Carvalho Chehab [Sat, 28 May 2011 13:54:00 +0000 (10:54 -0300)]
get_media_devices: fix a typo and remove an unused var

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoget_media_devices: Make internal structs opaque
Mauro Carvalho Chehab [Sat, 28 May 2011 13:48:21 +0000 (10:48 -0300)]
get_media_devices: Make internal structs opaque

The internal structs used to retrieve sysfs information were
designed to fulfill internal design requirements in a way that
the data is easily stored inside it. They're not meant to
be used outside the library. Other methods will export the
retrieved information in a way that they'll be useful for
the applications.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agolibv4l: update upside down device list
Hans de Goede [Sat, 28 May 2011 08:10:00 +0000 (10:10 +0200)]
libv4l: update upside down device list

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
13 years agoqv4l2: filter unknown control types.
Hans Verkuil [Fri, 27 May 2011 09:59:51 +0000 (11:59 +0200)]
qv4l2: filter unknown control types.

qv4l2 would crash if it encounters a control of an unknown (new?) type.

Skip such controls instead.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
13 years agoqv4l2: fix handling of private controls
Hans Verkuil [Fri, 27 May 2011 09:53:10 +0000 (11:53 +0200)]
qv4l2: fix handling of private controls

Extended controls should be used for the user class if there are string
controls, integer64 controls or if V4L2_CTRL_DRIVER_PRIV(id) is true.

That last test was missing.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
13 years agov4l2-compliance: fix S_CTRL test for read-only controls.
Hans Verkuil [Fri, 27 May 2011 09:49:40 +0000 (11:49 +0200)]
v4l2-compliance: fix S_CTRL test for read-only controls.

Fix a faulty failure report for setting read-only controls with
S_CTRL that correctly returned -EACCES.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
13 years agolibv4l: update upside down device list
Hans de Goede [Fri, 27 May 2011 09:39:24 +0000 (11:39 +0200)]
libv4l: update upside down device list

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
13 years agolibv4l: update upside down device list
Hans de Goede [Thu, 26 May 2011 10:46:09 +0000 (12:46 +0200)]
libv4l: update upside down device list

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
13 years agolibmedia_dev: Comment the install methods for now
Mauro Carvalho Chehab [Tue, 24 May 2011 10:57:14 +0000 (07:57 -0300)]
libmedia_dev: Comment the install methods for now

As a new version of v4l-utils is about to be released, for now, comment
the install procedure for the new library, as it is just too new.

I'd like to keep this library being tested for a while before exporting
it on a version release.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agolibmedia_dev: Create a new library to handle media devices
Mauro Carvalho Chehab [Tue, 24 May 2011 10:41:15 +0000 (07:41 -0300)]
libmedia_dev: Create a new library to handle media devices

The libmedia_dev library contains API's meant to be used by media
applications that needs to share some common code.

For now, it contains the routines that enumerates the media devices
and provides the associated audio devices that are needed in order
to allow playing audio for a given V4L source.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoAdd proper documentation to get_media_devices API
Mauro Carvalho Chehab [Tue, 24 May 2011 10:35:40 +0000 (07:35 -0300)]
Add proper documentation to get_media_devices API

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoget_media_devices: Fix a small typo at alsa hw descriptors
Mauro Carvalho Chehab [Mon, 23 May 2011 13:07:12 +0000 (10:07 -0300)]
get_media_devices: Fix a small typo at alsa hw descriptors

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoAdd an install target to libv4l2util
Mauro Carvalho Chehab [Mon, 23 May 2011 10:00:00 +0000 (07:00 -0300)]
Add an install target to libv4l2util

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoget_media_devices: add a function to provide an audio output device
Mauro Carvalho Chehab [Mon, 23 May 2011 09:43:01 +0000 (06:43 -0300)]
get_media_devices: add a function to provide an audio output device

Provide the first audio output device not related to a v4l device, assuming
that the sound card is a different device. If none found, just get any
output device, even it inside the same board that provides video4linux
interface.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>