* [PATCH v1] v4l2-utils: Fix incorrect use of fd in streaming_set_cap2out
@ 2022-01-04 13:07 Vedant Paranjape
2022-01-04 20:08 ` Laurent Pinchart
0 siblings, 1 reply; 2+ messages in thread
From: Vedant Paranjape @ 2022-01-04 13:07 UTC (permalink / raw)
To: linux-media; +Cc: laurent.pinchart, hverkuil-cisco, Vedant Paranjape
Running the "Stream video from a capture video device (/dev/video1) to an
output video device (/dev/video2)" example from the manpage with vivid
as the output device failed with a error message.
vedant@pc ~$ v4l2-ctl --list-devices
vivid (platform:vivid-000):
/dev/video2
/dev/video3
/dev/radio0
/dev/radio1
/dev/vbi0
/dev/vbi1
/dev/swradio0
/dev/media1
HD WebCam: HD WebCam (usb-0000:00:14.0-7):
/dev/video0
/dev/video1
/dev/media0
vedant@pc ~$ v4l2-ctl -d0 --stream-mmap --out-device /dev/video3 --stream-out-dmabuf
VIDIOC_G_FMT returned -1 (Invalid argument)
<VIDIOC_QBUF: failed: Invalid argument
handle out -1
handle out2in -1
While using the --out-device mode g_fmt must be operated on out_fd as
well. determine_field was called on fps_timestamp object for output, but was
not passed out_fd.
This patch fixes the VIDIOC_G_FMT returned -1 (Invalid argument) error.
Signed-off-by: Vedant Paranjape <vedantparanjape160201@gmail.com>
---
utils/v4l2-ctl/v4l2-ctl-streaming.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/utils/v4l2-ctl/v4l2-ctl-streaming.cpp b/utils/v4l2-ctl/v4l2-ctl-streaming.cpp
index 752ea140..7f6482d6 100644
--- a/utils/v4l2-ctl/v4l2-ctl-streaming.cpp
+++ b/utils/v4l2-ctl/v4l2-ctl-streaming.cpp
@@ -2666,7 +2666,7 @@ static void streaming_set_cap2out(cv4l_fd &fd, cv4l_fd &out_fd)
unsigned cnt = 0;
cv4l_fmt fmt[2];
- fd.g_fmt(fmt[OUT], out.g_type());
+ out_fd.g_fmt(fmt[OUT], out.g_type());
fd.g_fmt(fmt[CAP], in.g_type());
if (!(capabilities & (V4L2_CAP_VIDEO_CAPTURE |
V4L2_CAP_VIDEO_CAPTURE_MPLANE |
@@ -2757,7 +2757,7 @@ static void streaming_set_cap2out(cv4l_fd &fd, cv4l_fd &out_fd)
}
fps_ts[CAP].determine_field(fd.g_fd(), in.g_type());
- fps_ts[OUT].determine_field(fd.g_fd(), out.g_type());
+ fps_ts[OUT].determine_field(out_fd.g_fd(), out.g_type());
if (fd.streamon() || out_fd.streamon())
goto done;
--
2.25.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH v1] v4l2-utils: Fix incorrect use of fd in streaming_set_cap2out
2022-01-04 13:07 [PATCH v1] v4l2-utils: Fix incorrect use of fd in streaming_set_cap2out Vedant Paranjape
@ 2022-01-04 20:08 ` Laurent Pinchart
0 siblings, 0 replies; 2+ messages in thread
From: Laurent Pinchart @ 2022-01-04 20:08 UTC (permalink / raw)
To: Vedant Paranjape; +Cc: linux-media, Hans Verkuil
Hi Vedant,
Thank you for the patch.
On Tue, Jan 04, 2022 at 06:37:08PM +0530, Vedant Paranjape wrote:
> Running the "Stream video from a capture video device (/dev/video1) to an
> output video device (/dev/video2)" example from the manpage with vivid
> as the output device failed with a error message.
>
> vedant@pc ~$ v4l2-ctl --list-devices
> vivid (platform:vivid-000):
> /dev/video2
> /dev/video3
> /dev/radio0
> /dev/radio1
> /dev/vbi0
> /dev/vbi1
> /dev/swradio0
> /dev/media1
>
> HD WebCam: HD WebCam (usb-0000:00:14.0-7):
> /dev/video0
> /dev/video1
> /dev/media0
>
> vedant@pc ~$ v4l2-ctl -d0 --stream-mmap --out-device /dev/video3 --stream-out-dmabuf
> VIDIOC_G_FMT returned -1 (Invalid argument)
> <VIDIOC_QBUF: failed: Invalid argument
> handle out -1
> handle out2in -1
>
> While using the --out-device mode g_fmt must be operated on out_fd as
> well. determine_field was called on fps_timestamp object for output, but was
> not passed out_fd.
>
> This patch fixes the VIDIOC_G_FMT returned -1 (Invalid argument) error.
>
> Signed-off-by: Vedant Paranjape <vedantparanjape160201@gmail.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Tested-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> ---
> utils/v4l2-ctl/v4l2-ctl-streaming.cpp | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/utils/v4l2-ctl/v4l2-ctl-streaming.cpp b/utils/v4l2-ctl/v4l2-ctl-streaming.cpp
> index 752ea140..7f6482d6 100644
> --- a/utils/v4l2-ctl/v4l2-ctl-streaming.cpp
> +++ b/utils/v4l2-ctl/v4l2-ctl-streaming.cpp
> @@ -2666,7 +2666,7 @@ static void streaming_set_cap2out(cv4l_fd &fd, cv4l_fd &out_fd)
> unsigned cnt = 0;
> cv4l_fmt fmt[2];
>
> - fd.g_fmt(fmt[OUT], out.g_type());
> + out_fd.g_fmt(fmt[OUT], out.g_type());
> fd.g_fmt(fmt[CAP], in.g_type());
> if (!(capabilities & (V4L2_CAP_VIDEO_CAPTURE |
> V4L2_CAP_VIDEO_CAPTURE_MPLANE |
> @@ -2757,7 +2757,7 @@ static void streaming_set_cap2out(cv4l_fd &fd, cv4l_fd &out_fd)
> }
>
> fps_ts[CAP].determine_field(fd.g_fd(), in.g_type());
> - fps_ts[OUT].determine_field(fd.g_fd(), out.g_type());
> + fps_ts[OUT].determine_field(out_fd.g_fd(), out.g_type());
>
> if (fd.streamon() || out_fd.streamon())
> goto done;
--
Regards,
Laurent Pinchart
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2022-01-04 20:08 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-04 13:07 [PATCH v1] v4l2-utils: Fix incorrect use of fd in streaming_set_cap2out Vedant Paranjape
2022-01-04 20:08 ` Laurent Pinchart
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.