[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