diff options
author | Martin Storsjö <martin@martin.st> | 2011-11-01 13:40:04 +0200 |
---|---|---|
committer | Martin Storsjö <martin@martin.st> | 2011-11-05 12:17:51 +0200 |
commit | b6d08f40aa9893c77a982fc17c289da0c27ccd96 (patch) | |
tree | 55805e2b06f08fb31f3d50822ed01ff0339a717f | |
parent | 183baeadca74f4087b58dc5a94a649473f28470c (diff) | |
download | ffmpeg-b6d08f40aa9893c77a982fc17c289da0c27ccd96.tar.gz |
avformat: Add functions for doing global network initialization
Signed-off-by: Martin Storsjö <martin@martin.st>
-rw-r--r-- | doc/APIchanges | 3 | ||||
-rw-r--r-- | libavformat/avformat.h | 15 | ||||
-rw-r--r-- | libavformat/utils.c | 20 | ||||
-rw-r--r-- | libavformat/version.h | 2 |
4 files changed, 39 insertions, 1 deletions
diff --git a/doc/APIchanges b/doc/APIchanges index 79aa202ec1..1e6adf5a62 100644 --- a/doc/APIchanges +++ b/doc/APIchanges @@ -13,6 +13,9 @@ libavutil: 2011-04-18 API changes, most recent first: +2011-11-xx - xxxxxxx - lavf 53.13.0 + Add avformat_network_init()/avformat_network_uninit() + 2011-xx-xx - xxxxxxx - lavc 53.15.0 Remove avcodec_parse_frame. Deprecate AVCodecContext.parse_only and CODEC_CAP_PARSE_ONLY. diff --git a/libavformat/avformat.h b/libavformat/avformat.h index dd40c7fafb..43563031c1 100644 --- a/libavformat/avformat.h +++ b/libavformat/avformat.h @@ -1743,4 +1743,19 @@ int avformat_query_codec(AVOutputFormat *ofmt, enum CodecID codec_id, int std_co */ const AVClass *avformat_get_class(void); +/** + * Do global initialization of network components. This is optional, + * but recommended, since it avoids the overhead of implicitly + * doing the setup for each session. + * + * Since the next major version bump, calling this function will become + * mandatory if using network protocols. + */ +int avformat_network_init(void); + +/** + * Undo the initialization done by avformat_network_init. + */ +int avformat_network_deinit(void); + #endif /* AVFORMAT_AVFORMAT_H */ diff --git a/libavformat/utils.c b/libavformat/utils.c index 1158079992..c13ce3da0c 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -3964,3 +3964,23 @@ int avformat_query_codec(AVOutputFormat *ofmt, enum CodecID codec_id, int std_co } return AVERROR_PATCHWELCOME; } + +int avformat_network_init(void) +{ +#if CONFIG_NETWORK + int ret; + if ((ret = ff_network_init()) < 0) + return ret; + ff_tls_init(); +#endif + return 0; +} + +int avformat_network_deinit(void) +{ +#if CONFIG_NETWORK + ff_network_close(); + ff_tls_deinit(); +#endif + return 0; +} diff --git a/libavformat/version.h b/libavformat/version.h index c7b07783c9..48f2303f9e 100644 --- a/libavformat/version.h +++ b/libavformat/version.h @@ -24,7 +24,7 @@ #include "libavutil/avutil.h" #define LIBAVFORMAT_VERSION_MAJOR 53 -#define LIBAVFORMAT_VERSION_MINOR 12 +#define LIBAVFORMAT_VERSION_MINOR 13 #define LIBAVFORMAT_VERSION_MICRO 0 #define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \ |