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); From patchwork Wed Oct 13 21:10:37 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: 31105 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2084:0:0:0:0 with SMTP id a4csp6437798ioa; Wed, 13 Oct 2021 14:11:16 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzbrg/TESb/kcrfHRbW0aA4GZyudJS8G4OQCzbY4Fozu5qChlJ+nkta7bTVugErAd9jnqkm X-Received: by 2002:a05:6402:5216:: with SMTP id s22mr2621350edd.167.1634159475890; Wed, 13 Oct 2021 14:11:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1634159475; cv=none; d=google.com; s=arc-20160816; b=vZrjXeFtJDM/JBDq9FxU0geKAg/MStjruPGMHqmFlBL/knRpqX8c4x6WEv8elSOtJz k29zsZjJBwQF+RkGYAGQd1zfDHZ0kJH2H3EtApB/h/YPWlzaokpXp6ywQVZXf0oANqHy uBt0+j3E8mcq2JnqusmsyfEu2jFywKUg0fU8kdotfUnDa94+2UbHToZyuAKfv/rAH8RX 6B3Z8YhjU5FqdM2QuTXm+ZGY+3FUta0M6cZmcfUD4MOGzIf8e2lU4baACihPhq+WTNWl X6Jmng04/8xvYusgTYfKlFAQB7RcxS9iPiaieiMgQQ9eHxJTanxtY4P98n0UyKdICFUw RjhA== 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=Vx+UkYW8h9qH8MGEM691jCKzItSHXQzKqZY6u6jV2dQ=; b=Ozr/bxkarUV3pkB4wxt3KlZD52KNO131zQEuwirZRNW8c7PqQljunIbci3Mu2mOdXf PUKZSKOWb2pk5jJERj+Vshb4JII/ywMwbtrf9BxPKhgffNqReBDkBbuGKCBZ7rXPwYSr QdMqydHpU8J4oEuZCnmThzY328a7WWxVvJw/Nhc+h4o25eigAp/mfcWPCh4Pjpq1K/F6 0Y9JJCj7xG62GlJz3OedmK1ysg9Vqb7ioYFe2JwbwscILqa4UGWJ0pHipvMwyD8kLuUi 3CbPBC/TKrVKuK/K7yDSKwoZIqh/xKg9fh/H84smMuI5U6+cP7xbH1zOF5kpcMGUr0W4 xQUA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=oEkvgv+A; 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 f10si971546ejl.258.2021.10.13.14.11.15; Wed, 13 Oct 2021 14:11:15 -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=oEkvgv+A; 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 8530F6804A0; Thu, 14 Oct 2021 00:10:52 +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 2C02168A94E for ; Thu, 14 Oct 2021 00:10:45 +0300 (EEST) Received: by mail-lf1-f53.google.com with SMTP id u21so14367576lff.8 for ; Wed, 13 Oct 2021 14:10:45 -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=6kQLXK7Zz02vQIuuvJsPrEVkxOyEDxEfCVc88qb+CzM=; b=oEkvgv+ABuIMiNlhfbtWgBXCVCY2l8XxVQQ+cfWWuYE7CMTHtUL53PQJYWDMJPoTJz bqwJR+fUn33vISX4UfbExO/jWgzcd9iJQtcuvyDnSYDH4ZyeA6+WKS7sRHoSqiRKUoLT aOevkOBxGYPQVwVk+g2hbiTjcPOjkSGommSIMYh+wn9mubJ4+seELHF+CyoC0oIyiFDC 763L6S5HY14JYuApIMNikqS9eN7u91SLAQUWS7q0XDyoM8EmOk2+vg2pC7Ni6SYI+Zek XFhqagwXtjo2gzMfZuF6+B8G6LakMTkPG5mPh4AQIIldv3In/XNBVLFDybGwRAzTpYr4 6+Cg== 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=6kQLXK7Zz02vQIuuvJsPrEVkxOyEDxEfCVc88qb+CzM=; b=dulwArNbJhXv7nqKRwdAi2WxA5RFz1V9HHTlozcvQ05qeIp8+ebaBnH7cu6S+lIkmm +bV5St/U/1NhkBOgJZIF/KZ89bkL9869NBr1QjHdjeXdsVt6XZSGQi7FJ47gwlxWV84t 7cv9uqnMg5qmSqkOxgolwHo48IMyh7mn/J7yZ5MdfzuRpnfr94wmqKJFdegzrUdkMjen GocHo+HviKegjgdsORYXy7b8Vu3w9QnVFJN09o6m8QycIgWoJSPITtgizkqA3V9yQtZJ IFokl61fQpxlOUKR00UoFSopWj7i7vmzt/grun9eD0CwEdJy13IdRjzO43RRawxmidDQ hcfA== X-Gm-Message-State: AOAM5303gzab5hDNPAzMz3UTAtkcKkfztgpQFFdKxKV5LsEaGNILI6LV x7zPdfxg+GMQtH1zj9GlXfAMNg6BkzM= X-Received: by 2002:a2e:8e34:: with SMTP id r20mr1782421ljk.333.1634159444518; 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.44 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 13 Oct 2021 14:10:44 -0700 (PDT) From: =?utf-8?q?Jan_Ekstr=C3=B6m?= To: ffmpeg-devel@ffmpeg.org Date: Thu, 14 Oct 2021 00:10:37 +0300 Message-Id: <20211013211038.13391-3-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 2/3] avformat/avio{, buf}: introduce public AVIOContext::bytes_{read, 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: 03osUPR8QXl+ Such fields can be seen as generally useful in cases where the API user is not implementing custom AVIO callbacks, but still would like to know if data is being read or written out, such as in case data is being read from input but no AVPacket has been received yet. --- doc/APIchanges | 3 +++ libavformat/avio.h | 10 ++++++++++ libavformat/aviobuf.c | 4 +++- libavformat/version.h | 2 +- 4 files changed, 17 insertions(+), 2 deletions(-) diff --git a/doc/APIchanges b/doc/APIchanges index 7b267a79ac..806eaf4c83 100644 --- a/doc/APIchanges +++ b/doc/APIchanges @@ -14,6 +14,9 @@ libavutil: 2021-04-27 API changes, most recent first: +2021-09-26 - xxxxxxxxxx - lavf 59.7.100 - avio.h + Introduce public bytes_{read,written} statistic fields to AVIOContext. + 2021-09-21 - xxxxxxxxxx - lavu 57.7.100 - pixfmt.h Add AV_PIX_FMT_X2BGR10. diff --git a/libavformat/avio.h b/libavformat/avio.h index a7b56ab667..0f9a0f909f 100644 --- a/libavformat/avio.h +++ b/libavformat/avio.h @@ -297,6 +297,16 @@ typedef struct AVIOContext { * used keeping track of already written data for a later flush. */ unsigned char *buf_ptr_max; + + /** + * Read-only statistic of bytes read for this AVIOContext. + */ + int64_t bytes_read; + + /** + * Read-only statistic of bytes written for this AVIOContext. + */ + int64_t bytes_written; } AVIOContext; /** diff --git a/libavformat/aviobuf.c b/libavformat/aviobuf.c index 7afbff0266..436a264f83 100644 --- a/libavformat/aviobuf.c +++ b/libavformat/aviobuf.c @@ -165,7 +165,7 @@ static void writeout(AVIOContext *s, const uint8_t *data, int len) s->error = ret; } else { if (s->pos + len > ctx->bytes_written) { - ctx->bytes_written = s->pos + len; + s->bytes_written = ctx->bytes_written = s->pos + len; s->written = ctx->bytes_written; } } @@ -575,6 +575,7 @@ static void fill_buffer(AVIOContext *s) s->buf_ptr = dst; s->buf_end = dst + len; ffiocontext(s)->bytes_read += len; + s->bytes_read = ffiocontext(s)->bytes_read; } } @@ -648,6 +649,7 @@ int avio_read(AVIOContext *s, unsigned char *buf, int size) } else { s->pos += len; ffiocontext(s)->bytes_read += len; + s->bytes_read = ffiocontext(s)->bytes_read; size -= len; buf += len; // reset the buffer diff --git a/libavformat/version.h b/libavformat/version.h index d5dd22059b..474640bb78 100644 --- a/libavformat/version.h +++ b/libavformat/version.h @@ -32,7 +32,7 @@ // Major bumping may affect Ticket5467, 5421, 5451(compatibility with Chromium) // Also please add any ticket numbers that you believe might be affected here #define LIBAVFORMAT_VERSION_MAJOR 59 -#define LIBAVFORMAT_VERSION_MINOR 6 +#define LIBAVFORMAT_VERSION_MINOR 7 #define LIBAVFORMAT_VERSION_MICRO 100 #define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \ From patchwork Wed Oct 13 21:10:38 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: 31104 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2084:0:0:0:0 with SMTP id a4csp6437945ioa; Wed, 13 Oct 2021 14:11:26 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxmmOTKW26yBHgz1pJIrTucY/J9zIpobOW6WCdEIg/uOQAvQRUvPsmDZmRs5faBjKWFKDIp X-Received: by 2002:a50:9d85:: with SMTP id w5mr2577211ede.268.1634159486343; Wed, 13 Oct 2021 14:11:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1634159486; cv=none; d=google.com; s=arc-20160816; b=FnbIK6Kz8ipi9nZbV+IPOZ82r8+RknNijAVZXeRgTh22Hg7tx7g0UWbVFg6yachx4H C6GGG6OuI4hW9Ar1CyuBT/3pt3Lc9sBr37UQ7esl3GxU88waTAlMysMkGGgYRYsZHKgF rurZAPPonIbHJ0h1h1fDYqayfo7pFrZdm2biPJtfApIYOMuJyyjKg6+taGUHzyxDVmoG iPRsniQadF/zalM/jC9+WNGZlUAERZaGi2Qs5Kp2peRKCIbJhcaZDy4ZhMnddb/9Wewk AmK+O9S8I/8zEs/ibVfn5hZN8028DiJ0qN5Sa/ZPXKWVv3JDTWZZHytq4v7PKEMR9SiD xmvg== 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=rZEej7SQzhy/Ink0zG3gUXYUhv3Hu11m0gSwZjGW5Wk=; b=0A1WlJiDVike/01ngY6FN3Xx70Mqj4EJEQ1hfh3Yz5i0805TomGIByzRjr017LpvoX YWx2poKs9tL1mReqasgVLtdXQQo0qUdrz9RNVkBCctnN1GfbZSQeOJeXI14+bTCB+UOF QAw6VObS6P/5tWvs2rv11zMrAMPl67Qgm8SoGCUgkSy7LBnm4CL21D9D2FSmGYLIyK7R KyhaNwLQzwrWD2QbTG4YysErr3Kgr2j6AL/LuB6BLrzbDiv3t4dKO+G23pu8XlCRJVzM qb5yvdWyCbRHlyIXB1cakCFZT8Sm7SKbiyVE9SlSoaqwZSpf1gE9gVfNnuaRwswy5xms PUeA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=c0wLpQIj; 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 h18si939578eje.228.2021.10.13.14.11.26; Wed, 13 Oct 2021 14:11:26 -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=c0wLpQIj; 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 6469468A9FC; Thu, 14 Oct 2021 00:10:53 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-lf1-f44.google.com (mail-lf1-f44.google.com [209.85.167.44]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id A8B6E68A98D for ; Thu, 14 Oct 2021 00:10:45 +0300 (EEST) Received: by mail-lf1-f44.google.com with SMTP id x27so17714577lfu.5 for ; Wed, 13 Oct 2021 14:10:45 -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=GhFdoFpKkRmZ7pO/AwicWtpybKXe0OzR9+qxHCh1zfQ=; b=c0wLpQIjfMh+Rc85YuiAOYOcx0dilVTBbYM+1uPGGOBA6JTVZf2fgfZOoFqLjzyxZn sT4XxmS86yVBLcrZT/pAkqdoiBDrYL7wwNfjyE/ops5Ryf+j+7Ugh4AyCHlKuQFACeJf HCE4wxTrmS6QQ2wsIorcgdWSlBkB9J+dQeet0AhMJR48KxBnWEM8MGwBSHW8HxTgLr44 6DjBv3a+irSBEGvDAWC+kI9ClTN4ZugBHMikeqRIJBs+OxPiptazGfhGcPEGhtgdX1NK 4CLn3vEOwOFvROpgYjYDSWI9E9ubbpn76mqfH3zIeCK5Rx+bpDr1ToABhoh+PK91uU0h jEdg== 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=GhFdoFpKkRmZ7pO/AwicWtpybKXe0OzR9+qxHCh1zfQ=; b=77tMSjhd6TqrJQQybiJ8wv59rLdLnklxuhh0gQvLf0twPvg/6Rauk2Q02nhPKVRZq2 Hwxmv+ku8EE/P8KrMZBuJpJD+/aZm7RcK6k1dpHaNvOGhzi/GRIvoxfTRy0BvsDSlGRQ y0+XevWDaMH0Uf1GvXd4I4SpFrYCSFzpt2bERa4+YWsjEeLCasL2+wv9FaFPy1z/v4K3 VGiM98/z97c5qCL7uxIL4pKcugy97O7fjCQWekYcOxorAxe+oD3oLM67EoBJ1ZcCbbAD J3XDP3QA+CxUggXJ+Zp/Tk0AMCYA6rusz2cy5kOdWLLPwKH/CqN0W/DmBpBgqwFzG8h+ F+JA== X-Gm-Message-State: AOAM530J85g1hvd5qB4zFBwDD1+JbDVQ5DWUWvQH3xOba+mejNE8duZF DgEatKM7z6lrXtu3LHzQWQCMMtgOeL0= X-Received: by 2002:ac2:5f96:: with SMTP id r22mr1315380lfe.266.1634159444960; 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.44 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 13 Oct 2021 14:10:44 -0700 (PDT) From: =?utf-8?q?Jan_Ekstr=C3=B6m?= To: ffmpeg-devel@ffmpeg.org Date: Thu, 14 Oct 2021 00:10:38 +0300 Message-Id: <20211013211038.13391-4-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 3/3] avformat/avio{, buf}: deprecate 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: v3DMV+DTHuxR Originally added as a private entry in commit 3f75e5116b900f1428aa13041fc7d6301bf1988a, but its grouping with the comment noting its private state was missed during merging of the field from Libav (most likely due to an already existing field in between). Users should migrate to the public field AVIOContext::bytes_written. --- doc/APIchanges | 9 +++++++++ libavformat/avio.h | 6 ++++++ libavformat/aviobuf.c | 9 +++++++++ libavformat/version.h | 5 ++++- 4 files changed, 28 insertions(+), 1 deletion(-) diff --git a/doc/APIchanges b/doc/APIchanges index 806eaf4c83..2fc964d80d 100644 --- a/doc/APIchanges +++ b/doc/APIchanges @@ -14,6 +14,15 @@ libavutil: 2021-04-27 API changes, most recent first: +2021-10-13 - xxxxxxxxxx - lavf 59.8.100 - avio.h + Deprecate AVIOContext.written. Originally added as a private entry in + commit 3f75e5116b900f1428aa13041fc7d6301bf1988a, but its grouping with + the comment noting its private state was missed during merging of the field + from Libav (most likely due to an already existing field in between). + + Users should migrate to the public field AVIOContext.bytes_written, which + returns the same value. + 2021-09-26 - xxxxxxxxxx - lavf 59.7.100 - avio.h Introduce public bytes_{read,written} statistic fields to AVIOContext. diff --git a/libavformat/avio.h b/libavformat/avio.h index 0f9a0f909f..7d33e971cb 100644 --- a/libavformat/avio.h +++ b/libavformat/avio.h @@ -290,7 +290,13 @@ typedef struct AVIOContext { */ int ignore_boundary_point; +#if FF_API_AVIOCONTEXT_WRITTEN + /** + * @deprecated AVIOContext::bytes_written should be utilized instead. + */ + attribute_deprecated int64_t written; +#endif /** * Maximum reached position before a backward seek in the write buffer, diff --git a/libavformat/aviobuf.c b/libavformat/aviobuf.c index 436a264f83..7a0cd27151 100644 --- a/libavformat/aviobuf.c +++ b/libavformat/aviobuf.c @@ -22,6 +22,7 @@ #include "libavutil/bprint.h" #include "libavutil/crc.h" #include "libavutil/dict.h" +#include "libavutil/internal.h" #include "libavutil/intreadwrite.h" #include "libavutil/log.h" #include "libavutil/opt.h" @@ -124,7 +125,11 @@ void ffio_init_context(FFIOContext *ctx, ctx->current_type = AVIO_DATA_MARKER_UNKNOWN; ctx->last_time = AV_NOPTS_VALUE; ctx->short_seek_get = NULL; +#if FF_API_AVIOCONTEXT_WRITTEN +FF_DISABLE_DEPRECATION_WARNINGS s->written = 0; +FF_ENABLE_DEPRECATION_WARNINGS +#endif } AVIOContext *avio_alloc_context( @@ -166,7 +171,11 @@ static void writeout(AVIOContext *s, const uint8_t *data, int len) } else { if (s->pos + len > ctx->bytes_written) { s->bytes_written = ctx->bytes_written = s->pos + len; +#if FF_API_AVIOCONTEXT_WRITTEN +FF_DISABLE_DEPRECATION_WARNINGS s->written = ctx->bytes_written; +FF_ENABLE_DEPRECATION_WARNINGS +#endif } } } diff --git a/libavformat/version.h b/libavformat/version.h index 474640bb78..81ed517609 100644 --- a/libavformat/version.h +++ b/libavformat/version.h @@ -32,7 +32,7 @@ // Major bumping may affect Ticket5467, 5421, 5451(compatibility with Chromium) // Also please add any ticket numbers that you believe might be affected here #define LIBAVFORMAT_VERSION_MAJOR 59 -#define LIBAVFORMAT_VERSION_MINOR 7 +#define LIBAVFORMAT_VERSION_MINOR 8 #define LIBAVFORMAT_VERSION_MICRO 100 #define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \ @@ -61,6 +61,9 @@ #ifndef FF_API_COMPUTE_PKT_FIELDS2 #define FF_API_COMPUTE_PKT_FIELDS2 (LIBAVFORMAT_VERSION_MAJOR < 60) #endif +#ifndef FF_API_AVIOCONTEXT_WRITTEN +#define FF_API_AVIOCONTEXT_WRITTEN (LIBAVFORMAT_VERSION_MAJOR < 60) +#endif #ifndef FF_API_R_FRAME_RATE