From patchwork Wed Oct 13 21:10:36 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?Jan_Ekstr=C3=B6m?= X-Patchwork-Id: 31103 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2084:0:0:0:0 with SMTP id a4csp6437644ioa; Wed, 13 Oct 2021 14:11:05 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwNKlUZ49QGNkqRMEXdHFjXt+WQzKB+raI8PRJ5I8HOWCv2JbVnZN30fd53cmXHcjJ8Agoo X-Received: by 2002:a17:907:3f27:: with SMTP id hq39mr1813075ejc.352.1634159465399; Wed, 13 Oct 2021 14:11:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1634159465; cv=none; d=google.com; s=arc-20160816; b=t5a5eC1HhGdh6hABIRutG8Up4xEv+282GVA7vtxJ6XaHYheIzc9v2l6G7G1DD0okE7 eMJh1e2e2d5bEm7YjdiaDv3AH6i6nC/U20UPeiU7qTuLmRk6tBfMszLsaYtuboow2R0X sKVwxzNdInLH7/bqbfCUO0sp/1U2c/ct1pK8d2mMjUzYEG9yXdDvIBSJvQIATRrlVJXF 1SRo7qz/mdEoYzr0hSgR0s6v+Jp4wo9kBTk1ip1ezt+e9+nWyqrPZgC6minBZd6kumQL 1KiNJoS9xqbPaEUJc5ygQbUSyTfJLPm/vJiChuie9V29uMq5VJuP4cdjxHt7gyEbQ/RI 8D2Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:references:in-reply-to:message-id :date:to:from:dkim-signature:delivered-to; bh=T+z408VLwFn2UNOA5R80DFTKOe9n6su0iqEmYSjIoZM=; b=AcLRRFkUaT58z+46x5nZUgOaWrhzLS/nngCYXaFyvyG8jBnGFUbGJAziku53N0NWkO P2Sc9ycZ64vNwogs1m4A6p92gCWSKnBIuxQ7MTkT4+dLkM+XGvSzSqGNTgnjCKEDT2JD Kz7BIRFfWG/rX3qxzPjDs6q9HOD78L3YMict/+y9V7CRZuoDTOYNtaKw0CuKn5gHWZ10 GdiggmwWviylUYC+olZM4LiVrzSgyITb7V7IhrPFsWPqGR4Wx++tXO9MaaUHWcj3anA9 PLK4uyVqsfP/kqfAuXrrnWlfz2cSD0wplVkuA0ugQG2TvuIJaycgxCglJulgdOQ0NioS lvpw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=q1vCYRsA; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id d4si1087389edm.247.2021.10.13.14.11.05; Wed, 13 Oct 2021 14:11:05 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=q1vCYRsA; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id B781D68A9C1; Thu, 14 Oct 2021 00:10:51 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-lf1-f53.google.com (mail-lf1-f53.google.com [209.85.167.53]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B2B5D68A94E for ; Thu, 14 Oct 2021 00:10:44 +0300 (EEST) Received: by mail-lf1-f53.google.com with SMTP id t9so17415119lfd.1 for ; Wed, 13 Oct 2021 14:10:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=UgdooQs1RczU3ySpSBNCP7Zp8KgJ9dUsH+nQ2Pe2vZ8=; b=q1vCYRsAIhUTNFPEVWlWlnDKPmRhMOPtUI/I9GzoC/ZGjyvslJMYedIp0GgCnOYWdo VarypqhkFF9tQRHGfJxSkY3lV/zuqCWpl86GKTaOrGGa+P2ufsHhw3pJ9FcdvKN/XhzH SingyPTAufk42KVU5LAznnzgwqqVziVse5DP9EkOjq4taORsiL5mEtYij3pfPzf2c4o0 qnJ4zv2+Xl6692lyMTSZ3fuKS1wwVB1SlvZnoqMwBGfucOwf5Xqd9bjQxiGkyWpwnvAN eiiKnrq/yHPBut87FpVEHwYKvu/lrkqkwFb+r5wHfa58TKKESbSGJ8wqpCuihX9OmCLo OgsA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=UgdooQs1RczU3ySpSBNCP7Zp8KgJ9dUsH+nQ2Pe2vZ8=; b=KnIBoBogZ1lfISptWG7xmSGw2oo4o0pTrSTFEoPhG6LbMhZTn/XvcB/iy2NTqx19jM th7JZ7HT7k1bSpKwdoBB3kH8Oup6qaYw7qlTMU56syW/Cdl1tlXHpADsH/dkhY9FKAAc CJT2U6N8ArInoRbxDKMTVFPRJhQBAqqalEN4mAns2pH1YiwBH6Txis8vTtOYIs3qXCvp h3ySwVJ71wEu/NjhbOdohHOr6o2H3WVB/AXNzStQPIILWPT2/QN+y2UVp0UeqgmU0D9E jZd+VuAk1dV2j2juMrPg3rnjlUbsvGymuRLZbbDIl35k1z2NI3bCUN+joond5D6WuOdW xTSQ== X-Gm-Message-State: AOAM531t5HuR8cthDEywagfYEppgjChAtUgRN5ppzRM/8LMdAdczNnzm LvBzx467nA22n97yHJhGp7PfUIvgHOs= X-Received: by 2002:a05:6512:1304:: with SMTP id x4mr1202577lfu.591.1634159444106; Wed, 13 Oct 2021 14:10:44 -0700 (PDT) Received: from localhost.localdomain (91-159-194-103.elisa-laajakaista.fi. [91.159.194.103]) by smtp.gmail.com with ESMTPSA id s4sm49176lfd.103.2021.10.13.14.10.43 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 13 Oct 2021 14:10:43 -0700 (PDT) From: =?utf-8?q?Jan_Ekstr=C3=B6m?= To: ffmpeg-devel@ffmpeg.org Date: Thu, 14 Oct 2021 00:10:36 +0300 Message-Id: <20211013211038.13391-2-jeebjp@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211013211038.13391-1-jeebjp@gmail.com> References: <20211013211038.13391-1-jeebjp@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v2 1/3] avformat/avio: privatize point of truth for AVIOContext::written 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: 4xWP0VpndN7i Looking at 3f75e5116b900f1428aa13041fc7d6301bf1988a, the field was supposed to be private, but during merging the field and the group that had the comment about it got separated. Thus, move the actual privately utilized state of this variable into the private FFIOContext. --- libavformat/avio_internal.h | 5 +++++ libavformat/aviobuf.c | 11 +++++++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/libavformat/avio_internal.h b/libavformat/avio_internal.h index eded38759b..28ea38079d 100644 --- a/libavformat/avio_internal.h +++ b/libavformat/avio_internal.h @@ -51,6 +51,11 @@ typedef struct FFIOContext { */ int64_t bytes_read; + /** + * Bytes written statistic + */ + int64_t bytes_written; + /** * seek statistic */ diff --git a/libavformat/aviobuf.c b/libavformat/aviobuf.c index 3d87d66091..7afbff0266 100644 --- a/libavformat/aviobuf.c +++ b/libavformat/aviobuf.c @@ -164,8 +164,10 @@ static void writeout(AVIOContext *s, const uint8_t *data, int len) if (ret < 0) { s->error = ret; } else { - if (s->pos + len > s->written) - s->written = s->pos + len; + if (s->pos + len > ctx->bytes_written) { + ctx->bytes_written = s->pos + len; + s->written = ctx->bytes_written; + } } } if (ctx->current_type == AVIO_DATA_MARKER_SYNC_POINT || @@ -337,13 +339,14 @@ int64_t avio_skip(AVIOContext *s, int64_t offset) int64_t avio_size(AVIOContext *s) { + FFIOContext *const ctx = ffiocontext(s); int64_t size; if (!s) return AVERROR(EINVAL); - if (s->written) - return s->written; + if (ctx->bytes_written) + return ctx->bytes_written; if (!s->seek) return AVERROR(ENOSYS);