Move dev->fd to dev->v4l2.dev_fd

This commit is contained in:
Kamil Trzcinski
2022-04-10 12:02:54 +02:00
parent ce439fc1ee
commit ec50191992
8 changed files with 28 additions and 29 deletions

View File

@ -4,18 +4,18 @@
int v4l2_device_open(device_t *dev)
{
dev->fd = -1;
dev->v4l2.dev_fd = -1;
dev->v4l2.subdev_fd = -1;
dev->fd = open(dev->path, O_RDWR|O_NONBLOCK);
if (dev->fd < 0) {
dev->v4l2.dev_fd = open(dev->path, O_RDWR|O_NONBLOCK);
if (dev->v4l2.dev_fd < 0) {
E_LOG_ERROR(dev, "Can't open device: %s", dev->path);
goto error;
}
E_LOG_DEBUG(dev, "Querying device capabilities ...");
struct v4l2_capability v4l2_cap;
E_XIOCTL(dev, dev->fd, VIDIOC_QUERYCAP, &v4l2_cap, "Can't query device capabilities");
E_XIOCTL(dev, dev->v4l2.dev_fd, VIDIOC_QUERYCAP, &v4l2_cap, "Can't query device capabilities");
if (!(v4l2_cap.capabilities & V4L2_CAP_STREAMING)) {
E_LOG_ERROR(dev, "Device doesn't support streaming IO");
@ -23,7 +23,7 @@ int v4l2_device_open(device_t *dev)
strcpy(dev->bus_info, v4l2_cap.bus_info);
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);
E_LOG_INFO(dev, "Device path=%s fd=%d opened", dev->path, dev->v4l2.dev_fd);
return 0;
@ -37,8 +37,8 @@ void v4l2_device_close(device_t *dev)
close(dev->v4l2.subdev_fd);
}
if(dev->fd >= 0) {
close(dev->fd);
if(dev->v4l2.dev_fd >= 0) {
close(dev->v4l2.dev_fd);
}
}
@ -50,7 +50,7 @@ int v4l2_device_set_decoder_start(device_t *dev, bool do_on)
cmd.cmd = do_on ? V4L2_DEC_CMD_START : V4L2_DEC_CMD_STOP;
E_LOG_DEBUG(dev, "Setting decoder state %s...", do_on ? "Start" : "Stop");
E_XIOCTL(dev, dev->fd, VIDIOC_DECODER_CMD, &cmd, "Cannot set decoder state");
E_XIOCTL(dev, dev->v4l2.dev_fd, VIDIOC_DECODER_CMD, &cmd, "Cannot set decoder state");
return 0;
@ -64,7 +64,7 @@ int v4l2_device_video_force_key(device_t *dev)
ctl.id = V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME;
ctl.value = 1;
E_LOG_DEBUG(dev, "Forcing keyframe ...");
E_XIOCTL(dev, dev->fd, VIDIOC_S_CTRL, &ctl, "Can't force keyframe");
E_XIOCTL(dev, dev->v4l2.dev_fd, VIDIOC_S_CTRL, &ctl, "Can't force keyframe");
return 0;
error:
@ -83,7 +83,7 @@ int v4l2_device_set_fps(device_t *dev, int desired_fps)
setfps.parm.output.timeperframe.numerator = 1;
setfps.parm.output.timeperframe.denominator = desired_fps;
E_LOG_DEBUG(dev, "Configuring FPS ...");
E_XIOCTL(dev, dev->fd, VIDIOC_S_PARM, &setfps, "Can't set FPS");
E_XIOCTL(dev, dev->v4l2.dev_fd, VIDIOC_S_PARM, &setfps, "Can't set FPS");
return 0;
error:
return -1;