From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id F15BD42081 for ; Mon, 28 Mar 2022 17:01:19 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 7188A68B015; Mon, 28 Mar 2022 20:01:16 +0300 (EEST) Received: from mail-wr1-f50.google.com (mail-wr1-f50.google.com [209.85.221.50]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 6A8E568AB9D for ; Mon, 28 Mar 2022 20:01:10 +0300 (EEST) Received: by mail-wr1-f50.google.com with SMTP id w21so16740689wra.2 for ; Mon, 28 Mar 2022 10:01:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=TpCrqmRKgf5DqfnNtoc6gj6fofuI30dZ0TNff6x/rCU=; b=NEZz1QP8pFLsF/vEV0f14W/pgM1V+nmir3X71DV/EslLkZ8H7iAm/82NThKQ0LFbWN wCl60V3tTOxZ6ito18cHa1io+eH4PUkilDkjQ5Pmwdf7K8X5owUWuJbgxHcoi1gWOESR szj1eetYvxvA29WpjeAWk3hTptDASLxxp4U1lrldByhF+A9jIhUwGuowcjMfnTxWgAr0 p17VtbKoClVB3FEKz32kZJM0H+wl/lSmf78zUr0+NaaGKW/UsSI4CllQtQOSXRNUwJnd st8lwByUxkAJi1UYoS444JlaUOKhHYQyiuofIUeQFLEEnZoU4OUDpdInkdhVv59Pz/L/ UPCQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=TpCrqmRKgf5DqfnNtoc6gj6fofuI30dZ0TNff6x/rCU=; b=iVKX2ECapejoJlnYuIhAwto/OltuMJlBIeoZCi0G1FarVk3kVyS9bzM5GwpWQPqCkF x8S/2clHDQBidyslJvidi0Lx9VLsihMgKPQfyGZ1mREKXDmb5/ngnlMf3MorDLK+IK6B yOeP8EIIe/phHTpPCAdBCGYwB9milw/P9Wjiw5fhM8O2afmo+ZW98PEqdBhFN3EkkI4N l/wPKKFnXHfGJcvKK981WSEFYM8qcx3smeIvKVnRPOahfZd+Dn+e4aQHQjCmgJLer//S d913H0rKGcrVscgG9nUhMd27htAEPEXMEEbpuibIq2r9i6MHmMhO/5CwYhTU50yG9icG P4SA== X-Gm-Message-State: AOAM530tC5aFZ3pOZZmTyFZSVupL4dSB+gauN2WUe1VXusr/eXgYVWvF Fqv35LY3twDVzHpQUeEQLPi7ezFm/CKfQvP3jnVF3YN+ X-Google-Smtp-Source: ABdhPJxL8e7oW348VeS1oDtt9DOfdUjIeuJaczV2yK1JC+rHnsGo0qp5+TLaIEHvaZgceUH+JPacJQJ0mVUnwknn720= X-Received: by 2002:a5d:525b:0:b0:203:8f00:1a56 with SMTP id k27-20020a5d525b000000b002038f001a56mr24881830wrc.202.1648486869329; Mon, 28 Mar 2022 10:01:09 -0700 (PDT) MIME-Version: 1.0 References: <20220318145005.241414-1-markg85@gmail.com> <20220318145005.241414-2-markg85@gmail.com> <20220328161900.GG2829255@pb2> <20220328164413.GH2829255@pb2> In-Reply-To: <20220328164413.GH2829255@pb2> From: Mark Gaiser Date: Mon, 28 Mar 2022 19:00:05 +0200 Message-ID: To: FFmpeg development discussions and patches X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: Re: [FFmpeg-devel] [PATCH v9 1/1] avformat: Add IPFS protocol support. X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: On Mon, Mar 28, 2022 at 6:44 PM Michael Niedermayer wrote: > On Mon, Mar 28, 2022 at 06:34:33PM +0200, Mark Gaiser wrote: > > On Mon, Mar 28, 2022 at 6:19 PM Michael Niedermayer < > michael@niedermayer.cc> > > wrote: > > > > > On Fri, Mar 18, 2022 at 03:50:05PM +0100, Mark Gaiser wrote: > > > > This patch adds support for: > > > > - ffplay ipfs:// > > > > - ffplay ipns:// > > > > > > > > IPFS data can be played from so called "ipfs gateways". > > > > A gateway is essentially a webserver that gives access to the > > > > distributed IPFS network. > > > > > > > > This protocol support (ipfs and ipns) therefore translates > > > > ipfs:// and ipns:// to a http:// url. This resulting url is > > > > then handled by the http protocol. It could also be https > > > > depending on the gateway provided. > > > > > > > > To use this protocol, a gateway must be provided. > > > > If you do nothing it will try to find it in your > > > > $HOME/.ipfs/gateway file. The ways to set it manually are: > > > > 1. Define a -gateway to the gateway. > > > > 2. Define $IPFS_GATEWAY with the full http link to the gateway. > > > > 3. Define $IPFS_PATH and point it to the IPFS data path. > > > > 4. Have IPFS running in your local user folder (under $HOME/.ipfs). > > > > > > > > Signed-off-by: Mark Gaiser > > > > --- > > > > configure | 2 + > > > > doc/protocols.texi | 30 ++++ > > > > libavformat/Makefile | 2 + > > > > libavformat/ipfsgateway.c | 310 > ++++++++++++++++++++++++++++++++++++++ > > > > libavformat/protocols.c | 2 + > > > > 5 files changed, 346 insertions(+) > > > > create mode 100644 libavformat/ipfsgateway.c > > > > > > Theres some trailing whitespace which needs to be removed > > > our git scripts block trailing whitespace in most files > > > > > > [...] > > > > +static int ipfs_close(URLContext *h) > > > > +{ > > > > + IPFSGatewayContext *c = h->priv_data; > > > > + av_free(c->gateway); > > > > > > this results in a double free > > > > > > > I believe one of the earlier feedback rounds told me to put it here. > > It's not free'd anywhere else. > > ==22837== Invalid free() / delete / delete[] / realloc() > ==22837== at 0x4C32D3B: free (in > /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) > ==22837== by 0x117FF88: av_opt_free (in ffmpeg/ffmpeg_g) > ==22837== by 0x5C58CF: ffurl_closep (in ffmpeg/ffmpeg_g) > ==22837== by 0x5C5AF2: ffurl_close (in ffmpeg/ffmpeg_g) > ==22837== by 0x5CA206: avio_close (in ffmpeg/ffmpeg_g) > ==22837== by 0x3021C0: ffmpeg_cleanup (in ffmpeg/ffmpeg_g) > ==22837== by 0x2F5FA0: exit_program (in ffmpeg/ffmpeg_g) > ==22837== by 0x2E34A1: main (in ffmpeg/ffmpeg_g) > ==22837== Address 0x2ced8760 is 0 bytes inside a block of size 17 free'd > ==22837== at 0x4C32D3B: free (in > /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) > ==22837== by 0x7372BD: ipfs_close (in ffmpeg/ffmpeg_g) > ==22837== by 0x5C588C: ffurl_closep (in ffmpeg/ffmpeg_g) > ==22837== by 0x5C5AF2: ffurl_close (in ffmpeg/ffmpeg_g) > ==22837== by 0x5CA206: avio_close (in ffmpeg/ffmpeg_g) > ==22837== by 0x3021C0: ffmpeg_cleanup (in ffmpeg/ffmpeg_g) > ==22837== by 0x2F5FA0: exit_program (in ffmpeg/ffmpeg_g) > ==22837== by 0x2E34A1: main (in ffmpeg/ffmpeg_g) > ==22837== Block was alloc'd at > ==22837== at 0x4C31A3F: malloc (in > /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) > ==22837== by 0x4C33D84: realloc (in > /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) > ==22837== by 0x117E120: av_strdup (in ffmpeg/ffmpeg_g) > ==22837== by 0x1181DEF: av_opt_set (in ffmpeg/ffmpeg_g) > ==22837== by 0x118272D: av_opt_set_dict2 (in ffmpeg/ffmpeg_g) > ==22837== by 0x5C598C: ffurl_open_whitelist (in ffmpeg/ffmpeg_g) > ==22837== by 0x5CA4DD: ffio_open_whitelist (in ffmpeg/ffmpeg_g) > ==22837== by 0x6B88FB: io_open_default (in ffmpeg/ffmpeg_g) > ==22837== by 0x5E0E9E: avformat_open_input (in ffmpeg/ffmpeg_g) > ==22837== by 0x2EB32B: open_input_file (in ffmpeg/ffmpeg_g) > ==22837== by 0x2EF00B: ffmpeg_parse_options (in ffmpeg/ffmpeg_g) > ==22837== by 0x2E3301: main (in ffmpeg/ffmpeg_g) > > > > > > Then again, in those earlier rounds I was manipulating c-gateway which > > right now isn't the case at all anymore. > > > > If all that's stopping it from merging is this single line, could you > > perhaps merge it and remove this line while at it? > > I'm kinda reluctant to make another patch and wait 1-2 weeks again... > > I do not know why its there or who asked for it to be put there. > I dont want to just remove something while merging that someone else > asked to be added > It's fine, you can remove it. I just checked with crypto.c (which I use as an example). d->gateway is an AVOption and is never changed in code. If I compare it with other AVOption in crypto.c, it too follows the same concept of never deleting it manually (probably AVOption magic internally?) Removing it is fine. Unless crypto.c does it wrong too ;) Could you? Or do you insist on an updated patch? I would merely remove that one line.. > > thx > > [...] > -- > Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB > > Never trust a computer, one day, it may think you are the virus. -- Compn > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". > _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".