diff --git a/libavformat/tls_mbedtls.c b/libavformat/tls_mbedtls.c index 59ed4b447a..1a182e735e 100644 --- a/libavformat/tls_mbedtls.c +++ b/libavformat/tls_mbedtls.c @@ -310,6 +310,8 @@ static int tls_read(URLContext *h, uint8_t *buf, int size) TLSContext *tls_ctx = h->priv_data; int ret; + tls_ctx->tls_shared.tcp->flags &= ~AVIO_FLAG_NONBLOCK; + tls_ctx->tls_shared.tcp->flags |= h->flags & AVIO_FLAG_NONBLOCK; if ((ret = mbedtls_ssl_read(&tls_ctx->ssl_context, buf, size)) > 0) { // return read length return ret; @@ -323,6 +325,8 @@ static int tls_write(URLContext *h, const uint8_t *buf, int size) TLSContext *tls_ctx = h->priv_data; int ret; + tls_ctx->tls_shared.tcp->flags &= ~AVIO_FLAG_NONBLOCK; + tls_ctx->tls_shared.tcp->flags |= h->flags & AVIO_FLAG_NONBLOCK; if ((ret = mbedtls_ssl_write(&tls_ctx->ssl_context, buf, size)) > 0) { // return written length return ret;