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

Carl Eugen Hoyos ceffmpeg at gmail.com
Wed Mar 20 19:58:46 EET 2019


2019-02-09 15:51 GMT+01:00, Carl Eugen Hoyos <ceffmpeg at gmail.com>:
> 2019-02-09 14:37 GMT+01:00, Carl Eugen Hoyos <ceffmpeg at gmail.com>:
>> 2019-02-01 1:13 GMT+01:00, Michael Niedermayer <michael at niedermayer.cc>:
>>> 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
>>
>> New patch attached.
>
> Now with correct condition.

Patch applied.

Carl Eugen


More information about the ffmpeg-devel mailing list