Browse Source

avformat/tls_schannel: fix handling of EOF after avio changes

(cherry picked from commit 5c6365af45)
tags/n4.0
Hendrik Leppkes 7 years ago
parent
commit
0b6de235b9
1 changed files with 6 additions and 4 deletions
  1. +6
    -4
      libavformat/tls_schannel.c

+ 6
- 4
libavformat/tls_schannel.c View File

@@ -413,11 +413,13 @@ static int tls_read(URLContext *h, uint8_t *buf, int len)

ret = ffurl_read(s->tcp, c->enc_buf + c->enc_buf_offset,
c->enc_buf_size - c->enc_buf_offset);
if (ret < 0) {
if (ret == AVERROR_EOF) {
c->connection_closed = 1;
ret = 0;
} else if (ret < 0) {
av_log(h, AV_LOG_ERROR, "Unable to read from socket\n");
return ret;
} else if (ret == 0)
c->connection_closed = 1;
}

c->enc_buf_offset += ret;
}
@@ -515,7 +517,7 @@ cleanup:
if (ret == 0 && !c->connection_closed)
ret = AVERROR(EAGAIN);

return ret < 0 ? ret : 0;
return ret < 0 ? ret : AVERROR_EOF;
}

static int tls_write(URLContext *h, const uint8_t *buf, int len)


Loading…
Cancel
Save