[FFmpeg-devel] [PATCH] lavd/v4l2: allow devices not implementing VIDIOC_G_PARM
Benoit Fouet
benoit.fouet at free.fr
Thu Jun 16 10:16:54 CEST 2016
Hi,
On 15/06/2016 17:21, Niklas Söderlund wrote:
> Not all v4l2 devices implement the VIDIOC_G_PARM ioctl. This patch allow
> ffmpeg to open such device and treat it the same as devices that do
> implement the ioctl but returns that it do not implement the
> V4L2_CAP_TIMEPERFRAME capability.
>
> Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas at ragnatech.se>
> ---
> libavdevice/v4l2.c | 7 ++-----
> 1 file changed, 2 insertions(+), 5 deletions(-)
>
> diff --git a/libavdevice/v4l2.c b/libavdevice/v4l2.c
> index 103fb10..c8915e0 100644
> --- a/libavdevice/v4l2.c
> +++ b/libavdevice/v4l2.c
> @@ -715,11 +715,8 @@ static int v4l2_set_parameters(AVFormatContext *ctx)
> streamparm.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
> if (v4l2_ioctl(s->fd, VIDIOC_G_PARM, &streamparm) < 0) {
> ret = AVERROR(errno);
> - av_log(ctx, AV_LOG_ERROR, "ioctl(VIDIOC_G_PARM): %s\n", av_err2str(ret));
> - return ret;
> - }
> -
> - if (framerate_q.num && framerate_q.den) {
> + av_log(ctx, AV_LOG_WARNING, "ioctl(VIDIOC_G_PARM): %s\n", av_err2str(ret));
> + } else if (framerate_q.num && framerate_q.den) {
> if (streamparm.parm.capture.capability & V4L2_CAP_TIMEPERFRAME) {
> tpf = &streamparm.parm.capture.timeperframe;
>
LGTM
--
Ben
More information about the ffmpeg-devel
mailing list