From patchwork Mon Apr 19 14:09:30 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 27117 Delivered-To: andriy.gelman@gmail.com Received: by 2002:a25:49c5:0:0:0:0:0 with SMTP id w188csp1094412yba; Mon, 19 Apr 2021 07:14:46 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzi3d2BX3ssAVKQOTS7miQnZSwzjcjUKHM/V66R7MCb8UXngmOeib1d5hiGmX7rlLUW8Pkk X-Received: by 2002:a05:6402:2794:: with SMTP id b20mr8233705ede.48.1618841686369; Mon, 19 Apr 2021 07:14:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1618841686; cv=none; d=google.com; s=arc-20160816; b=zPliRYDhqqXP7RJJ5DjsHcyWfE/dI2vAGrZgwYfcH1RRXOWVmaQzDjslgq1uVvlJbp TBdVV/18jPqY0t3aWggSrSoiYhzbVTAsujolWg+EpiMcrPbmyzufwAPSmZOM6fW+SzcH D3zz7BnW7FP8VmRpNCemndSVczfDF9XLAJYrXlD3cwMwLWiXr1OkBhxAe75Jl0UcJqES x2yaZkX4yOwrzTV068P/f3ERR1rdc/dK3IKMtmkqOMAvuMukRBU2e6Iv4MZNclu6ZXQR 8VxFjNBiSOvuwMOFcuwKIPlE5e+0dwnowtAQu07SyOaRRZ7URSFgq7n3tQiafwufGhve Q6fA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:references:in-reply-to:message-id :date:to:from:dkim-signature:delivered-to; bh=kpfIdynpXEkHmg3HSrjgB35PJLVA1Hs7Diqfzv8hBrU=; b=sAq2xm4SruO+AYgLiIHMZyRAoX70BKTsyOWr3VT/z6YttSdBN+i4LO25zHf+26Xc+M b2Fj+LD1j0ktbd/yBaexlS1oM37Ou14LII7l/KRLFIG9IWsf5Tj3h+sosGqQLDGRkbcM 8kX7eikfUQHF1o1qUHIWFcZkYLqwCqZG5+dt2o3t8GFj7YWPET6U9HgUgmg9VwdXYz2Z 7i3y/t2UtFVvS/OM5NIocehsz0qad6VwKwO6yN2QiHvDYRQFiIJ5fuHuOvJ7BKAjQ0ux xazjFeaTdA2NEG/mVxBYvJ7nj3rKkgXMx3VtURo6C0RdSFybMnmWwAjHQCLz78mq4npi qK3g== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=bQg9J5Dy; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id x10si12423270ejs.152.2021.04.19.07.14.46; Mon, 19 Apr 2021 07:14:46 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=bQg9J5Dy; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 83AAB680CEC; Mon, 19 Apr 2021 17:11:46 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qk1-f169.google.com (mail-qk1-f169.google.com [209.85.222.169]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 25064687F12 for ; Mon, 19 Apr 2021 17:11:43 +0300 (EEST) Received: by mail-qk1-f169.google.com with SMTP id t17so7380248qkg.4 for ; Mon, 19 Apr 2021 07:11:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=ZeHFeqHQJJQ6YaV5N6irXfIaAwvhvCzBh3qhkxDbooQ=; b=bQg9J5DyCRfFmJ6ARLbipEA6YDgDLHTYetQ/lylHt/wXh2Njezhu9XQ9V+kBuGc209 0sir8p74L11JlgunwFVfXpcaU5D3k5cXLSSbO+tJ6t2Vxq9W+HQER6HgSS2qe0dzACSF 2jRbK7PnJDEWpXuuW5Tj8Ox6iyzEgPi9z7/Ynzvt5/LnOMz1RBXrYJErEf45g0ufxuV9 QzdJdcgzzSua1gno9DoUd8A/7vmzitG+jNg3QZbfcKpuZIYHmG9Ohrs1jfGfcv8YZnsK gqRGDPmNeNPpiAwo6B+Xrk6bg682tQ49GquE+Wr2yeHvMdzezKl5YHJ7LrHxYiNguPIH BbaQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=ZeHFeqHQJJQ6YaV5N6irXfIaAwvhvCzBh3qhkxDbooQ=; b=Sp3cYJWhIqj/7zXu9dBdH37Qf5AGwXqKfk6UEFYYuA2DZC4Cmk96YOfZkUL5qmfdid Eu7hq9tMtvzBXQLaWBWSBCbjOystUbl4Lk05XcUH0cHi5CQyUEFfo9LRz0FxsZDwuFyD 0f/TuJSSPzwG+C105h8iFTYxWXm2X8jKMUFVcL2o5LAjXdWY3KlbnOpKfS7sxl8ajrCy wPLnDKsw6rfw7SbuvDcclrEqtDvhlX74jgsTbTfcCDDNa1LkXzdBldPALXCi7LDYrd8z gHsYnNwBwsZVA4mrUPjj1zpebuVj+3mdUuCcSkXVP6sWUpBa1MkU2ZmZOKkbrx8l82cN RWhA== X-Gm-Message-State: AOAM532LKxRN4niA2gQqb53LhjF0xXckZHeCmaRr0o5XRpS1PiQv1ar5 YSwzsJ5UhraDGRFO8pmbzKg3gHfwyqk= X-Received: by 2002:a05:620a:1522:: with SMTP id n2mr6459416qkk.298.1618841501310; Mon, 19 Apr 2021 07:11:41 -0700 (PDT) Received: from localhost.localdomain ([191.83.209.133]) by smtp.gmail.com with ESMTPSA id f7sm2049494qtv.53.2021.04.19.07.11.40 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 19 Apr 2021 07:11:40 -0700 (PDT) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Mon, 19 Apr 2021 11:09:30 -0300 Message-Id: <20210419141024.8174-34-jamrial@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210419141024.8174-1-jamrial@gmail.com> References: <20210419141024.8174-1-jamrial@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 33/87] avformat: Constify the API wrt AV(In|Out)putFormat X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: IIPZzkNADO7s Content-Length: 28416 From: Andreas Rheinhardt Also constify AVProbeData. Signed-off-by: Andreas Rheinhardt --- doc/APIchanges | 10 ++++++++ fftools/ffmpeg_opt.c | 12 +++++---- fftools/ffplay.c | 7 ++--- fftools/ffprobe.c | 2 +- libavdevice/internal.h | 2 +- libavdevice/utils.c | 2 +- libavfilter/lavfutils.c | 2 +- libavfilter/src_movie.c | 2 +- libavformat/avformat.h | 44 ++++++++++++++------------------ libavformat/avidec.c | 2 +- libavformat/dashdec.c | 2 +- libavformat/fifo.c | 4 +-- libavformat/format.c | 33 ++++++++++++------------ libavformat/hdsenc.c | 2 +- libavformat/hls.c | 2 +- libavformat/hlsenc.c | 4 +-- libavformat/mpeg.c | 2 +- libavformat/mux.c | 2 +- libavformat/rtpdec_asf.c | 2 +- libavformat/rtpenc_chain.c | 2 +- libavformat/rtpenc_mpegts.c | 4 +-- libavformat/sapdec.c | 2 +- libavformat/segment.c | 2 +- libavformat/smoothstreamingenc.c | 2 +- libavformat/utils.c | 2 +- libavformat/version.h | 3 --- libavformat/webm_chunk.c | 2 +- 27 files changed, 81 insertions(+), 76 deletions(-) diff --git a/doc/APIchanges b/doc/APIchanges index cd3ea3c865..e9fa7ddf64 100644 --- a/doc/APIchanges +++ b/doc/APIchanges @@ -17,6 +17,16 @@ API changes, most recent first: 2021-04-17 - xxxxxxxxxx - lavu 56.73.100 - frame.h detection_bbox.h Add AV_FRAME_DATA_DETECTION_BBOXES +2021-04-14 - xxxxxxxxxx - lavf yyyyyyyyy - avformat.h + Constified the pointers to AVInputFormats and AVOutputFormats + in AVFormatContext, avformat_alloc_output_context2(), + av_find_input_format(), av_probe_input_format(), + av_probe_input_format2(), av_probe_input_format3(), + av_probe_input_buffer2(), av_probe_input_buffer(), + avformat_open_input(), av_guess_format() and av_guess_codec(). + Furthermore, constified the AVProbeData in av_probe_input_format(), + av_probe_input_format2() and av_probe_input_format3(). + 2021-04-06 - xxxxxxxxxx - lavf 58.78.100 - avformat.h Add avformat_index_get_entries_count(), avformat_index_get_entry(), and avformat_index_get_entry_from_timestamp(). diff --git a/fftools/ffmpeg_opt.c b/fftools/ffmpeg_opt.c index 807e783422..9e26de5a94 100644 --- a/fftools/ffmpeg_opt.c +++ b/fftools/ffmpeg_opt.c @@ -1068,7 +1068,7 @@ static int open_input_file(OptionsContext *o, const char *filename) { InputFile *f; AVFormatContext *ic; - AVInputFormat *file_iformat = NULL; + const AVInputFormat *file_iformat = NULL; int err, i, ret; int64_t timestamp; AVDictionary *unused_opts = NULL; @@ -1117,20 +1117,22 @@ static int open_input_file(OptionsContext *o, const char *filename) av_dict_set_int(&o->g->format_opts, "sample_rate", o->audio_sample_rate[o->nb_audio_sample_rate - 1].u.i, 0); } if (o->nb_audio_channels) { + const AVClass *priv_class; /* because we set audio_channels based on both the "ac" and * "channel_layout" options, we need to check that the specified * demuxer actually has the "channels" option before setting it */ - if (file_iformat && file_iformat->priv_class && - av_opt_find(&file_iformat->priv_class, "channels", NULL, 0, + if (file_iformat && (priv_class = file_iformat->priv_class) && + av_opt_find(&priv_class, "channels", NULL, 0, AV_OPT_SEARCH_FAKE_OBJ)) { av_dict_set_int(&o->g->format_opts, "channels", o->audio_channels[o->nb_audio_channels - 1].u.i, 0); } } if (o->nb_frame_rates) { + const AVClass *priv_class; /* set the format-level framerate option; * this is important for video grabbers, e.g. x11 */ - if (file_iformat && file_iformat->priv_class && - av_opt_find(&file_iformat->priv_class, "framerate", NULL, 0, + if (file_iformat && (priv_class = file_iformat->priv_class) && + av_opt_find(&priv_class, "framerate", NULL, 0, AV_OPT_SEARCH_FAKE_OBJ)) { av_dict_set(&o->g->format_opts, "framerate", o->frame_rates[o->nb_frame_rates - 1].u.str, 0); diff --git a/fftools/ffplay.c b/fftools/ffplay.c index e14c800b8f..0be1d90bf9 100644 --- a/fftools/ffplay.c +++ b/fftools/ffplay.c @@ -203,7 +203,7 @@ typedef struct Decoder { typedef struct VideoState { SDL_Thread *read_tid; - AVInputFormat *iformat; + const AVInputFormat *iformat; int abort_request; int force_refresh; int paused; @@ -308,7 +308,7 @@ typedef struct VideoState { } VideoState; /* options specified by the user */ -static AVInputFormat *file_iformat; +static const AVInputFormat *file_iformat; static const char *input_filename; static const char *window_title; static int default_width = 640; @@ -3075,7 +3075,8 @@ static int read_thread(void *arg) return 0; } -static VideoState *stream_open(const char *filename, AVInputFormat *iformat) +static VideoState *stream_open(const char *filename, + const AVInputFormat *iformat) { VideoState *is; diff --git a/fftools/ffprobe.c b/fftools/ffprobe.c index a2cb7dc986..13ed16431d 100644 --- a/fftools/ffprobe.c +++ b/fftools/ffprobe.c @@ -257,7 +257,7 @@ static const OptionDef *options; /* FFprobe context */ static const char *input_filename; static const char *print_input_filename; -static AVInputFormat *iformat = NULL; +static const AVInputFormat *iformat = NULL; static struct AVHashContext *hash; diff --git a/libavdevice/internal.h b/libavdevice/internal.h index e222cf204d..67c90e1f87 100644 --- a/libavdevice/internal.h +++ b/libavdevice/internal.h @@ -22,7 +22,7 @@ #include "libavformat/avformat.h" av_warn_unused_result -int ff_alloc_input_device_context(struct AVFormatContext **avctx, struct AVInputFormat *iformat, +int ff_alloc_input_device_context(struct AVFormatContext **avctx, const AVInputFormat *iformat, const char *format); #endif diff --git a/libavdevice/utils.c b/libavdevice/utils.c index ccd7318012..d9a52c53ab 100644 --- a/libavdevice/utils.c +++ b/libavdevice/utils.c @@ -20,7 +20,7 @@ #include "libavutil/opt.h" #include "libavformat/avformat.h" -int ff_alloc_input_device_context(AVFormatContext **avctx, AVInputFormat *iformat, const char *format) +int ff_alloc_input_device_context(AVFormatContext **avctx, const AVInputFormat *iformat, const char *format) { AVFormatContext *s; int ret = 0; diff --git a/libavfilter/lavfutils.c b/libavfilter/lavfutils.c index 34051ee61d..2bc06257c6 100644 --- a/libavfilter/lavfutils.c +++ b/libavfilter/lavfutils.c @@ -26,7 +26,7 @@ int ff_load_image(uint8_t *data[4], int linesize[4], int *w, int *h, enum AVPixelFormat *pix_fmt, const char *filename, void *log_ctx) { - AVInputFormat *iformat = NULL; + const AVInputFormat *iformat = NULL; AVFormatContext *format_ctx = NULL; const AVCodec *codec; AVCodecContext *codec_ctx = NULL; diff --git a/libavfilter/src_movie.c b/libavfilter/src_movie.c index 5892500410..e449e7e0c2 100644 --- a/libavfilter/src_movie.c +++ b/libavfilter/src_movie.c @@ -205,7 +205,7 @@ static int guess_channel_layout(MovieStream *st, int st_index, void *log_ctx) static av_cold int movie_common_init(AVFilterContext *ctx) { MovieContext *movie = ctx->priv; - AVInputFormat *iformat = NULL; + const AVInputFormat *iformat = NULL; int64_t timestamp; int nb_streams = 1, ret, i; char default_streams[16], *stream_specs, *spec, *cursor; diff --git a/libavformat/avformat.h b/libavformat/avformat.h index 17b54c0997..166f1aa41c 100644 --- a/libavformat/avformat.h +++ b/libavformat/avformat.h @@ -525,15 +525,6 @@ typedef struct AVOutputFormat { * New public fields should be added right above. ***************************************************************** */ - /** - * The ff_const59 define is not part of the public API and will - * be removed without further warning. - */ -#if FF_API_AVIOFORMAT -#define ff_const59 -#else -#define ff_const59 const -#endif /** * size of private data so that it can be allocated in the wrapper */ @@ -1235,14 +1226,14 @@ typedef struct AVFormatContext { * * Demuxing only, set by avformat_open_input(). */ - ff_const59 struct AVInputFormat *iformat; + const struct AVInputFormat *iformat; /** * The output container format. * * Muxing only, must be set by the caller before avformat_write_header(). */ - ff_const59 struct AVOutputFormat *oformat; + const struct AVOutputFormat *oformat; /** * Format private data. This is an AVOptions-enabled struct @@ -2088,7 +2079,7 @@ AVProgram *av_new_program(AVFormatContext *s, int id); * @return >= 0 in case of success, a negative AVERROR code in case of * failure */ -int avformat_alloc_output_context2(AVFormatContext **ctx, ff_const59 AVOutputFormat *oformat, +int avformat_alloc_output_context2(AVFormatContext **ctx, const AVOutputFormat *oformat, const char *format_name, const char *filename); /** @@ -2099,7 +2090,7 @@ int avformat_alloc_output_context2(AVFormatContext **ctx, ff_const59 AVOutputFor /** * Find AVInputFormat based on the short name of the input format. */ -ff_const59 AVInputFormat *av_find_input_format(const char *short_name); +const AVInputFormat *av_find_input_format(const char *short_name); /** * Guess the file format. @@ -2108,7 +2099,7 @@ ff_const59 AVInputFormat *av_find_input_format(const char *short_name); * @param is_opened Whether the file is already opened; determines whether * demuxers with or without AVFMT_NOFILE are probed. */ -ff_const59 AVInputFormat *av_probe_input_format(ff_const59 AVProbeData *pd, int is_opened); +const AVInputFormat *av_probe_input_format(const AVProbeData *pd, int is_opened); /** * Guess the file format. @@ -2122,7 +2113,8 @@ ff_const59 AVInputFormat *av_probe_input_format(ff_const59 AVProbeData *pd, int * If the score is <= AVPROBE_SCORE_MAX / 4 it is recommended * to retry with a larger probe buffer. */ -ff_const59 AVInputFormat *av_probe_input_format2(ff_const59 AVProbeData *pd, int is_opened, int *score_max); +const AVInputFormat *av_probe_input_format2(const AVProbeData *pd, + int is_opened, int *score_max); /** * Guess the file format. @@ -2131,7 +2123,8 @@ ff_const59 AVInputFormat *av_probe_input_format2(ff_const59 AVProbeData *pd, int * demuxers with or without AVFMT_NOFILE are probed. * @param score_ret The score of the best detection. */ -ff_const59 AVInputFormat *av_probe_input_format3(ff_const59 AVProbeData *pd, int is_opened, int *score_ret); +const AVInputFormat *av_probe_input_format3(const AVProbeData *pd, + int is_opened, int *score_ret); /** * Probe a bytestream to determine the input format. Each time a probe returns @@ -2149,14 +2142,14 @@ ff_const59 AVInputFormat *av_probe_input_format3(ff_const59 AVProbeData *pd, int * the maximal score is AVPROBE_SCORE_MAX * AVERROR code otherwise */ -int av_probe_input_buffer2(AVIOContext *pb, ff_const59 AVInputFormat **fmt, +int av_probe_input_buffer2(AVIOContext *pb, const AVInputFormat **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, ff_const59 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); @@ -2179,7 +2172,8 @@ int av_probe_input_buffer(AVIOContext *pb, ff_const59 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, ff_const59 AVInputFormat *fmt, AVDictionary **options); +int avformat_open_input(AVFormatContext **ps, const char *url, + const AVInputFormat *fmt, AVDictionary **options); #if FF_API_DEMUXER_OPEN /** @@ -2570,16 +2564,16 @@ int av_write_trailer(AVFormatContext *s); * @param mime_type if non-NULL checks if mime_type matches with the * MIME type of the registered formats */ -ff_const59 AVOutputFormat *av_guess_format(const char *short_name, - const char *filename, - const char *mime_type); +const AVOutputFormat *av_guess_format(const char *short_name, + const char *filename, + const char *mime_type); /** * Guess the codec ID based upon muxer and filename. */ -enum AVCodecID av_guess_codec(ff_const59 AVOutputFormat *fmt, const char *short_name, - const char *filename, const char *mime_type, - enum AVMediaType type); +enum AVCodecID av_guess_codec(const AVOutputFormat *fmt, const char *short_name, + const char *filename, const char *mime_type, + enum AVMediaType type); /** * Get timing information for the data currently output. diff --git a/libavformat/avidec.c b/libavformat/avidec.c index 48370fe5ce..ac020109c6 100644 --- a/libavformat/avidec.c +++ b/libavformat/avidec.c @@ -1092,7 +1092,7 @@ static int read_gab2_sub(AVFormatContext *s, AVStream *st, AVPacket *pkt) uint8_t desc[256]; int score = AVPROBE_SCORE_EXTENSION, ret; AVIStream *ast = st->priv_data; - ff_const59 AVInputFormat *sub_demuxer; + const AVInputFormat *sub_demuxer; AVRational time_base; int size; AVProbeData pd; diff --git a/libavformat/dashdec.c b/libavformat/dashdec.c index 73effd85db..39e7810e42 100644 --- a/libavformat/dashdec.c +++ b/libavformat/dashdec.c @@ -1879,7 +1879,7 @@ static void close_demux_for_component(struct representation *pls) static int reopen_demux_for_component(AVFormatContext *s, struct representation *pls) { DASHContext *c = s->priv_data; - ff_const59 AVInputFormat *in_fmt = NULL; + const AVInputFormat *in_fmt = NULL; AVDictionary *in_fmt_opts = NULL; uint8_t *avio_ctx_buffer = NULL; int ret = 0, i; diff --git a/libavformat/fifo.c b/libavformat/fifo.c index 17748e94ce..78afaff197 100644 --- a/libavformat/fifo.c +++ b/libavformat/fifo.c @@ -469,7 +469,7 @@ static void *fifo_consumer_thread(void *data) return NULL; } -static int fifo_mux_init(AVFormatContext *avf, ff_const59 AVOutputFormat *oformat, +static int fifo_mux_init(AVFormatContext *avf, const AVOutputFormat *oformat, const char *filename) { FifoContext *fifo = avf->priv_data; @@ -508,7 +508,7 @@ static int fifo_mux_init(AVFormatContext *avf, ff_const59 AVOutputFormat *oforma static int fifo_init(AVFormatContext *avf) { FifoContext *fifo = avf->priv_data; - ff_const59 AVOutputFormat *oformat; + const AVOutputFormat *oformat; int ret = 0; if (fifo->recovery_wait_streamtime && !fifo->drop_pkts_on_overflow) { diff --git a/libavformat/format.c b/libavformat/format.c index c47490c8eb..cc214741bd 100644 --- a/libavformat/format.c +++ b/libavformat/format.c @@ -48,8 +48,8 @@ int av_match_ext(const char *filename, const char *extensions) return 0; } -ff_const59 AVOutputFormat *av_guess_format(const char *short_name, const char *filename, - const char *mime_type) +const AVOutputFormat *av_guess_format(const char *short_name, const char *filename, + const char *mime_type) { const AVOutputFormat *fmt = NULL; AVOutputFormat *fmt_found = NULL; @@ -84,12 +84,12 @@ ff_const59 AVOutputFormat *av_guess_format(const char *short_name, const char *f return fmt_found; } -enum AVCodecID av_guess_codec(ff_const59 AVOutputFormat *fmt, const char *short_name, +enum AVCodecID av_guess_codec(const AVOutputFormat *fmt, const char *short_name, const char *filename, const char *mime_type, enum AVMediaType type) { if (av_match_name("segment", fmt->name) || av_match_name("ssegment", fmt->name)) { - ff_const59 AVOutputFormat *fmt2 = av_guess_format(NULL, filename, NULL); + const AVOutputFormat *fmt2 = av_guess_format(NULL, filename, NULL); if (fmt2) fmt = fmt2; } @@ -115,7 +115,7 @@ enum AVCodecID av_guess_codec(ff_const59 AVOutputFormat *fmt, const char *short_ return AV_CODEC_ID_NONE; } -ff_const59 AVInputFormat *av_find_input_format(const char *short_name) +const AVInputFormat *av_find_input_format(const char *short_name) { const AVInputFormat *fmt = NULL; void *i = 0; @@ -125,12 +125,12 @@ ff_const59 AVInputFormat *av_find_input_format(const char *short_name) return NULL; } -ff_const59 AVInputFormat *av_probe_input_format3(ff_const59 AVProbeData *pd, int is_opened, - int *score_ret) +const AVInputFormat *av_probe_input_format3(const AVProbeData *pd, + int is_opened, int *score_ret) { AVProbeData lpd = *pd; const AVInputFormat *fmt1 = NULL; - ff_const59 AVInputFormat *fmt = NULL; + const AVInputFormat *fmt = NULL; int score, score_max = 0; void *i = 0; const static uint8_t zerobuffer[AVPROBE_PADDING_SIZE]; @@ -191,7 +191,7 @@ ff_const59 AVInputFormat *av_probe_input_format3(ff_const59 AVProbeData *pd, int } if (score > score_max) { score_max = score; - fmt = (AVInputFormat*)fmt1; + fmt = fmt1; } else if (score == score_max) fmt = NULL; } @@ -202,10 +202,11 @@ ff_const59 AVInputFormat *av_probe_input_format3(ff_const59 AVProbeData *pd, int return fmt; } -ff_const59 AVInputFormat *av_probe_input_format2(ff_const59 AVProbeData *pd, int is_opened, int *score_max) +const AVInputFormat *av_probe_input_format2(const AVProbeData *pd, + int is_opened, int *score_max) { int score_ret; - ff_const59 AVInputFormat *fmt = av_probe_input_format3(pd, is_opened, &score_ret); + const AVInputFormat *fmt = av_probe_input_format3(pd, is_opened, &score_ret); if (score_ret > *score_max) { *score_max = score_ret; return fmt; @@ -213,15 +214,15 @@ ff_const59 AVInputFormat *av_probe_input_format2(ff_const59 AVProbeData *pd, int return NULL; } -ff_const59 AVInputFormat *av_probe_input_format(ff_const59 AVProbeData *pd, int is_opened) +const AVInputFormat *av_probe_input_format(const AVProbeData *pd, int is_opened) { int score = 0; return av_probe_input_format2(pd, is_opened, &score); } -int av_probe_input_buffer2(AVIOContext *pb, ff_const59 AVInputFormat **fmt, - const char *filename, void *logctx, - unsigned int offset, unsigned int max_probe_size) +int av_probe_input_buffer2(AVIOContext *pb, const AVInputFormat **fmt, + const char *filename, void *logctx, + unsigned int offset, unsigned int max_probe_size) { AVProbeData pd = { filename ? filename : "" }; uint8_t *buf = NULL; @@ -309,7 +310,7 @@ fail: return ret < 0 ? ret : score; } -int av_probe_input_buffer(AVIOContext *pb, ff_const59 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/hdsenc.c b/libavformat/hdsenc.c index 353a45f6df..98156afafa 100644 --- a/libavformat/hdsenc.c +++ b/libavformat/hdsenc.c @@ -313,8 +313,8 @@ static void close_file(AVFormatContext *s, OutputStream *os) static int hds_write_header(AVFormatContext *s) { HDSContext *c = s->priv_data; + const AVOutputFormat *oformat; int ret = 0, i; - ff_const59 AVOutputFormat *oformat; if (mkdir(s->url, 0777) == -1 && errno != EEXIST) { av_log(s, AV_LOG_ERROR , "Failed to create directory %s\n", s->url); diff --git a/libavformat/hls.c b/libavformat/hls.c index b589ad2870..83acbb0aa6 100644 --- a/libavformat/hls.c +++ b/libavformat/hls.c @@ -1957,8 +1957,8 @@ 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]; + const AVInputFormat *in_fmt = NULL; char *url; - ff_const59 AVInputFormat *in_fmt = NULL; if (!(pls->ctx = avformat_alloc_context())) { ret = AVERROR(ENOMEM); diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c index 7d97ce1789..9a848b6470 100644 --- a/libavformat/hlsenc.c +++ b/libavformat/hlsenc.c @@ -119,8 +119,8 @@ typedef struct VariantStream { unsigned var_stream_idx; unsigned number; int64_t sequence; - ff_const59 AVOutputFormat *oformat; - ff_const59 AVOutputFormat *vtt_oformat; + const AVOutputFormat *oformat; + const AVOutputFormat *vtt_oformat; AVIOContext *out; AVIOContext *out_single_file; int packets_written; diff --git a/libavformat/mpeg.c b/libavformat/mpeg.c index 79610ec600..0ddeaa9fb8 100644 --- a/libavformat/mpeg.c +++ b/libavformat/mpeg.c @@ -732,6 +732,7 @@ static int vobsub_read_header(AVFormatContext *s) { int i, ret = 0, header_parsed = 0, langidx = 0; VobSubDemuxContext *vobsub = s->priv_data; + const AVInputFormat *iformat; size_t fname_len; AVBPrint header; int64_t delay = 0; @@ -739,7 +740,6 @@ static int vobsub_read_header(AVFormatContext *s) int stream_id = -1; char id[64] = {0}; char alt[MAX_LINE_SIZE] = {0}; - ff_const59 AVInputFormat *iformat; if (!vobsub->sub_name) { char *ext; diff --git a/libavformat/mux.c b/libavformat/mux.c index d8746f3c13..a05b55b53c 100644 --- a/libavformat/mux.c +++ b/libavformat/mux.c @@ -133,7 +133,7 @@ enum AVChromaLocation ff_choose_chroma_location(AVFormatContext *s, AVStream *st } -int avformat_alloc_output_context2(AVFormatContext **avctx, ff_const59 AVOutputFormat *oformat, +int avformat_alloc_output_context2(AVFormatContext **avctx, const AVOutputFormat *oformat, const char *format, const char *filename) { AVFormatContext *s = avformat_alloc_context(); diff --git a/libavformat/rtpdec_asf.c b/libavformat/rtpdec_asf.c index e58f0260f3..2749ad1380 100644 --- a/libavformat/rtpdec_asf.c +++ b/libavformat/rtpdec_asf.c @@ -106,7 +106,7 @@ int ff_wms_parse_sdp_a_line(AVFormatContext *s, const char *p) AVDictionary *opts = NULL; int len = strlen(p) * 6 / 8; char *buf = av_mallocz(len); - ff_const59 AVInputFormat *iformat; + const AVInputFormat *iformat; if (!buf) return AVERROR(ENOMEM); diff --git a/libavformat/rtpenc_chain.c b/libavformat/rtpenc_chain.c index e6b603db70..cd751f48b6 100644 --- a/libavformat/rtpenc_chain.c +++ b/libavformat/rtpenc_chain.c @@ -31,7 +31,7 @@ int ff_rtp_chain_mux_open(AVFormatContext **out, AVFormatContext *s, { AVFormatContext *rtpctx = NULL; int ret; - ff_const59 AVOutputFormat *rtp_format = av_guess_format("rtp", NULL, NULL); + const AVOutputFormat *rtp_format = av_guess_format("rtp", NULL, NULL); uint8_t *rtpflags; AVDictionary *opts = NULL; diff --git a/libavformat/rtpenc_mpegts.c b/libavformat/rtpenc_mpegts.c index da17b1d776..36c0979ca1 100644 --- a/libavformat/rtpenc_mpegts.c +++ b/libavformat/rtpenc_mpegts.c @@ -56,8 +56,8 @@ static int rtp_mpegts_write_header(AVFormatContext *s) { MuxChain *chain = s->priv_data; AVFormatContext *mpegts_ctx = NULL, *rtp_ctx = NULL; - ff_const59 AVOutputFormat *mpegts_format = av_guess_format("mpegts", NULL, NULL); - ff_const59 AVOutputFormat *rtp_format = av_guess_format("rtp", NULL, NULL); + const AVOutputFormat *mpegts_format = av_guess_format("mpegts", NULL, NULL); + const AVOutputFormat *rtp_format = av_guess_format("rtp", NULL, NULL); int i, ret = AVERROR(ENOMEM); AVStream *st; AVDictionary *mpegts_muxer_options = NULL; diff --git a/libavformat/sapdec.c b/libavformat/sapdec.c index eec73aa2f4..3014bdaa97 100644 --- a/libavformat/sapdec.c +++ b/libavformat/sapdec.c @@ -65,9 +65,9 @@ static int sap_read_header(AVFormatContext *s) struct SAPState *sap = s->priv_data; char host[1024], path[1024], url[1024]; uint8_t recvbuf[RTP_MAX_PACKET_LENGTH]; + const AVInputFormat *infmt; int port; int ret, i; - ff_const59 AVInputFormat* infmt; if (!ff_network_init()) return AVERROR(EIO); diff --git a/libavformat/segment.c b/libavformat/segment.c index cd72e8b701..13954b8f99 100644 --- a/libavformat/segment.c +++ b/libavformat/segment.c @@ -72,7 +72,7 @@ typedef struct SegmentContext { int segment_idx_wrap; ///< number after which the index wraps int segment_idx_wrap_nb; ///< number of time the index has wraped int segment_count; ///< number of segment files already written - ff_const59 AVOutputFormat *oformat; + const AVOutputFormat *oformat; AVFormatContext *avf; char *format; ///< format to use for output segment files AVDictionary *format_options; diff --git a/libavformat/smoothstreamingenc.c b/libavformat/smoothstreamingenc.c index ba5cc27ca0..941f03f0b1 100644 --- a/libavformat/smoothstreamingenc.c +++ b/libavformat/smoothstreamingenc.c @@ -283,7 +283,7 @@ static int ism_write_header(AVFormatContext *s) { SmoothStreamingContext *c = s->priv_data; int ret = 0, i; - ff_const59 AVOutputFormat *oformat; + const AVOutputFormat *oformat; if (mkdir(s->url, 0777) == -1 && errno != EEXIST) { av_log(s, AV_LOG_ERROR, "mkdir failed\n"); diff --git a/libavformat/utils.c b/libavformat/utils.c index 322ccd3af2..ec48d1c08e 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -545,7 +545,7 @@ FF_ENABLE_DEPRECATION_WARNINGS int avformat_open_input(AVFormatContext **ps, const char *filename, - ff_const59 AVInputFormat *fmt, AVDictionary **options) + const AVInputFormat *fmt, AVDictionary **options) { AVFormatContext *s = *ps; int i, ret = 0; diff --git a/libavformat/version.h b/libavformat/version.h index d82adba668..81326aa199 100644 --- a/libavformat/version.h +++ b/libavformat/version.h @@ -97,9 +97,6 @@ #ifndef FF_API_LAVF_MP4A_LATM #define FF_API_LAVF_MP4A_LATM (LIBAVFORMAT_VERSION_MAJOR < 59) #endif -#ifndef FF_API_AVIOFORMAT -#define FF_API_AVIOFORMAT (LIBAVFORMAT_VERSION_MAJOR < 59) -#endif #ifndef FF_API_DEMUXER_OPEN #define FF_API_DEMUXER_OPEN (LIBAVFORMAT_VERSION_MAJOR < 59) #endif diff --git a/libavformat/webm_chunk.c b/libavformat/webm_chunk.c index fb5b20a8cc..fefab982cb 100644 --- a/libavformat/webm_chunk.c +++ b/libavformat/webm_chunk.c @@ -50,7 +50,7 @@ typedef struct WebMChunkContext { static int webm_chunk_init(AVFormatContext *s) { WebMChunkContext *wc = s->priv_data; - ff_const59 AVOutputFormat *oformat; + const AVOutputFormat *oformat; AVFormatContext *oc; AVStream *st, *ost = s->streams[0]; AVDictionary *dict = NULL;