mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-04-24 17:12:34 +02:00
avformat: Deprecate AVFMT_FLAG_PRIV_OPT, remove av_demuxer_open on bump
This flag was added in 492026209b9b58eaf6d2ea56423f6b1e1a8a76a5 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 in e37f161e66e042d6c2c7470c4d9881df9427fc4a 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:
|
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
|
2021-02-27 - xxxxxxxxxx - lavc 58.126.100 - avcodec.h
|
||||||
Deprecated avcodec_get_frame_class().
|
Deprecated avcodec_get_frame_class().
|
||||||
|
|
||||||
|
@ -1379,7 +1379,9 @@ typedef struct AVFormatContext {
|
|||||||
#define AVFMT_FLAG_MP4A_LATM 0x8000 ///< Deprecated, does nothing.
|
#define AVFMT_FLAG_MP4A_LATM 0x8000 ///< Deprecated, does nothing.
|
||||||
#endif
|
#endif
|
||||||
#define AVFMT_FLAG_SORT_DTS 0x10000 ///< try to interleave outputted packets by dts (using this flag can slow demuxing down)
|
#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
|
#if FF_API_LAVF_KEEPSIDE_FLAG
|
||||||
#define AVFMT_FLAG_KEEP_SIDE_DATA 0x40000 ///< Deprecated, does nothing.
|
#define AVFMT_FLAG_KEEP_SIDE_DATA 0x40000 ///< Deprecated, does nothing.
|
||||||
#endif
|
#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);
|
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
|
attribute_deprecated
|
||||||
int av_demuxer_open(AVFormatContext *ic);
|
int av_demuxer_open(AVFormatContext *ic);
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Read packets of a media file to get stream information. This
|
* Read packets of a media file to get stream information. This
|
||||||
|
@ -392,6 +392,7 @@ FF_ENABLE_DEPRECATION_WARNINGS
|
|||||||
/************************************************************/
|
/************************************************************/
|
||||||
/* input media file */
|
/* input media file */
|
||||||
|
|
||||||
|
#if FF_API_DEMUXER_OPEN
|
||||||
int av_demuxer_open(AVFormatContext *ic) {
|
int av_demuxer_open(AVFormatContext *ic) {
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
@ -411,7 +412,7 @@ int av_demuxer_open(AVFormatContext *ic) {
|
|||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
/* Open input file and probe the format if necessary. */
|
/* Open input file and probe the format if necessary. */
|
||||||
static int init_input(AVFormatContext *s, const char *filename,
|
static int init_input(AVFormatContext *s, const char *filename,
|
||||||
AVDictionary **options)
|
AVDictionary **options)
|
||||||
@ -594,8 +595,11 @@ FF_ENABLE_DEPRECATION_WARNINGS
|
|||||||
if (s->pb)
|
if (s->pb)
|
||||||
ff_id3v2_read_dict(s->pb, &s->internal->id3v2_meta, ID3v2_DEFAULT_MAGIC, &id3v2_extra_meta);
|
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)
|
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)
|
if ((ret = s->iformat->read_header(s)) < 0)
|
||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
@ -624,7 +628,11 @@ FF_ENABLE_DEPRECATION_WARNINGS
|
|||||||
if ((ret = avformat_queue_attached_pictures(s)) < 0)
|
if ((ret = avformat_queue_attached_pictures(s)) < 0)
|
||||||
goto close;
|
goto close;
|
||||||
|
|
||||||
|
#if FF_API_DEMUXER_OPEN
|
||||||
if (!(s->flags&AVFMT_FLAG_PRIV_OPT) && s->pb && !s->internal->data_offset)
|
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->data_offset = avio_tell(s->pb);
|
||||||
|
|
||||||
s->internal->raw_packet_buffer_remaining_size = RAW_PACKET_BUFFER_SIZE;
|
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)
|
// Major bumping may affect Ticket5467, 5421, 5451(compatibility with Chromium)
|
||||||
// Also please add any ticket numbers that you believe might be affected here
|
// Also please add any ticket numbers that you believe might be affected here
|
||||||
#define LIBAVFORMAT_VERSION_MAJOR 58
|
#define LIBAVFORMAT_VERSION_MAJOR 58
|
||||||
#define LIBAVFORMAT_VERSION_MINOR 69
|
#define LIBAVFORMAT_VERSION_MINOR 70
|
||||||
#define LIBAVFORMAT_VERSION_MICRO 100
|
#define LIBAVFORMAT_VERSION_MICRO 100
|
||||||
|
|
||||||
#define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \
|
#define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \
|
||||||
@ -106,6 +106,12 @@
|
|||||||
#ifndef FF_API_AVIOFORMAT
|
#ifndef FF_API_AVIOFORMAT
|
||||||
#define FF_API_AVIOFORMAT (LIBAVFORMAT_VERSION_MAJOR < 59)
|
#define FF_API_AVIOFORMAT (LIBAVFORMAT_VERSION_MAJOR < 59)
|
||||||
#endif
|
#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
|
#ifndef FF_API_R_FRAME_RATE
|
||||||
|
Loading…
x
Reference in New Issue
Block a user