@@ -33,6 +33,7 @@
#include "libavcodec/codec_desc.h"
#include "libavcodec/packet_internal.h"
#include "avformat.h"
+#include "avio.h"
#include "demux.h"
#include "internal.h"
@@ -774,3 +775,16 @@ void ff_format_set_url(AVFormatContext *s, char *url)
av_freep(&s->url);
s->url = url;
}
+
+int ff_format_io_close(AVFormatContext *s, AVIOContext **pb)
+{
+ int ret = 0;
+ if (*pb) {
+ if (s->io_close == ff_format_io_close_default || s->io_close == NULL)
+ ret = s->io_close2(s, *pb);
+ else
+ s->io_close(s, *pb);
+ }
+ *pb = NULL;
+ return ret;
+}
@@ -151,6 +151,11 @@ static int io_open_default(AVFormatContext *s, AVIOContext **pb,
return ffio_open_whitelist(pb, url, flags, &s->interrupt_callback, options, s->protocol_whitelist, s->protocol_blacklist);
}
+void ff_format_io_close_default(AVFormatContext *s, AVIOContext *pb)
+{
+ avio_close(pb);
+}
+
static int io_close2_default(AVFormatContext *s, AVIOContext *pb)
{
return avio_close(pb);
@@ -575,24 +575,6 @@ int avformat_network_deinit(void)
return 0;
}
-void ff_format_io_close_default(AVFormatContext *s, AVIOContext *pb)
-{
- avio_close(pb);
-}
-
-int ff_format_io_close(AVFormatContext *s, AVIOContext **pb)
-{
- int ret = 0;
- if (*pb) {
- if (s->io_close == ff_format_io_close_default || s->io_close == NULL)
- ret = s->io_close2(s, *pb);
- else
- s->io_close(s, *pb);
- }
- *pb = NULL;
- return ret;
-}
-
int ff_is_http_proto(const char *filename) {
const char *proto = avio_find_protocol_name(filename);
return proto ? (!av_strcasecmp(proto, "http") || !av_strcasecmp(proto, "https")) : 0;
These are not pure avio-functions, but auxiliary AVFormatContext functions. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> --- libavformat/avformat.c | 14 ++++++++++++++ libavformat/options.c | 5 +++++ libavformat/utils.c | 18 ------------------ 3 files changed, 19 insertions(+), 18 deletions(-)