[FFmpeg-cvslog] tls: Hook up the url_get_short_seek function in the TLS backends
Martin Storsjö
git at videolan.org
Thu Nov 5 09:39:39 EET 2020
ffmpeg | branch: master | Martin Storsjö <martin at martin.st> | Thu Oct 29 21:56:17 2020 +0200| [70d8077b795766e2486e6ec8110f22a97362d6d6] | committer: Martin Storsjö
tls: Hook up the url_get_short_seek function in the TLS backends
This makes sure that small seeks forward on https don't end up
doing new requests.
Signed-off-by: Martin Storsjö <martin at martin.st>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=70d8077b795766e2486e6ec8110f22a97362d6d6
---
libavformat/tls_gnutls.c | 7 +++++++
libavformat/tls_libtls.c | 7 +++++++
libavformat/tls_mbedtls.c | 7 +++++++
libavformat/tls_openssl.c | 7 +++++++
libavformat/tls_schannel.c | 7 +++++++
libavformat/tls_securetransport.c | 7 +++++++
6 files changed, 42 insertions(+)
diff --git a/libavformat/tls_gnutls.c b/libavformat/tls_gnutls.c
index 0c4ef34f5f..f9d5af7096 100644
--- a/libavformat/tls_gnutls.c
+++ b/libavformat/tls_gnutls.c
@@ -269,6 +269,12 @@ static int tls_get_file_handle(URLContext *h)
return ffurl_get_file_handle(c->tls_shared.tcp);
}
+static int tls_get_short_seek(URLContext *h)
+{
+ TLSContext *s = h->priv_data;
+ return ffurl_get_short_seek(s->tls_shared.tcp);
+}
+
static const AVOption options[] = {
TLS_COMMON_OPTIONS(TLSContext, tls_shared),
{ NULL }
@@ -288,6 +294,7 @@ const URLProtocol ff_tls_protocol = {
.url_write = tls_write,
.url_close = tls_close,
.url_get_file_handle = tls_get_file_handle,
+ .url_get_short_seek = tls_get_short_seek,
.priv_data_size = sizeof(TLSContext),
.flags = URL_PROTOCOL_FLAG_NETWORK,
.priv_data_class = &tls_class,
diff --git a/libavformat/tls_libtls.c b/libavformat/tls_libtls.c
index dff7f2d9fb..911c8094b0 100644
--- a/libavformat/tls_libtls.c
+++ b/libavformat/tls_libtls.c
@@ -181,6 +181,12 @@ static int tls_get_file_handle(URLContext *h)
return ffurl_get_file_handle(c->tls_shared.tcp);
}
+static int tls_get_short_seek(URLContext *h)
+{
+ TLSContext *s = h->priv_data;
+ return ffurl_get_short_seek(s->tls_shared.tcp);
+}
+
static const AVOption options[] = {
TLS_COMMON_OPTIONS(TLSContext, tls_shared),
{ NULL }
@@ -200,6 +206,7 @@ const URLProtocol ff_tls_protocol = {
.url_write = ff_tls_write,
.url_close = ff_tls_close,
.url_get_file_handle = tls_get_file_handle,
+ .url_get_short_seek = tls_get_short_seek,
.priv_data_size = sizeof(TLSContext),
.flags = URL_PROTOCOL_FLAG_NETWORK,
.priv_data_class = &tls_class,
diff --git a/libavformat/tls_mbedtls.c b/libavformat/tls_mbedtls.c
index 965adf1be4..aadf17760d 100644
--- a/libavformat/tls_mbedtls.c
+++ b/libavformat/tls_mbedtls.c
@@ -326,6 +326,12 @@ static int tls_get_file_handle(URLContext *h)
return ffurl_get_file_handle(c->tls_shared.tcp);
}
+static int tls_get_short_seek(URLContext *h)
+{
+ TLSContext *s = h->priv_data;
+ return ffurl_get_short_seek(s->tls_shared.tcp);
+}
+
static const AVOption options[] = {
TLS_COMMON_OPTIONS(TLSContext, tls_shared), \
{"key_password", "Password for the private key file", OFFSET(priv_key_pw), AV_OPT_TYPE_STRING, .flags = TLS_OPTFL }, \
@@ -346,6 +352,7 @@ const URLProtocol ff_tls_protocol = {
.url_write = tls_write,
.url_close = tls_close,
.url_get_file_handle = tls_get_file_handle,
+ .url_get_short_seek = tls_get_short_seek,
.priv_data_size = sizeof(TLSContext),
.flags = URL_PROTOCOL_FLAG_NETWORK,
.priv_data_class = &tls_class,
diff --git a/libavformat/tls_openssl.c b/libavformat/tls_openssl.c
index 002197fa76..e0616acbc8 100644
--- a/libavformat/tls_openssl.c
+++ b/libavformat/tls_openssl.c
@@ -351,6 +351,12 @@ static int tls_get_file_handle(URLContext *h)
return ffurl_get_file_handle(c->tls_shared.tcp);
}
+static int tls_get_short_seek(URLContext *h)
+{
+ TLSContext *s = h->priv_data;
+ return ffurl_get_short_seek(s->tls_shared.tcp);
+}
+
static const AVOption options[] = {
TLS_COMMON_OPTIONS(TLSContext, tls_shared),
{ NULL }
@@ -370,6 +376,7 @@ const URLProtocol ff_tls_protocol = {
.url_write = tls_write,
.url_close = tls_close,
.url_get_file_handle = tls_get_file_handle,
+ .url_get_short_seek = tls_get_short_seek,
.priv_data_size = sizeof(TLSContext),
.flags = URL_PROTOCOL_FLAG_NETWORK,
.priv_data_class = &tls_class,
diff --git a/libavformat/tls_schannel.c b/libavformat/tls_schannel.c
index 4bfaa85228..d4959f75fa 100644
--- a/libavformat/tls_schannel.c
+++ b/libavformat/tls_schannel.c
@@ -589,6 +589,12 @@ static int tls_get_file_handle(URLContext *h)
return ffurl_get_file_handle(c->tls_shared.tcp);
}
+static int tls_get_short_seek(URLContext *h)
+{
+ TLSContext *s = h->priv_data;
+ return ffurl_get_short_seek(s->tls_shared.tcp);
+}
+
static const AVOption options[] = {
TLS_COMMON_OPTIONS(TLSContext, tls_shared),
{ NULL }
@@ -608,6 +614,7 @@ const URLProtocol ff_tls_protocol = {
.url_write = tls_write,
.url_close = tls_close,
.url_get_file_handle = tls_get_file_handle,
+ .url_get_short_seek = tls_get_short_seek,
.priv_data_size = sizeof(TLSContext),
.flags = URL_PROTOCOL_FLAG_NETWORK,
.priv_data_class = &tls_class,
diff --git a/libavformat/tls_securetransport.c b/libavformat/tls_securetransport.c
index 3250b23051..b0cfab1e23 100644
--- a/libavformat/tls_securetransport.c
+++ b/libavformat/tls_securetransport.c
@@ -396,6 +396,12 @@ static int tls_get_file_handle(URLContext *h)
return ffurl_get_file_handle(c->tls_shared.tcp);
}
+static int tls_get_short_seek(URLContext *h)
+{
+ TLSContext *s = h->priv_data;
+ return ffurl_get_short_seek(s->tls_shared.tcp);
+}
+
static const AVOption options[] = {
TLS_COMMON_OPTIONS(TLSContext, tls_shared),
{ NULL }
@@ -415,6 +421,7 @@ const URLProtocol ff_tls_protocol = {
.url_write = tls_write,
.url_close = tls_close,
.url_get_file_handle = tls_get_file_handle,
+ .url_get_short_seek = tls_get_short_seek,
.priv_data_size = sizeof(TLSContext),
.flags = URL_PROTOCOL_FLAG_NETWORK,
.priv_data_class = &tls_class,
More information about the ffmpeg-cvslog
mailing list