Move dev->subdev_fd
to dev->v4l2.subdev_fd
This commit is contained in:
@ -5,7 +5,7 @@
|
||||
int v4l2_device_open(device_t *dev)
|
||||
{
|
||||
dev->fd = -1;
|
||||
dev->subdev_fd = -1;
|
||||
dev->v4l2.subdev_fd = -1;
|
||||
|
||||
dev->fd = open(dev->path, O_RDWR|O_NONBLOCK);
|
||||
if (dev->fd < 0) {
|
||||
@ -22,7 +22,8 @@ int v4l2_device_open(device_t *dev)
|
||||
}
|
||||
|
||||
strcpy(dev->bus_info, v4l2_cap.bus_info);
|
||||
dev->subdev_fd = v4l2_device_open_v4l2_subdev(dev, 0);
|
||||
dev->v4l2.subdev_fd = v4l2_device_open_v4l2_subdev(dev, 0);
|
||||
E_LOG_INFO(dev, "Device path=%s fd=%d opened", dev->path, dev->fd);
|
||||
|
||||
return 0;
|
||||
|
||||
@ -32,8 +33,8 @@ error:
|
||||
|
||||
void v4l2_device_close(device_t *dev)
|
||||
{
|
||||
if (dev->subdev_fd >= 0) {
|
||||
close(dev->subdev_fd);
|
||||
if (dev->v4l2.subdev_fd >= 0) {
|
||||
close(dev->v4l2.subdev_fd);
|
||||
}
|
||||
|
||||
if(dev->fd >= 0) {
|
||||
|
@ -111,7 +111,7 @@ int v4l2_device_set_pad_format(device_t *dev, unsigned width, unsigned height, u
|
||||
{
|
||||
struct v4l2_subdev_format fmt = {0};
|
||||
|
||||
if (dev->subdev_fd < 0) {
|
||||
if (dev->v4l2.subdev_fd < 0) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
@ -123,8 +123,8 @@ int v4l2_device_set_pad_format(device_t *dev, unsigned width, unsigned height, u
|
||||
fmt.format.colorspace = V4L2_COLORSPACE_RAW;
|
||||
fmt.format.field = V4L2_FIELD_ANY;
|
||||
|
||||
E_LOG_DEBUG(dev, "Configuring mpad %d (subdev_fd=%d)...", fmt.pad, dev->subdev_fd);
|
||||
E_XIOCTL(dev, dev->subdev_fd, VIDIOC_SUBDEV_S_FMT, &fmt, "Can't configure mpad %d (subdev_fd=%d)", fmt.pad, dev->subdev_fd);
|
||||
E_LOG_DEBUG(dev, "Configuring mpad %d (subdev_fd=%d)...", fmt.pad, dev->v4l2.subdev_fd);
|
||||
E_XIOCTL(dev, dev->v4l2.subdev_fd, VIDIOC_SUBDEV_S_FMT, &fmt, "Can't configure mpad %d (subdev_fd=%d)", fmt.pad, dev->v4l2.subdev_fd);
|
||||
return 0;
|
||||
|
||||
error:
|
||||
|
@ -15,7 +15,7 @@ int v4l2_device_set_option_by_id(device_t *dev, const char *name, uint32_t id, i
|
||||
ctl.id = id;
|
||||
ctl.value = value;
|
||||
E_LOG_DEBUG(dev, "Configuring option %s (%08x) = %d", name, id, value);
|
||||
E_XIOCTL(dev, dev->subdev_fd >= 0 ? dev->subdev_fd : dev->fd, VIDIOC_S_CTRL, &ctl, "Can't set option %s", name);
|
||||
E_XIOCTL(dev, dev->v4l2.subdev_fd >= 0 ? dev->v4l2.subdev_fd : dev->fd, VIDIOC_S_CTRL, &ctl, "Can't set option %s", name);
|
||||
return 0;
|
||||
error:
|
||||
return -1;
|
||||
@ -152,8 +152,8 @@ int v4l2_device_set_option(device_t *dev, const char *key, const char *value)
|
||||
|
||||
v4l2_device_option_normalize_name(keyp);
|
||||
|
||||
if (dev->subdev_fd >= 0)
|
||||
ret = v4l2_device_set_option_string_fd(dev, dev->subdev_fd, keyp, valuep);
|
||||
if (dev->v4l2.subdev_fd >= 0)
|
||||
ret = v4l2_device_set_option_string_fd(dev, dev->v4l2.subdev_fd, keyp, valuep);
|
||||
if (ret <= 0)
|
||||
ret = v4l2_device_set_option_string_fd(dev, dev->fd, keyp, valuep);
|
||||
|
||||
|
Reference in New Issue
Block a user