diff mbox series

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

Message ID 20221209154055.21165-1-derek.buitenhuis@gmail.com
State New
Headers show
Series [FFmpeg-devel] avformat: Rename IPFS to IPFS gateway | expand

Checks

Context Check Description
yinshiyou/make_loongarch64 success Make finished
yinshiyou/make_fate_loongarch64 success Make fate finished
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished

Commit Message

Derek Buitenhuis Dec. 9, 2022, 3:40 p.m. UTC
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@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(-)

Comments

Derek Buitenhuis Dec. 9, 2022, 3:52 p.m. UTC | #1
On 12/9/2022 3:45 PM, Nicolas George wrote:
>> -static int ipfs_read(URLContext *h, unsigned char *buf, int size)
>> +static int ipfs_gateway_read(URLContext *h, unsigned char *buf, int size)
> 
> There is no need to rename local symbols.

My intent was to rename in case we ever got an actual IPFS implementation,
but I have no strong opinion on whether to keep this part of the patch or
not.

>> +const URLProtocol ff_ipfs_gateway_protocol = {
>> +    .name               = "ipfs_gateway",
> 
> It is a bit of a mouthful. Maybe "ipfsgw"?

My personal preference is verbosity here, but it's not a strong preference.

- Derek
Nicolas George Dec. 9, 2022, 3:53 p.m. UTC | #2
Derek Buitenhuis (12022-12-09):
> My intent was to rename in case we ever got an actual IPFS implementation,
> but I have no strong opinion on whether to keep this part of the patch or
> not.

Even if we do, the names are local, they do not conflict.

> My personal preference is verbosity here, but it's not a strong preference.

I do not insist on this. Maybe verbosity is best.

Regards,
Tomas Härdin Dec. 12, 2022, 3:48 p.m. UTC | #3
fre 2022-12-09 klockan 15:52 +0000 skrev Derek Buitenhuis:
> On 12/9/2022 3:45 PM, Nicolas George wrote:
> > > -static int ipfs_read(URLContext *h, unsigned char *buf, int
> > > size)
> > > +static int ipfs_gateway_read(URLContext *h, unsigned char *buf,
> > > int size)
> > 
> > There is no need to rename local symbols.
> 
> My intent was to rename in case we ever got an actual IPFS
> implementation,
> but I have no strong opinion on whether to keep this part of the
> patch or
> not.
> 
> > > +const URLProtocol ff_ipfs_gateway_protocol = {
> > > +    .name               = "ipfs_gateway",
> > 
> > It is a bit of a mouthful. Maybe "ipfsgw"?
> 
> My personal preference is verbosity here, but it's not a strong
> preference.

I agree verbosity is better here

/Tomas
Derek Buitenhuis Dec. 13, 2022, 12:44 p.m. UTC | #4
On 12/12/2022 3:48 PM, Tomas Härdin wrote:
> I agree verbosity is better here

I'll push with the internal symbol renames removed later today
if nobody objects.

- Derek
Derek Buitenhuis Dec. 13, 2022, 12:48 p.m. UTC | #5
On 12/13/2022 12:44 PM, Derek Buitenhuis wrote:
> I'll push with the internal symbol renames removed later today
> if nobody objects.

[...]

> -const URLProtocol ff_ipfs_protocol = {
> -    .name               = "ipfs",
> +const URLProtocol ff_ipfs_gateway_protocol = {
> +    .name               = "ipfs_gateway",

Actually, would this break ipfs:// urls? Might need to remove this, too.

- Derek
Tomas Härdin Dec. 14, 2022, 5:34 p.m. UTC | #6
tis 2022-12-13 klockan 12:48 +0000 skrev Derek Buitenhuis:
> On 12/13/2022 12:44 PM, Derek Buitenhuis wrote:
> > I'll push with the internal symbol renames removed later today
> > if nobody objects.
> 
> [...]
> 
> > -const URLProtocol ff_ipfs_protocol = {
> > -    .name               = "ipfs",
> > +const URLProtocol ff_ipfs_gateway_protocol = {
> > +    .name               = "ipfs_gateway",
> 
> Actually, would this break ipfs:// urls? Might need to remove this,
> too.

This is why I objected to this nonsense in the first place. Business
logic doesn't belong in lavf.

/Tomass
diff mbox series

Patch

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"