[FFmpeg-devel] [RFC/PATCH]lavc/v4l2_context: Change the type of the ioctl cmd to unsigned long
Mark Thompson
sw at jkqxz.net
Sun Nov 5 03:52:38 EET 2017
On 05/11/17 01:25, Carl Eugen Hoyos wrote:
> 2017-11-05 1:46 GMT+01:00 Carl Eugen Hoyos <ceffmpeg at gmail.com>:
>
>> Attached patch fixes a warning on a current 64bit Linux system (that I
>> do not see on my ancient system where the ioctl cmd has type int).
>> Is there a better way to deal with it?
>
> The way I understand the issue the attached patch works with both
> int and unsigned long as types.
> From 7acece14950f212f49d7a24e14803a25c27aba3b Mon Sep 17 00:00:00 2001
> From: Carl Eugen Hoyos <ceffmpeg at gmail.com>
> Date: Sun, 5 Nov 2017 01:53:49 +0100
> Subject: [PATCH] lavc/v4l2_context: Change the type of the ioctl cmd to
> unsigned.
>
> Fixes a warning on recent Linux:
> libavcodec/v4l2_context.c: In function 'ff_v4l2_context_set_status':
> libavcodec/v4l2_context.c:496:26: warning: comparison is always false due to limited range of data type
> ---
> libavcodec/v4l2_context.c | 2 +-
> libavcodec/v4l2_context.h | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/libavcodec/v4l2_context.c b/libavcodec/v4l2_context.c
> index 9f3b56d..78aa0fa 100644
> --- a/libavcodec/v4l2_context.c
> +++ b/libavcodec/v4l2_context.c
> @@ -484,7 +484,7 @@ static int v4l2_get_coded_format(V4L2Context* ctx, uint32_t *p)
> *
> *****************************************************************************/
>
> -int ff_v4l2_context_set_status(V4L2Context* ctx, int cmd)
> +int ff_v4l2_context_set_status(V4L2Context* ctx, unsigned cmd)
> {
> int type = ctx->type;
> int ret;
> diff --git a/libavcodec/v4l2_context.h b/libavcodec/v4l2_context.h
> index 503cc36..4d7734a 100644
> --- a/libavcodec/v4l2_context.h
> +++ b/libavcodec/v4l2_context.h
> @@ -135,7 +135,7 @@ void ff_v4l2_context_release(V4L2Context* ctx);
> * those frames will be dropped.
> * @return 0 in case of success, a negative value representing the error otherwise.
> */
> -int ff_v4l2_context_set_status(V4L2Context* ctx, int cmd);
> +int ff_v4l2_context_set_status(V4L2Context* ctx, unsigned cmd);
>
> /**
> * Dequeues a buffer from a V4L2Context to an AVPacket.
> --
> 1.7.10.4
>
This one LGTM. (I don't mind between unsigned int or uint32_t.)
Thanks,
- Mark
More information about the ffmpeg-devel
mailing list