[FFmpeg-devel] [PATCH]lavf:Constify AVInputFormat pointer

Michael Niedermayer michael at niedermayer.cc
Fri Feb 1 02:13:04 EET 2019


On Thu, Jan 31, 2019 at 09:54:14PM +0100, Carl Eugen Hoyos wrote:
> 2019-01-31 21:43 GMT+01:00, Carl Eugen Hoyos <ceffmpeg at gmail.com>:
> > Hi!
> >
> > Attached patch persistently uses "const" for AVInputFormat pointer
> > after the next version bump.
> 
> Now with an actually working version.
> 
> Please comment, Carl Eugen

>  allformats.c |    6 +++++-
>  avformat.h   |   32 +++++++++++++++++++++++++++++++-
>  dashdec.c    |    3 +++
>  format.c     |   32 ++++++++++++++++++++++++++++++--
>  hls.c        |    3 +++
>  img2dec.c    |    2 +-
>  mpeg.c       |    3 +++
>  rtpdec_asf.c |    3 +++
>  sapdec.c     |    3 +++
>  utils.c      |   11 ++++++++---
>  version.h    |    3 +++
>  11 files changed, 93 insertions(+), 8 deletions(-)
> d3aece2f0b9a9c3ff8b2a187ceccdc744ea40de2  0001-lavf-Constify-AVInputFormat-pointer.patch
> From f383a7f914b2c7240378b404d529a7d73c68941b Mon Sep 17 00:00:00 2001
> From: Carl Eugen Hoyos <ceffmpeg at gmail.com>
> Date: Thu, 31 Jan 2019 21:51:56 +0100
> Subject: [PATCH] lavf: Constify AVInputFormat pointer.
> 
> ---
>  libavformat/allformats.c |    6 +++++-
>  libavformat/avformat.h   |   32 +++++++++++++++++++++++++++++++-
>  libavformat/dashdec.c    |    3 +++
>  libavformat/format.c     |   32 ++++++++++++++++++++++++++++++--
>  libavformat/hls.c        |    3 +++
>  libavformat/img2dec.c    |    2 +-
>  libavformat/mpeg.c       |    3 +++
>  libavformat/rtpdec_asf.c |    3 +++
>  libavformat/sapdec.c     |    3 +++
>  libavformat/utils.c      |   11 ++++++++---
>  libavformat/version.h    |    3 +++
>  11 files changed, 93 insertions(+), 8 deletions(-)
> 
> diff --git a/libavformat/allformats.c b/libavformat/allformats.c
> index 0684498..01c4c14 100644
> --- a/libavformat/allformats.c
> +++ b/libavformat/allformats.c
> @@ -583,7 +583,11 @@ AVInputFormat *av_iformat_next(const AVInputFormat *f)
>      ff_thread_once(&av_format_next_init, av_format_init_next);
>  
>      if (f)
> -        return f->next;
> +        return
> +#if !FF_API_AVINPUTFORMAT
> +               (AVInputFormat *)
> +#endif
> +                                 f->next;
>      else {
>          void *opaque = NULL;
>          return (AVInputFormat *)av_demuxer_iterate(&opaque);
> diff --git a/libavformat/avformat.h b/libavformat/avformat.h
> index fdaffa5..7c4ec8f 100644
> --- a/libavformat/avformat.h
> +++ b/libavformat/avformat.h
> @@ -676,7 +676,10 @@ typedef struct AVInputFormat {
>       * New public fields should be added right above.
>       *****************************************************************
>       */
> -    struct AVInputFormat *next;
> +#if !FF_API_AVINPUTFORMAT
> +    const
> +#endif
> +struct AVInputFormat *next;

some av_const59 which is defined to nothing until version 59
should avoid the repeated #if/endif
it would require an eventual update to change it to const at some
point but it would avoid most preprocessor comands

[...]

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

The bravest are surely those who have the clearest vision
of what is before them, glory and danger alike, and yet
notwithstanding go out to meet it. -- Thucydides
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20190201/1737d7b7/attachment.sig>


More information about the ffmpeg-devel mailing list