avformat/utils: Move ff_format_io_close.* to options.c, avformat.c

These are not pure avio-functions, but auxiliary AVFormatContext
functions.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
This commit is contained in:
Andreas Rheinhardt 2022-05-07 09:34:10 +02:00
parent 6aca6146d9
commit 467f157fc6
3 changed files with 19 additions and 18 deletions

View File

@ -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;
}

View File

@ -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);

View File

@ -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;