mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
avformat: Deprecate AVFMT_FLAG_PRIV_OPT, remove av_demuxer_open on bump
This flag was added in492026209b
in conjunction with av_demuxer_open() to allow to pass private options to demuxers. It worked as follows: av_open_input_stream() (the predecessor of avformat_open_input()) would not call the read_header function if this flag is set. Instead the user could set private options of the demuxer via the format's private class after avformat_open_input() and then call av_demuxer_open() which called the format's read_header function. This approach was abandoned ine37f161e66
and av_demuxer_open() deprecated; instead the AVDictionary based way of passing private options to the demuxer was choosen. Yet AVFMT_FLAG_PRIV_OPT has never been deprecated and av_demuxer_open() never removed. This commit implements the deprecation of the flag and schedules av_demuxer_open for removal on the next major bump. Given that av_demuxer_open() has been deprecated in 2012 and that this flag is useless without it, the flag will be ignored after the next major version bump. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
This commit is contained in:
parent
d29ec02d48
commit
2ff40b98ec
@ -15,6 +15,10 @@ libavutil: 2017-10-21
|
||||
|
||||
API changes, most recent first:
|
||||
|
||||
2021-03-03 - xxxxxxxxxx - lavf 58.70.100 - avformat.h
|
||||
Deprecate AVFMT_FLAG_PRIV_OPT. It will do nothing
|
||||
as soon as av_demuxer_open() is removed.
|
||||
|
||||
2021-02-27 - xxxxxxxxxx - lavc 58.126.100 - avcodec.h
|
||||
Deprecated avcodec_get_frame_class().
|
||||
|
||||
|
@ -1379,7 +1379,9 @@ typedef struct AVFormatContext {
|
||||
#define AVFMT_FLAG_MP4A_LATM 0x8000 ///< Deprecated, does nothing.
|
||||
#endif
|
||||
#define AVFMT_FLAG_SORT_DTS 0x10000 ///< try to interleave outputted packets by dts (using this flag can slow demuxing down)
|
||||
#define AVFMT_FLAG_PRIV_OPT 0x20000 ///< Enable use of private options by delaying codec open (this could be made default once all code is converted)
|
||||
#if FF_API_LAVF_PRIV_OPT
|
||||
#define AVFMT_FLAG_PRIV_OPT 0x20000 ///< Enable use of private options by delaying codec open (deprecated, will do nothing once av_demuxer_open() is removed)
|
||||
#endif
|
||||
#if FF_API_LAVF_KEEPSIDE_FLAG
|
||||
#define AVFMT_FLAG_KEEP_SIDE_DATA 0x40000 ///< Deprecated, does nothing.
|
||||
#endif
|
||||
@ -2210,8 +2212,13 @@ int av_probe_input_buffer(AVIOContext *pb, ff_const59 AVInputFormat **fmt,
|
||||
*/
|
||||
int avformat_open_input(AVFormatContext **ps, const char *url, ff_const59 AVInputFormat *fmt, AVDictionary **options);
|
||||
|
||||
#if FF_API_DEMUXER_OPEN
|
||||
/**
|
||||
* @deprecated Use an AVDictionary to pass options to a demuxer.
|
||||
*/
|
||||
attribute_deprecated
|
||||
int av_demuxer_open(AVFormatContext *ic);
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Read packets of a media file to get stream information. This
|
||||
|
@ -392,6 +392,7 @@ FF_ENABLE_DEPRECATION_WARNINGS
|
||||
/************************************************************/
|
||||
/* input media file */
|
||||
|
||||
#if FF_API_DEMUXER_OPEN
|
||||
int av_demuxer_open(AVFormatContext *ic) {
|
||||
int err;
|
||||
|
||||
@ -411,7 +412,7 @@ int av_demuxer_open(AVFormatContext *ic) {
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif
|
||||
/* Open input file and probe the format if necessary. */
|
||||
static int init_input(AVFormatContext *s, const char *filename,
|
||||
AVDictionary **options)
|
||||
@ -594,8 +595,11 @@ FF_ENABLE_DEPRECATION_WARNINGS
|
||||
if (s->pb)
|
||||
ff_id3v2_read_dict(s->pb, &s->internal->id3v2_meta, ID3v2_DEFAULT_MAGIC, &id3v2_extra_meta);
|
||||
|
||||
|
||||
#if FF_API_DEMUXER_OPEN
|
||||
if (!(s->flags&AVFMT_FLAG_PRIV_OPT) && s->iformat->read_header)
|
||||
#else
|
||||
if (s->iformat->read_header)
|
||||
#endif
|
||||
if ((ret = s->iformat->read_header(s)) < 0)
|
||||
goto fail;
|
||||
|
||||
@ -624,7 +628,11 @@ FF_ENABLE_DEPRECATION_WARNINGS
|
||||
if ((ret = avformat_queue_attached_pictures(s)) < 0)
|
||||
goto close;
|
||||
|
||||
#if FF_API_DEMUXER_OPEN
|
||||
if (!(s->flags&AVFMT_FLAG_PRIV_OPT) && s->pb && !s->internal->data_offset)
|
||||
#else
|
||||
if (s->pb && !s->internal->data_offset)
|
||||
#endif
|
||||
s->internal->data_offset = avio_tell(s->pb);
|
||||
|
||||
s->internal->raw_packet_buffer_remaining_size = RAW_PACKET_BUFFER_SIZE;
|
||||
|
@ -32,7 +32,7 @@
|
||||
// Major bumping may affect Ticket5467, 5421, 5451(compatibility with Chromium)
|
||||
// Also please add any ticket numbers that you believe might be affected here
|
||||
#define LIBAVFORMAT_VERSION_MAJOR 58
|
||||
#define LIBAVFORMAT_VERSION_MINOR 69
|
||||
#define LIBAVFORMAT_VERSION_MINOR 70
|
||||
#define LIBAVFORMAT_VERSION_MICRO 100
|
||||
|
||||
#define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \
|
||||
@ -106,6 +106,12 @@
|
||||
#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
|
||||
#ifndef FF_API_LAVF_PRIV_OPT
|
||||
#define FF_API_LAVF_PRIV_OPT (LIBAVFORMAT_VERSION_MAJOR < 60)
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef FF_API_R_FRAME_RATE
|
||||
|
Loading…
Reference in New Issue
Block a user