[FFmpeg-devel] [PATCH] avformat: Rename IPFS to IPFS gateway

Derek Buitenhuis derek.buitenhuis at gmail.com
Fri Dec 9 17:40:55 EET 2022


It is a URL rewriter for IPFS gateways, not an actual implementation of
IPFS, and naming it as such was both incorrect and misleading.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis at gmail.com>
---
As was discussed at the developer meeting last week, presented here for comments.

Personally I think libavformat is no place for URL rewriters pretending to be
protocols, and think that URLs should be rewritten at the layer above avformat
(i.e. nuke this entirely), but I figure this is less likely to get me abusive
hate emails again to my personal mail - or at least fewer.
---
 Changelog                 |  2 +-
 configure                 |  4 ++--
 libavformat/Makefile      |  4 ++--
 libavformat/ipfsgateway.c | 34 +++++++++++++++++-----------------
 libavformat/protocols.c   |  4 ++--
 5 files changed, 24 insertions(+), 24 deletions(-)

diff --git a/Changelog b/Changelog
index af2dd65f8f..1e9e862406 100644
--- a/Changelog
+++ b/Changelog
@@ -30,7 +30,7 @@ version <next>:
 
 
 version 5.1:
-- add ipfs/ipns protocol support
+- add ipfs/ipns gateway support
 - dialogue enhance audio filter
 - dropped obsolete XvMC hwaccel
 - pcm-bluray encoder
diff --git a/configure b/configure
index f4eedfc207..af78d79716 100755
--- a/configure
+++ b/configure
@@ -3597,8 +3597,8 @@ udp_protocol_select="network"
 udplite_protocol_select="network"
 unix_protocol_deps="sys_un_h"
 unix_protocol_select="network"
-ipfs_protocol_select="https_protocol"
-ipns_protocol_select="https_protocol"
+ipfs_gateway_protocol_select="https_protocol"
+ipns_gateway_protocol_select="https_protocol"
 
 # external library protocols
 libamqp_protocol_deps="librabbitmq"
diff --git a/libavformat/Makefile b/libavformat/Makefile
index d7f198bf39..2699409e43 100644
--- a/libavformat/Makefile
+++ b/libavformat/Makefile
@@ -672,8 +672,8 @@ OBJS-$(CONFIG_SRTP_PROTOCOL)             += srtpproto.o srtp.o
 OBJS-$(CONFIG_SUBFILE_PROTOCOL)          += subfile.o
 OBJS-$(CONFIG_TEE_PROTOCOL)              += teeproto.o tee_common.o
 OBJS-$(CONFIG_TCP_PROTOCOL)              += tcp.o
-OBJS-$(CONFIG_IPFS_PROTOCOL)             += ipfsgateway.o
-OBJS-$(CONFIG_IPNS_PROTOCOL)             += ipfsgateway.o
+OBJS-$(CONFIG_IPFS_GATEWAY_PROTOCOL)     += ipfsgateway.o
+OBJS-$(CONFIG_IPNS_GATEWAY_PROTOCOL)     += ipfsgateway.o
 TLS-OBJS-$(CONFIG_GNUTLS)                += tls_gnutls.o
 TLS-OBJS-$(CONFIG_LIBTLS)                += tls_libtls.o
 TLS-OBJS-$(CONFIG_MBEDTLS)               += tls_mbedtls.o
diff --git a/libavformat/ipfsgateway.c b/libavformat/ipfsgateway.c
index ce69d9055a..336a2603db 100644
--- a/libavformat/ipfsgateway.c
+++ b/libavformat/ipfsgateway.c
@@ -304,19 +304,19 @@ err:
     return ret;
 }
 
-static int ipfs_read(URLContext *h, unsigned char *buf, int size)
+static int ipfs_gateway_read(URLContext *h, unsigned char *buf, int size)
 {
     IPFSGatewayContext *c = h->priv_data;
     return ffurl_read(c->inner, buf, size);
 }
 
-static int64_t ipfs_seek(URLContext *h, int64_t pos, int whence)
+static int64_t ipfs_gateway_seek(URLContext *h, int64_t pos, int whence)
 {
     IPFSGatewayContext *c = h->priv_data;
     return ffurl_seek(c->inner, pos, whence);
 }
 
-static int ipfs_close(URLContext *h)
+static int ipfs_gateway_close(URLContext *h)
 {
     IPFSGatewayContext *c = h->priv_data;
     return ffurl_closep(&c->inner);
@@ -329,29 +329,29 @@ static const AVOption options[] = {
     {NULL},
 };
 
-static const AVClass ipfs_context_class = {
-    .class_name     = "IPFS",
+static const AVClass ipfs_gateway_context_class = {
+    .class_name     = "IPFS Gateway",
     .item_name      = av_default_item_name,
     .option         = options,
     .version        = LIBAVUTIL_VERSION_INT,
 };
 
-const URLProtocol ff_ipfs_protocol = {
-    .name               = "ipfs",
+const URLProtocol ff_ipfs_gateway_protocol = {
+    .name               = "ipfs_gateway",
     .url_open2          = translate_ipfs_to_http,
-    .url_read           = ipfs_read,
-    .url_seek           = ipfs_seek,
-    .url_close          = ipfs_close,
+    .url_read           = ipfs_gateway_read,
+    .url_seek           = ipfs_gateway_seek,
+    .url_close          = ipfs_gateway_close,
     .priv_data_size     = sizeof(IPFSGatewayContext),
-    .priv_data_class    = &ipfs_context_class,
+    .priv_data_class    = &ipfs_gateway_context_class,
 };
 
-const URLProtocol ff_ipns_protocol = {
-    .name               = "ipns",
+const URLProtocol ff_ipns_gateway_protocol = {
+    .name               = "ipns_gateway",
     .url_open2          = translate_ipfs_to_http,
-    .url_read           = ipfs_read,
-    .url_seek           = ipfs_seek,
-    .url_close          = ipfs_close,
+    .url_read           = ipfs_gateway_read,
+    .url_seek           = ipfs_gateway_seek,
+    .url_close          = ipfs_gateway_close,
     .priv_data_size     = sizeof(IPFSGatewayContext),
-    .priv_data_class    = &ipfs_context_class,
+    .priv_data_class    = &ipfs_gateway_context_class,
 };
diff --git a/libavformat/protocols.c b/libavformat/protocols.c
index 8b7d1b940f..d3a7d4310b 100644
--- a/libavformat/protocols.c
+++ b/libavformat/protocols.c
@@ -72,8 +72,8 @@ extern const URLProtocol ff_libsrt_protocol;
 extern const URLProtocol ff_libssh_protocol;
 extern const URLProtocol ff_libsmbclient_protocol;
 extern const URLProtocol ff_libzmq_protocol;
-extern const URLProtocol ff_ipfs_protocol;
-extern const URLProtocol ff_ipns_protocol;
+extern const URLProtocol ff_ipfs_gateway_protocol;
+extern const URLProtocol ff_ipns_gateway_protocol;
 
 #include "libavformat/protocol_list.c"
 
-- 
2.38.1



More information about the ffmpeg-devel mailing list