Message ID | CAB0OVGr1dUjagB+H2dK6tdh7vqxStSiGgWhWGRUq=vQ8=HHX2g@mail.gmail.com |
---|---|
State | Superseded |
Headers | show |
2019-01-27 22:38 GMT+01:00, Carl Eugen Hoyos <ceffmpeg@gmail.com>:
> Attached patch was requested in ticket #7220 iiuc.
Ping.
Carl Eugen
On Sun, Jan 27, 2019 at 10:38:13PM +0100, Carl Eugen Hoyos wrote: > Hi! > > Attached patch was requested in ticket #7220 iiuc. > > Please review, Carl Eugen > avformat.h | 8 ++++---- > format.c | 4 ++-- > hls.c | 2 +- > utils.c | 4 ++-- > 4 files changed, 9 insertions(+), 9 deletions(-) > 0a59a10c224ba092d8b7b61e3cac78a93c23bee2 0001-lavf-Constify-AVInputFormat-pointer.patch > From a713b58767e8d77b641d1b87e68de11c176fd454 Mon Sep 17 00:00:00 2001 > From: Carl Eugen Hoyos <ceffmpeg@gmail.com> > Date: Sun, 27 Jan 2019 22:35:51 +0100 > Subject: [PATCH] lavf: Constify AVInputFormat pointer. there is some tiny chance this could break some user apps build i think so if done strictly correct it would need to be delayed to the next bump i think [...]
On 1/30/2019 12:33 PM, Michael Niedermayer wrote: > On Sun, Jan 27, 2019 at 10:38:13PM +0100, Carl Eugen Hoyos wrote: >> Hi! >> >> Attached patch was requested in ticket #7220 iiuc. >> >> Please review, Carl Eugen > >> avformat.h | 8 ++++---- >> format.c | 4 ++-- >> hls.c | 2 +- >> utils.c | 4 ++-- >> 4 files changed, 9 insertions(+), 9 deletions(-) >> 0a59a10c224ba092d8b7b61e3cac78a93c23bee2 0001-lavf-Constify-AVInputFormat-pointer.patch >> From a713b58767e8d77b641d1b87e68de11c176fd454 Mon Sep 17 00:00:00 2001 >> From: Carl Eugen Hoyos <ceffmpeg@gmail.com> >> Date: Sun, 27 Jan 2019 22:35:51 +0100 >> Subject: [PATCH] lavf: Constify AVInputFormat pointer. > > there is some tiny chance this could break some user apps build i think > so if done strictly correct it would need to be delayed to the next > bump i think We have tied constifying (or the opposite) to major bumps before, so i agree.
2019-01-30 17:03 GMT+01:00, James Almer <jamrial@gmail.com>: > On 1/30/2019 12:33 PM, Michael Niedermayer wrote: >> On Sun, Jan 27, 2019 at 10:38:13PM +0100, Carl Eugen Hoyos wrote: >>> Attached patch was requested in ticket #7220 iiuc. >>> >>> Please review, Carl Eugen >> >>> avformat.h | 8 ++++---- >>> format.c | 4 ++-- >>> hls.c | 2 +- >>> utils.c | 4 ++-- >>> 4 files changed, 9 insertions(+), 9 deletions(-) >>> 0a59a10c224ba092d8b7b61e3cac78a93c23bee2 >>> 0001-lavf-Constify-AVInputFormat-pointer.patch >>> From a713b58767e8d77b641d1b87e68de11c176fd454 Mon Sep 17 00:00:00 2001 >>> From: Carl Eugen Hoyos <ceffmpeg@gmail.com> >>> Date: Sun, 27 Jan 2019 22:35:51 +0100 >>> Subject: [PATCH] lavf: Constify AVInputFormat pointer. >> >> there is some tiny chance this could break some user apps >> build i think so if done strictly correct it would need to be >> delayed to the next bump i think Yes, it unfortunately breaks C++ compilation: #define __STDC_CONSTANT_MACROS #include "libavformat/avformat.h" int main() { /*const*/ AVInputFormat **dummy = NULL; return av_probe_input_buffer2(NULL, dummy, NULL, NULL, 0, 0); } > We have tied constifying (or the opposite) to major bumps before, > so i agree. It depended on the placement of const, I believe this patch did not break anything: http://git.videolan.org/?p=ffmpeg.git;a=commitdiff;h=f2c86705 Will try to create a new patch with a version dependency, Carl Eugen
From a713b58767e8d77b641d1b87e68de11c176fd454 Mon Sep 17 00:00:00 2001 From: Carl Eugen Hoyos <ceffmpeg@gmail.com> Date: Sun, 27 Jan 2019 22:35:51 +0100 Subject: [PATCH] lavf: Constify AVInputFormat pointer. --- libavformat/avformat.h | 8 ++++---- libavformat/format.c | 4 ++-- libavformat/hls.c | 2 +- libavformat/utils.c | 4 ++-- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/libavformat/avformat.h b/libavformat/avformat.h index fdaffa5..9cfdbe8 100644 --- a/libavformat/avformat.h +++ b/libavformat/avformat.h @@ -1346,7 +1346,7 @@ typedef struct AVFormatContext { * * Demuxing only, set by avformat_open_input(). */ - struct AVInputFormat *iformat; + const struct AVInputFormat *iformat; /** * The output container format. @@ -2272,14 +2272,14 @@ AVInputFormat *av_probe_input_format3(AVProbeData *pd, int is_opened, int *score * the maximal score is AVPROBE_SCORE_MAX * AVERROR code otherwise */ -int av_probe_input_buffer2(AVIOContext *pb, AVInputFormat **fmt, +int av_probe_input_buffer2(AVIOContext *pb, AVInputFormat const **fmt, const char *url, void *logctx, unsigned int offset, unsigned int max_probe_size); /** * Like av_probe_input_buffer2() but returns 0 on success */ -int av_probe_input_buffer(AVIOContext *pb, AVInputFormat **fmt, +int av_probe_input_buffer(AVIOContext *pb, const AVInputFormat **fmt, const char *url, void *logctx, unsigned int offset, unsigned int max_probe_size); @@ -2302,7 +2302,7 @@ int av_probe_input_buffer(AVIOContext *pb, AVInputFormat **fmt, * * @note If you want to use custom IO, preallocate the format context and set its pb field. */ -int avformat_open_input(AVFormatContext **ps, const char *url, AVInputFormat *fmt, AVDictionary **options); +int avformat_open_input(AVFormatContext **ps, const char *url, const AVInputFormat *fmt, AVDictionary **options); attribute_deprecated int av_demuxer_open(AVFormatContext *ic); diff --git a/libavformat/format.c b/libavformat/format.c index 2c4c895..157e09a 100644 --- a/libavformat/format.c +++ b/libavformat/format.c @@ -219,7 +219,7 @@ AVInputFormat *av_probe_input_format(AVProbeData *pd, int is_opened) return av_probe_input_format2(pd, is_opened, &score); } -int av_probe_input_buffer2(AVIOContext *pb, AVInputFormat **fmt, +int av_probe_input_buffer2(AVIOContext *pb, const AVInputFormat **fmt, const char *filename, void *logctx, unsigned int offset, unsigned int max_probe_size) { @@ -309,7 +309,7 @@ fail: return ret < 0 ? ret : score; } -int av_probe_input_buffer(AVIOContext *pb, AVInputFormat **fmt, +int av_probe_input_buffer(AVIOContext *pb, const AVInputFormat **fmt, const char *filename, void *logctx, unsigned int offset, unsigned int max_probe_size) { diff --git a/libavformat/hls.c b/libavformat/hls.c index 8975a87..4c2265a 100644 --- a/libavformat/hls.c +++ b/libavformat/hls.c @@ -1868,7 +1868,7 @@ static int hls_read_header(AVFormatContext *s) /* Open the demuxer for each playlist */ for (i = 0; i < c->n_playlists; i++) { struct playlist *pls = c->playlists[i]; - AVInputFormat *in_fmt = NULL; + const AVInputFormat *in_fmt = NULL; if (!(pls->ctx = avformat_alloc_context())) { ret = AVERROR(ENOMEM); diff --git a/libavformat/utils.c b/libavformat/utils.c index 7afef54..98e8849 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -535,7 +535,7 @@ FF_ENABLE_DEPRECATION_WARNINGS int avformat_open_input(AVFormatContext **ps, const char *filename, - AVInputFormat *fmt, AVDictionary **options) + const AVInputFormat *fmt, AVDictionary **options) { AVFormatContext *s = *ps; int i, ret = 0; @@ -2163,7 +2163,7 @@ static int64_t ff_read_timestamp(AVFormatContext *s, int stream_index, int64_t * int ff_seek_frame_binary(AVFormatContext *s, int stream_index, int64_t target_ts, int flags) { - AVInputFormat *avif = s->iformat; + const AVInputFormat *avif = s->iformat; int64_t av_uninit(pos_min), av_uninit(pos_max), pos, pos_limit; int64_t ts_min, ts_max, ts; int index; -- 1.7.10.4