avformat/hls: hide misleading warning when http reconnect is required

AVERROR_EOF is an internal error which means the http socket is no longer
valid for new requests. It informs the caller that a new connection must
be established, and as such does not need to be surfaced to the user as
a warning.

Signed-off-by: Aman Gupta <aman@tmm1.net>
This commit is contained in:
Aman Gupta 2017-12-22 16:30:42 -08:00
parent 54d0ef1738
commit 5f4a32a6e3
1 changed files with 8 additions and 6 deletions

View File

@ -670,9 +670,10 @@ static int open_url(AVFormatContext *s, AVIOContext **pb, const char *url,
if (ret == AVERROR_EXIT) {
return ret;
} else if (ret < 0) {
av_log(s, AV_LOG_WARNING,
"keepalive request failed for '%s', retrying with new connection: %s\n",
url, av_err2str(ret));
if (ret != AVERROR_EOF)
av_log(s, AV_LOG_WARNING,
"keepalive request failed for '%s', retrying with new connection: %s\n",
url, av_err2str(ret));
ret = s->io_open(s, pb, url, AVIO_FLAG_READ, &tmp);
}
} else {
@ -726,9 +727,10 @@ static int parse_playlist(HLSContext *c, const char *url,
if (ret == AVERROR_EXIT) {
return ret;
} else if (ret < 0) {
av_log(c->ctx, AV_LOG_WARNING,
"keepalive request failed for '%s', retrying with new connection: %s\n",
url, av_err2str(ret));
if (ret != AVERROR_EOF)
av_log(c->ctx, AV_LOG_WARNING,
"keepalive request failed for '%s', retrying with new connection: %s\n",
url, av_err2str(ret));
in = NULL;
}
}