diff options
| author | Michael Forney <mforney@mforney.org> | 2019-12-09 17:29:36 -0800 |
|---|---|---|
| committer | Michael Forney <mforney@mforney.org> | 2019-12-09 17:29:36 -0800 |
| commit | 02bc12059fa554053162144d6964816e1b957df6 (patch) | |
| tree | e96215773c8a986913a73ad3b0c7b5bbd70d27c5 /pkg | |
| parent | adc2604bd22922712b351ea7aca0b3db5703d119 (diff) | |
ffmpeg: Fix an issue with libavformat/tls_libtls
Diffstat (limited to 'pkg')
| -rw-r--r-- | pkg/ffmpeg/patch/0003-libavformat-tls_libtls-handle-TLS_WANT_POLLIN-and-TL.patch | 43 | ||||
| -rw-r--r-- | pkg/ffmpeg/ver | 2 |
2 files changed, 44 insertions, 1 deletions
diff --git a/pkg/ffmpeg/patch/0003-libavformat-tls_libtls-handle-TLS_WANT_POLLIN-and-TL.patch b/pkg/ffmpeg/patch/0003-libavformat-tls_libtls-handle-TLS_WANT_POLLIN-and-TL.patch new file mode 100644 index 00000000..521b5288 --- /dev/null +++ b/pkg/ffmpeg/patch/0003-libavformat-tls_libtls-handle-TLS_WANT_POLLIN-and-TL.patch @@ -0,0 +1,43 @@ +From 1ea65b2fd8798766d6965378b0484ecf1cf72e6a Mon Sep 17 00:00:00 2001 +From: Michael Forney <mforney@mforney.org> +Date: Mon, 9 Dec 2019 16:36:57 -0800 +Subject: [PATCH] libavformat/tls_libtls: handle TLS_WANT_POLLIN and + TLS_WANT_POLLOUT return values + +These values may be returned by libtls (even in the case of blocking +file descriptors) when we need to read/write more TLS record data in +order to read/write application data. + +The URLProtocol documentation says AVERROR(EAGAIN) should be returned +in these cases. + +Signed-off-by: Michael Forney <mforney@mforney.org> +--- + libavformat/tls_libtls.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/libavformat/tls_libtls.c b/libavformat/tls_libtls.c +index ba83b56ffe..286454e452 100644 +--- a/libavformat/tls_libtls.c ++++ b/libavformat/tls_libtls.c +@@ -159,6 +159,8 @@ static int ff_tls_read(URLContext *h, uint8_t *buf, int size) + return ret; + else if (ret == 0) + return AVERROR_EOF; ++ else if (ret == TLS_WANT_POLLIN || ret == TLS_WANT_POLLOUT) ++ return AVERROR(EAGAIN); + av_log(h, AV_LOG_ERROR, "%s\n", tls_error(p->ctx)); + return AVERROR(EIO); + } +@@ -172,6 +174,8 @@ static int ff_tls_write(URLContext *h, const uint8_t *buf, int size) + return ret; + else if (ret == 0) + return AVERROR_EOF; ++ else if (ret == TLS_WANT_POLLIN || ret == TLS_WANT_POLLOUT) ++ return AVERROR(EAGAIN); + av_log(h, AV_LOG_ERROR, "%s\n", tls_error(p->ctx)); + return AVERROR(EIO); + } +-- +2.24.0 + diff --git a/pkg/ffmpeg/ver b/pkg/ffmpeg/ver index 196224a4..910e79f3 100644 --- a/pkg/ffmpeg/ver +++ b/pkg/ffmpeg/ver @@ -1 +1 @@ -4.2.1 r0 +4.2.1 r1 |
