From patchwork Sat Aug 26 18:07:43 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anton Khirnov X-Patchwork-Id: 43358 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:7194:b0:149:dfde:5c0a with SMTP id s20csp526814pzb; Sat, 26 Aug 2023 11:08:54 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFFbpFb5IFkMFUTAyoC1oNRaI2WWKXhWt6BJTcnqYVAKux9/woLQueDMj1Bkp9RP/5RPuYj X-Received: by 2002:a2e:84c6:0:b0:2b9:eb9d:cc53 with SMTP id q6-20020a2e84c6000000b002b9eb9dcc53mr14534763ljh.42.1693073334058; Sat, 26 Aug 2023 11:08:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1693073334; cv=none; d=google.com; s=arc-20160816; b=e3BTcZOtgwdGWGrz7v1/E5+OcvAddTdLWdKSa6R08bI+ZBZeYprPCm0dasvc6mbeR6 tnqE7rmkOUGOUhLBf6cgPAMeuWrHiYo/zRo3zkWNwKs0ZQitwjqQoyaaDiSM16QO9KRL btpDFVI5/3CPqeKFKDedR7Lh6oySFb0cCcxFu3mZllGhyj5mmpuPRZQvgX/oEycJSSDo fXRC8pEVZiexSl/V82w0/5mal/GBxnJI0qaZS8ZmjTN5LvDDw5b07cRphi2nQLG50+7h 5x/cnixnTbVvkBi1iov4cL+Rpvp2ZI2725fyTykupZfxxZSsRtjPJoCxRLHQmFM8ClPk 8OYA== 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:message-id:date:to:from :delivered-to; bh=NKSJAyLvcj1/tGEv9WGkjRcqLfB0UF0lK785x3LjrUk=; fh=YOA8vD9MJZuwZ71F/05pj6KdCjf6jQRmzLS+CATXUQk=; b=VziiNzKiefX5z4pUAq61a/opyeUk15NtfHkWQ06lV58UbkUiSJuzPUriLVxfUbUKFZ e1I3Jji4bZ3OqH79yJIsjGUFpcd1T+e1eI9keQmFe49fEFm1z4O7jq6e+R2Q1ltJOQvz XmAhc/FaeoD7SteABPlokKBYK5IRTI7TMhWp2+sb3s58lsGjfDQML8gLE+E7ZLN28nul 6a5qHF/92VhH6iuWrGsBlwlGeduKERQu5DM20rj6Cp2LkgS4r1I2S1r8TGVndaJDswCT b01C0KwItWP8FeonjX0gq6N0pOu3g13v86x8jx2MaH2Xx1LvVhbwSwjvLJoTi68nzIu0 YADw== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id o15-20020a17090608cf00b009a197afe799si490591eje.368.2023.08.26.11.08.53; Sat, 26 Aug 2023 11:08:54 -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; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 0CDC168C6BE; Sat, 26 Aug 2023 21:08:14 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail0.khirnov.net (red.khirnov.net [176.97.15.12]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1F4BA68C66A for ; Sat, 26 Aug 2023 21:08:07 +0300 (EEST) Received: from localhost (localhost [IPv6:::1]) by mail0.khirnov.net (Postfix) with ESMTP id 91CE72401D4 for ; Sat, 26 Aug 2023 20:08:05 +0200 (CEST) Received: from mail0.khirnov.net ([IPv6:::1]) by localhost (mail0.khirnov.net [IPv6:::1]) (amavis, port 10024) with ESMTP id c-XYj3sjOzge for ; Sat, 26 Aug 2023 20:08:05 +0200 (CEST) Received: from mail1.khirnov.net (mail1.khirnov.net [IPv6:2a00:c500:561:206::5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "mail1.khirnov.net", Issuer "smtp.khirnov.net SMTP CA" (verified OK)) by mail0.khirnov.net (Postfix) with ESMTPS id 1AADF24018E for ; Sat, 26 Aug 2023 20:08:05 +0200 (CEST) Received: from localhost (mail1.khirnov.net [IPv6:::1]) by mail1.khirnov.net (Postfix) with ESMTP id 8884015E3 for ; Sat, 26 Aug 2023 20:10:08 +0200 (CEST) Received: from mail1.khirnov.net ([IPv6:::1]) by localhost (mail1.khirnov.net [IPv6:::1]) (amavis, port 10024) with ESMTP id toh0-eTFUz8G for ; Sat, 26 Aug 2023 20:10:04 +0200 (CEST) Received: from libav.khirnov.net (libav.khirnov.net [IPv6:2a00:c500:561:201::7]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "libav.khirnov.net", Issuer "smtp.khirnov.net SMTP CA" (verified OK)) by mail1.khirnov.net (Postfix) with ESMTPS id 87A404104 for ; Sat, 26 Aug 2023 20:09:58 +0200 (CEST) Received: from libav.khirnov.net (libav.khirnov.net [IPv6:::1]) by libav.khirnov.net (Postfix) with ESMTP id B20313A02FA for ; Sat, 26 Aug 2023 20:07:54 +0200 (CEST) From: Anton Khirnov To: ffmpeg-devel@ffmpeg.org Date: Sat, 26 Aug 2023 20:07:43 +0200 Message-Id: <20230826180748.15977-1-anton@khirnov.net> X-Mailer: git-send-email 2.40.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 1/6] doc/developer: move a sentence to a more appropriate place 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: Jjr32QJ31KJM It's targeted at our users, not developers, so it makes more sense to group it with other text targeted at our users. --- doc/developer.texi | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/developer.texi b/doc/developer.texi index 0c2f2cd7d1..85515f5d37 100644 --- a/doc/developer.texi +++ b/doc/developer.texi @@ -24,6 +24,10 @@ generated from the headers the examples under @file{doc/examples} @end itemize +For more detailed legal information about the use of FFmpeg in +external programs read the @file{LICENSE} file in the source tree and +consult @url{https://ffmpeg.org/legal.html}. + If you modify FFmpeg code for your own use case, you are highly encouraged to @emph{submit your changes back to us}, using this document as a guide. There are both pragmatic and ideological reasons to do so: @@ -40,10 +44,6 @@ By supporting the project you find useful you ensure it continues to be maintained and developed. @end itemize -For more detailed legal information about the use of FFmpeg in -external programs read the @file{LICENSE} file in the source tree and -consult @url{https://ffmpeg.org/legal.html}. - @section Contributing code All proposed code changes should be submitted for review to From patchwork Sat Aug 26 18:07:44 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anton Khirnov X-Patchwork-Id: 43357 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:7194:b0:149:dfde:5c0a with SMTP id s20csp526733pzb; Sat, 26 Aug 2023 11:08:45 -0700 (PDT) X-Google-Smtp-Source: AGHT+IH1q7avjuqDErr9w2OXZa2uukX/Rx4b2rAJqf+lI6gs3O0NjBKBZay/v9p5PXUfs3qFjddW X-Received: by 2002:a17:907:7754:b0:9a1:9284:115 with SMTP id kx20-20020a170907775400b009a192840115mr13694545ejc.67.1693073325586; Sat, 26 Aug 2023 11:08:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1693073325; cv=none; d=google.com; s=arc-20160816; b=bkTEZsBep75hZRUIpPDauRsuH3oE9n0ldqUZcnzroKllYNFsEA3fAVRA6CjYyOsLXh vOZpu4VUhcpWU4rTktxq2OEn5Oqp+sxidhMDfMSPueE31rPjD/xCX8YoUZ2ST+fIvAye pidFpKl5V9PuxTkzQS2PQ1zcPlbIJBLGu1/OigsYkJLQVpSBuzxoi3OJdIYlrY8lzr2T Skg4eQrArj9rF63jT9RyHje3PeviuZb0ELJ43YcLGONPByv5YUp+M2CXEvbTkraPqQBb d6dpJGV9YXqLpWOz8csW3Fzd68Xyf8B7lpTrqKgWBEqQPov+6zk+pjWKL0MjWC3gH3J2 O9QA== 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:delivered-to; bh=GCYrRHqVkbGuSQAT3/qoL/S0HrUJu4mUyhcJlW6BKNc=; fh=YOA8vD9MJZuwZ71F/05pj6KdCjf6jQRmzLS+CATXUQk=; b=RE+FrxXgcz3RI4COgelYXMyfmoZYQmmdpNcsIy4pKA0X0+UWdsRQZ8I0zVzsp5fZrC 8o/CyumRX8RriU6rvXQ2kQI6baFiU5yxSYmj2LtAoRoSJ7e+xKX4NfmCkoFzw2kvd2v4 EYyC7L+5dwaN1hnBily5D8sJeZX/OcF3MKu9UrhgnqCr2OgRGWpcLysZJPj4Rsp6c0/D ZrIXShcrWLmbRb0D/urOlen7w6tDmC1aMBbFKKYazDJ7Ua0flSHh9NjSl0ueJikVR81A HfarpLuLiGBNA2jmh5zz/teZ2J5kAH6eTb49LwR98VdmSsMeAjkJotOcNjkEo94dh+Rk Be8w== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id o27-20020a170906289b00b009926928d482si2207074ejd.447.2023.08.26.11.08.44; Sat, 26 Aug 2023 11:08:45 -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; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 02EE368C690; Sat, 26 Aug 2023 21:08:13 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail0.khirnov.net (red.khirnov.net [176.97.15.12]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id D8D1F68C1D5 for ; Sat, 26 Aug 2023 21:08:03 +0300 (EEST) Received: from localhost (localhost [IPv6:::1]) by mail0.khirnov.net (Postfix) with ESMTP id 9CDB6240177 for ; Sat, 26 Aug 2023 20:08:03 +0200 (CEST) Received: from mail0.khirnov.net ([IPv6:::1]) by localhost (mail0.khirnov.net [IPv6:::1]) (amavis, port 10024) with ESMTP id 8RpThpeEXY-L for ; Sat, 26 Aug 2023 20:08:02 +0200 (CEST) Received: from mail1.khirnov.net (mail1.khirnov.net [IPv6:2a00:c500:561:206::5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "mail1.khirnov.net", Issuer "smtp.khirnov.net SMTP CA" (verified OK)) by mail0.khirnov.net (Postfix) with ESMTPS id B3B8F24018E for ; Sat, 26 Aug 2023 20:08:01 +0200 (CEST) Received: from localhost (mail1.khirnov.net [IPv6:::1]) by mail1.khirnov.net (Postfix) with ESMTP id 3164815E3 for ; Sat, 26 Aug 2023 20:10:05 +0200 (CEST) Received: from mail1.khirnov.net ([IPv6:::1]) by localhost (mail1.khirnov.net [IPv6:::1]) (amavis, port 10024) with ESMTP id sOZflSBNVaUW for ; Sat, 26 Aug 2023 20:10:05 +0200 (CEST) Received: from libav.khirnov.net (libav.khirnov.net [IPv6:2a00:c500:561:201::7]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "libav.khirnov.net", Issuer "smtp.khirnov.net SMTP CA" (verified OK)) by mail1.khirnov.net (Postfix) with ESMTPS id 9CC4B410A for ; Sat, 26 Aug 2023 20:09:58 +0200 (CEST) Received: from libav.khirnov.net (libav.khirnov.net [IPv6:::1]) by libav.khirnov.net (Postfix) with ESMTP id BF7D43A0F74 for ; Sat, 26 Aug 2023 20:07:54 +0200 (CEST) From: Anton Khirnov To: ffmpeg-devel@ffmpeg.org Date: Sat, 26 Aug 2023 20:07:44 +0200 Message-Id: <20230826180748.15977-2-anton@khirnov.net> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230826180748.15977-1-anton@khirnov.net> References: <20230826180748.15977-1-anton@khirnov.net> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 2/6] doc/developer: merge the 'contributing code' section into its parent chapter 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: sYwFBkCJnWkR The section consistes of a single short paragraph linking to other chapters. The enclosing chapter also has no other sections, all other text is placed in the chapter directly. Keeping a separate section for this paragraph just adds more clutter. --- doc/developer.texi | 2 -- 1 file changed, 2 deletions(-) diff --git a/doc/developer.texi b/doc/developer.texi index 85515f5d37..d27716ab97 100644 --- a/doc/developer.texi +++ b/doc/developer.texi @@ -44,8 +44,6 @@ By supporting the project you find useful you ensure it continues to be maintained and developed. @end itemize -@section Contributing code - All proposed code changes should be submitted for review to @url{mailto:ffmpeg-devel@@ffmpeg.org, the development mailing list}, as described in more detail in the @ref{Submitting patches} chapter. The code From patchwork Sat Aug 26 18:07:45 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anton Khirnov X-Patchwork-Id: 43353 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:7194:b0:149:dfde:5c0a with SMTP id s20csp526515pzb; Sat, 26 Aug 2023 11:08:17 -0700 (PDT) X-Google-Smtp-Source: AGHT+IE+sT6Sm8Iy9q0MtV04sjKk1UUvxAnHwSH6cXmTR0pic8FhbGP/CwMq8MEs5mvKZfDcbjub X-Received: by 2002:aa7:d69a:0:b0:522:57d9:6553 with SMTP id d26-20020aa7d69a000000b0052257d96553mr19354864edr.1.1693073296925; Sat, 26 Aug 2023 11:08:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1693073296; cv=none; d=google.com; s=arc-20160816; b=pWOO3U54L2BskFe2wNS71zDAGK4zQG8w6WjV+JEgygcBlt4eHZr3EikbwsLpEJm4Tq Km+Uk3lJGzNwQutKADdhC7LdEvnIGpK0glSz+s5ipT2cPEC2DmmtELQl4chAV2VnI/oa 611OfEdG25lHs1vMZ+GAS3JZR6m4SmyY7YUJhZccM0JkBRqJOQJYsoNVJbqoqmu4ZmlX xxWi6MzYe2MNkeuCUzw1Fet+K9dPlW7Wy8uPhKlH4CMUqNJ9BNab7rlAja6HzZZ+lnJK A3xszs6HKoVHLVuV9ksExSpiDSD8rAzTrRLLA1K9XDEQxfB+egL528vGDMuQlh0yapO3 sZLA== 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:delivered-to; bh=u2a0ochKSqtarH16RI2XKQE573m62R88LpkXsW5YTBQ=; fh=YOA8vD9MJZuwZ71F/05pj6KdCjf6jQRmzLS+CATXUQk=; b=VkPCqq6BwazQvubEPMWRS5vjvqp68br1Udoy8KwTIuwQosQdgoawgozNVEQxE8jm+R oIGiZkewF5KlLLzJs1L81jgP9qkQFwZjvINPIMyuLQufitCM3x3V2d7jy5cYfZsYhA7x iLapCVWquDOFaS0rUZlETSe9f8MKlGGft9DJC7+JWDP2eHYVDx6wCazRHjT+52koJTSe GfOjCHOmKn9WLGTBKJCtSDZ0fRZcyjT34PD5ECeWe4nJkP2wUUSE+RfG9qtxzWkZpuR0 Cng6y8g2JHHkiE8umOtIFmWlMWg4e7/ncQh9xijPXklt86BhFI6paUzNasAWGgbi7lJd rusA== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id h18-20020a50ed92000000b0052328243febsi2633728edr.153.2023.08.26.11.08.11; Sat, 26 Aug 2023 11:08:16 -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; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id E745168C601; Sat, 26 Aug 2023 21:08:08 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail0.khirnov.net (red.khirnov.net [176.97.15.12]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id D7EB968C1D5 for ; Sat, 26 Aug 2023 21:08:01 +0300 (EEST) Received: from localhost (localhost [IPv6:::1]) by mail0.khirnov.net (Postfix) with ESMTP id 9BB672401C1 for ; Sat, 26 Aug 2023 20:08:01 +0200 (CEST) Received: from mail0.khirnov.net ([IPv6:::1]) by localhost (mail0.khirnov.net [IPv6:::1]) (amavis, port 10024) with ESMTP id UcOFqsQc-Q4R for ; Sat, 26 Aug 2023 20:08:01 +0200 (CEST) Received: from mail1.khirnov.net (mail1.khirnov.net [IPv6:2a00:c500:561:206::5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "mail1.khirnov.net", Issuer "smtp.khirnov.net SMTP CA" (verified OK)) by mail0.khirnov.net (Postfix) with ESMTPS id 386D424018E for ; Sat, 26 Aug 2023 20:08:01 +0200 (CEST) Received: from localhost (mail1.khirnov.net [IPv6:::1]) by mail1.khirnov.net (Postfix) with ESMTP id A855240FA for ; Sat, 26 Aug 2023 20:10:04 +0200 (CEST) Received: from mail1.khirnov.net ([IPv6:::1]) by localhost (mail1.khirnov.net [IPv6:::1]) (amavis, port 10024) with ESMTP id OFf0jaC54cUd for ; Sat, 26 Aug 2023 20:09:58 +0200 (CEST) Received: from libav.khirnov.net (libav.khirnov.net [IPv6:2a00:c500:561:201::7]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "libav.khirnov.net", Issuer "smtp.khirnov.net SMTP CA" (verified OK)) by mail1.khirnov.net (Postfix) with ESMTPS id C64EA40FE for ; Sat, 26 Aug 2023 20:09:58 +0200 (CEST) Received: from libav.khirnov.net (libav.khirnov.net [IPv6:::1]) by libav.khirnov.net (Postfix) with ESMTP id CAE313A101F for ; Sat, 26 Aug 2023 20:07:54 +0200 (CEST) From: Anton Khirnov To: ffmpeg-devel@ffmpeg.org Date: Sat, 26 Aug 2023 20:07:45 +0200 Message-Id: <20230826180748.15977-3-anton@khirnov.net> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230826180748.15977-1-anton@khirnov.net> References: <20230826180748.15977-1-anton@khirnov.net> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 3/6] doc/developer: fix a nonsense statement 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: 3JWo/RI/ph/x Adding new fields to _functions_ makes no sense, it was supposed to be structs. --- doc/developer.texi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/developer.texi b/doc/developer.texi index d27716ab97..df43119f98 100644 --- a/doc/developer.texi +++ b/doc/developer.texi @@ -425,7 +425,7 @@ number remains unchanged. @subsection Adding new interfaces Any new public identifiers in installed headers are considered new API - this includes new functions, structs, macros, enum values, typedefs, new fields in -existing functions, new installed headers, etc. Consider the following +existing structs, new installed headers, etc. Consider the following guidelines when adding new APIs. @subsubheading Motivation From patchwork Sat Aug 26 18:07:46 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anton Khirnov X-Patchwork-Id: 43355 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:7194:b0:149:dfde:5c0a with SMTP id s20csp526666pzb; Sat, 26 Aug 2023 11:08:37 -0700 (PDT) X-Google-Smtp-Source: AGHT+IF8wzkrKzjJk+Y8m6oLa/NjTwnUN8u1gxOM8h6CoCI7UnwDEIserfjaXth0B6sCD+n7OtbC X-Received: by 2002:a17:906:51c5:b0:9a1:c669:6e6a with SMTP id v5-20020a17090651c500b009a1c6696e6amr8892978ejk.57.1693073316992; Sat, 26 Aug 2023 11:08:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1693073316; cv=none; d=google.com; s=arc-20160816; b=G9CXLpR79CnvxIo8OsJ6QAcToweBR+jWuiF4IxS2tyWOG0ZWUjHXs8y1n5ZmL5/F8Q 6IP3uwbWs57wGdClKEUzTrnjEZ+WBmSlRTpVaLSBEXIpdgAxPzzJgj1hoNg+V+AHlz3V h5FkW6kef7K0SNJGhhwr9c1EyqMzaeoOJ5NTaVPImOrRFDSDub38DSzC3TfQFEwhVVrZ 0MyQB+OZWe9OpNrb2L3bTh23tHbYNdbQY+UdRt0nxpLHcZzH0ccKAGg3cxCz5rTpfgti vpRNVwFtg1pnrHcPtpNfF4T4eWbCKq/XIsv31jl8vqjop+yK+9fPtw/IRsdKRaenYdzD 60jA== 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:delivered-to; bh=P13r68NnvGMIrqsyUgzNQR4dO1deTNHd7eCib8ZQWOo=; fh=YOA8vD9MJZuwZ71F/05pj6KdCjf6jQRmzLS+CATXUQk=; b=Rl3/MipfJGe0NjN595zllD3V9CqeCY+uudbJqGSpFnnl7dQhardZSGczPok0L0evXP vfSfnwFUoMhdtdn+I0p55sp7rp9KmN+s4HIQhw0sGOIdrLbKVG4/LqzI/khUpRq+bB0b zzxJTbEQLqamqL8JGj4uB1LmqlUX4sZ0i3ggooQdonYD/eTnqzO2GecaIFQSSV5W7JqZ MCQL1SAiLP+XFjBlcnGYJZ7DOOSl6j6O5u25MzF4FYNXMbRSOGdkVJEG5HOe58K+9W5M mTQS8jMkBB9aQzQnrx6rmoH7Emn7eJ+r40O8+oSJfKImBcuVAOYJ9WZRR0oYXn1/CxIn eD/Q== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id f23-20020a1709067f9700b0098e266c9592si2210896ejr.262.2023.08.26.11.08.36; Sat, 26 Aug 2023 11:08:36 -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; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id EEF3868C668; Sat, 26 Aug 2023 21:08:11 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail0.khirnov.net (red.khirnov.net [176.97.15.12]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 2531868C514 for ; Sat, 26 Aug 2023 21:08:03 +0300 (EEST) Received: from localhost (localhost [IPv6:::1]) by mail0.khirnov.net (Postfix) with ESMTP id DFEF52401C0 for ; Sat, 26 Aug 2023 20:08:02 +0200 (CEST) Received: from mail0.khirnov.net ([IPv6:::1]) by localhost (mail0.khirnov.net [IPv6:::1]) (amavis, port 10024) with ESMTP id 4XCufV3vHpRN for ; Sat, 26 Aug 2023 20:08:01 +0200 (CEST) Received: from mail1.khirnov.net (mail1.khirnov.net [IPv6:2a00:c500:561:206::5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "mail1.khirnov.net", Issuer "smtp.khirnov.net SMTP CA" (verified OK)) by mail0.khirnov.net (Postfix) with ESMTPS id 1B5C1240177 for ; Sat, 26 Aug 2023 20:08:01 +0200 (CEST) Received: from localhost (mail1.khirnov.net [IPv6:::1]) by mail1.khirnov.net (Postfix) with ESMTP id 86E29410C for ; Sat, 26 Aug 2023 20:10:04 +0200 (CEST) Received: from mail1.khirnov.net ([IPv6:::1]) by localhost (mail1.khirnov.net [IPv6:::1]) (amavis, port 10024) with ESMTP id EHbJ9Ki_l9dZ for ; Sat, 26 Aug 2023 20:09:58 +0200 (CEST) Received: from libav.khirnov.net (libav.khirnov.net [IPv6:2a00:c500:561:201::7]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "libav.khirnov.net", Issuer "smtp.khirnov.net SMTP CA" (verified OK)) by mail1.khirnov.net (Postfix) with ESMTPS id BE6B640FA for ; Sat, 26 Aug 2023 20:09:58 +0200 (CEST) Received: from libav.khirnov.net (libav.khirnov.net [IPv6:::1]) by libav.khirnov.net (Postfix) with ESMTP id D636C3A1043 for ; Sat, 26 Aug 2023 20:07:54 +0200 (CEST) From: Anton Khirnov To: ffmpeg-devel@ffmpeg.org Date: Sat, 26 Aug 2023 20:07:46 +0200 Message-Id: <20230826180748.15977-4-anton@khirnov.net> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230826180748.15977-1-anton@khirnov.net> References: <20230826180748.15977-1-anton@khirnov.net> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 4/6] doc/developer: add a code behaviour section to development policy 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: IlpsX7U+vBbT Document our longstanding de facto policies on things like correctness, thread-safety, UB, etc. --- doc/developer.texi | 50 +++++++++++++++++++++++++++++++++------------- 1 file changed, 36 insertions(+), 14 deletions(-) diff --git a/doc/developer.texi b/doc/developer.texi index df43119f98..afa0148137 100644 --- a/doc/developer.texi +++ b/doc/developer.texi @@ -274,10 +274,6 @@ symbols. If in doubt, just avoid names starting with @code{_} altogether. @section Miscellaneous conventions @itemize @bullet -@item -fprintf and printf are forbidden in libavformat and libavcodec, -please use av_log() instead. - @item Casts should be used only when necessary. Unneeded parentheses should also be avoided if they don't make the code easier to understand. @@ -286,6 +282,42 @@ should also be avoided if they don't make the code easier to understand. @anchor{Development Policy} @chapter Development Policy +@section Code behaviour + +@subheading Correctness +The code must be valid. It must not crash, abort, access invalid pointers, leak +memory, cause data races or signed integer overflow, or otherwise invoke +undefined behaviour. Error codes should be checked and, when applicable, +forwarded to the caller. + +@subheading Thread- and library-safety +Our libraries may be called by multiple independent callers in the same process. +These calls may happen from any number of threads and the different call sites +may not be aware of each other - e.g. a user program may be calling us directly, +and use one or more libraries that also call us. The code must behave correctly +under such conditions. + +@subheading Robustness +The code must treat as untrusted any bytestream received from a caller or read +from a file, network, etc. It must not misbehave when arbitrary data is sent to +it - typically it should print an error message and return +@code{AVERROR_INVALIDDATA} on encountering invalid input data. + +@subheading Memory allocation +The code must use the @code{av_malloc()} family of functions from +@file{libavutil/mem.h} to perform all memory allocation, except in special cases +(e.g. when interacting with an external library that requires a specific +allocator to be used). + +All allocations should be checked and @code{AVERROR(ENOMEM)} returned on +failure. A common mistake is that error paths leak memory - make sure that does +not happen. + +@subheading stdio +Our libraries must not access the stdio streams stdin/stdout/stderr directly +(e.g. via @code{printf()} family of functions), as that is not library-safe. For +logging, use @code{av_log()}. + @section Patches/Committing @subheading Licenses for patches must be compatible with FFmpeg. Contributions should be licensed under the @@ -395,11 +427,6 @@ If it is a bug, the bug has to be fixed. If it is not, the code should be changed to not generate a warning unless that causes a slowdown or obfuscates the code. -@subheading Check untrusted input properly. -Never write to unallocated memory, never write over the end of arrays, -always check values read from some untrusted source before using them -as array index or other risky things. - @section Library public interfaces Every library in FFmpeg provides a set of public APIs in its installed headers, which are those listed in the variable @code{HEADERS} in that library's @@ -811,11 +838,6 @@ an explanation why to your patchset, its ok to not test if theres a reason. @item If you added YASM code please check that things still work with --disable-yasm. -@item -Make sure you check the return values of function and return appropriate -error codes. Especially memory allocation functions like @code{av_malloc()} -are notoriously left unchecked, which is a serious problem. - @item Test your code with valgrind and or Address Sanitizer to ensure it's free of leaks, out of array accesses, etc. From patchwork Sat Aug 26 18:07:47 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anton Khirnov X-Patchwork-Id: 43354 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:7194:b0:149:dfde:5c0a with SMTP id s20csp526534pzb; Sat, 26 Aug 2023 11:08:20 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEFO8VBpO98nqtGXp1rGm+Jky8GoOybvDaXWdX688vg3264P1imxOOOxELX47JEeltBV7W/ X-Received: by 2002:ac2:562f:0:b0:4f9:5519:78b8 with SMTP id b15-20020ac2562f000000b004f9551978b8mr12973866lff.63.1693073299950; Sat, 26 Aug 2023 11:08:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1693073299; cv=none; d=google.com; s=arc-20160816; b=aIiYIi9hYUSLNfyq8s4GNvs+Lc7YuqHTitNXerjDzyf+8NXKjoulhUk9wpWyGqIWG9 69K4RLj2D/Lta/WZCIgVuoNC3shnw/KoS5gMLpnvgLKFSDb3aTmS35mi3KZumvw1eaKX AsX8Nt0oRqywnDX0o6qkFSoORrGYoP9IiaAPlO2TESNVvTkzgC0z8gdFi01ElFSh1RFP /5D4DMgvgsC/88/webuultiUHd96DDRWSHOXin4fPVkH6x4GmQCkErVJBw7ReiHHBQyR FYVSbB0r+MtvKss3fyKKmen079yOQ6EM9LOgKETkP3cgyAD5PiidkjbEOBYm29x2NJ90 ZMZQ== 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:delivered-to; bh=I1NJzJfLEsYO0ePqttCcKWNl5dUXZxKhBgMR+7nFiKQ=; fh=YOA8vD9MJZuwZ71F/05pj6KdCjf6jQRmzLS+CATXUQk=; b=aGLOiNJHxjGZWt6gb3Hyrs7Kmd3dwrQtHN2SFB+Re9DhXcG5mWMDY7rOFrXysFU05t 4sWhOoDuoRC14v3biCQ0pNyzZouwOJlO0AEELKZVF9AZI/cAM+DMgS44a9zbnTbPYqRg mONHL3w9RhOr4wYySOiBb2JSOTmZgTKsYLHsuIl3flLCUT13eXLGxwkE8sR9mN/R7SS/ T4MKKHsSR8zyoH/dP0WSnHG4WuHvX+glfyCaPyjEu5yXh0dDwovGSiORyOHUeGOWR7vE iF8Y2UJlk+e+cjW+1kG9PTXHsLcqD7corIo/xc4hEACfVTZEp9rT08SJN8HA5UWCQi5o ikqA== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id r16-20020aa7d150000000b00525425365d3si481358edo.8.2023.08.26.11.08.19; Sat, 26 Aug 2023 11:08:19 -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; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id EAD6F68C642; Sat, 26 Aug 2023 21:08:09 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail0.khirnov.net (red.khirnov.net [176.97.15.12]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 5352068C1D5 for ; Sat, 26 Aug 2023 21:08:02 +0300 (EEST) Received: from localhost (localhost [IPv6:::1]) by mail0.khirnov.net (Postfix) with ESMTP id 1E8332401D3 for ; Sat, 26 Aug 2023 20:08:02 +0200 (CEST) Received: from mail0.khirnov.net ([IPv6:::1]) by localhost (mail0.khirnov.net [IPv6:::1]) (amavis, port 10024) with ESMTP id ScWUbTXq_0T9 for ; Sat, 26 Aug 2023 20:08:01 +0200 (CEST) Received: from mail1.khirnov.net (mail1.khirnov.net [IPv6:2a00:c500:561:206::5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "mail1.khirnov.net", Issuer "smtp.khirnov.net SMTP CA" (verified OK)) by mail0.khirnov.net (Postfix) with ESMTPS id 507A22401A4 for ; Sat, 26 Aug 2023 20:08:01 +0200 (CEST) Received: from localhost (mail1.khirnov.net [IPv6:::1]) by mail1.khirnov.net (Postfix) with ESMTP id C8D3B40FE for ; Sat, 26 Aug 2023 20:10:04 +0200 (CEST) Received: from mail1.khirnov.net ([IPv6:::1]) by localhost (mail1.khirnov.net [IPv6:::1]) (amavis, port 10024) with ESMTP id tSBWv6yimtZf for ; Sat, 26 Aug 2023 20:10:04 +0200 (CEST) Received: from libav.khirnov.net (libav.khirnov.net [IPv6:2a00:c500:561:201::7]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "libav.khirnov.net", Issuer "smtp.khirnov.net SMTP CA" (verified OK)) by mail1.khirnov.net (Postfix) with ESMTPS id BD7BD15E3 for ; Sat, 26 Aug 2023 20:09:58 +0200 (CEST) Received: from libav.khirnov.net (libav.khirnov.net [IPv6:::1]) by libav.khirnov.net (Postfix) with ESMTP id E1ED93A122D for ; Sat, 26 Aug 2023 20:07:54 +0200 (CEST) From: Anton Khirnov To: ffmpeg-devel@ffmpeg.org Date: Sat, 26 Aug 2023 20:07:47 +0200 Message-Id: <20230826180748.15977-5-anton@khirnov.net> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230826180748.15977-1-anton@khirnov.net> References: <20230826180748.15977-1-anton@khirnov.net> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 5/6] doc/developer: drop an outdated item 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: ZPA4dSJeBgQD It dates back to pre-2005 days, when people generally tended to commit their work directly without going through the mailing list. Few developers do it today, and never outside of their standalone modules. This item is thus confusing and misleading and is better removed. --- doc/developer.texi | 9 --------- 1 file changed, 9 deletions(-) diff --git a/doc/developer.texi b/doc/developer.texi index afa0148137..e4ba263581 100644 --- a/doc/developer.texi +++ b/doc/developer.texi @@ -365,15 +365,6 @@ later on. Also if you have doubts about splitting or not splitting, do not hesitate to ask/discuss it on the developer mailing list. -@subheading Ask before you change the build system (configure, etc). -Do not commit changes to the build system (Makefiles, configure script) -which change behavior, defaults etc, without asking first. The same -applies to compiler warning fixes, trivial looking fixes and to code -maintained by other developers. We usually have a reason for doing things -the way we do. Send your changes as patches to the ffmpeg-devel mailing -list, and if the code maintainers say OK, you may commit. This does not -apply to files you wrote and/or maintain. - @subheading Cosmetic changes should be kept in separate patches. We refuse source indentation and other cosmetic changes if they are mixed with functional changes, such commits will be rejected and removed. Every From patchwork Sat Aug 26 18:07:48 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anton Khirnov X-Patchwork-Id: 43356 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:7194:b0:149:dfde:5c0a with SMTP id s20csp526702pzb; Sat, 26 Aug 2023 11:08:41 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFAt+kZBQfjxei59ysjjJrt9byb/MZSk4ChBJ2Rxbb6IAjrgb/0LzwRtYEOfHpPdrbPlY72 X-Received: by 2002:a17:907:2ccd:b0:9a1:be5b:f49d with SMTP id hg13-20020a1709072ccd00b009a1be5bf49dmr13654898ejc.7.1693073321651; Sat, 26 Aug 2023 11:08:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1693073321; cv=none; d=google.com; s=arc-20160816; b=Il1bkG1DzKbhNM3JcUkpxMmV2YjXY1ZRatHT9NLjoFHRfioYvIJUeJwtwbvB9gEYCU pZhKmOKU+qFoU5evQy+7dTeDEmDIFdCT+9PysWk8p5lY56Kdc99NT9KEwH6NJpwqk+IS 12V4jB3iSbWSnu6KONEZlbYI3XkKAH8Y/SfmIv1X9sVDQmdtZ3NEBLK/w4Bsf2ftU35+ FHNPo0MuGuMJGsqoG7X5/0s2T7u+cetIhkWWvrsv8iCbMSIeg5/gO4eUkbBa7NX8s4k4 ws2Pp/mR4GI6NsZgzeS/CijtVVlwTrfYptIZ9qhBjVwH6v7dM3bVLoI0FNXyzmcnNBFE 2yDA== 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:delivered-to; bh=kR9EYCoiIvJL9iTa4YwqOo97qx1eBZWIvAbfWIp/3Gk=; fh=YOA8vD9MJZuwZ71F/05pj6KdCjf6jQRmzLS+CATXUQk=; b=Aj1n2NgmUt3YnFgtYxBojDnrvXioB7K5q5IPgb8FLc7Lm/oIzNpDsQjsg9xVLtLrMo QKuZS6y71mPvOQp48ZFMw8qO+dFg+r/Xn1QgbgPE8w8wbm0tsDz5P5b5t19CO8aCQrEC WNV95OXblT9vmA1AzYruXKv9ECSiQj0nVgTARp4IIUpaJe/xFktse+Um0tl1WbcuTMFT HKcRpr91gDtxfL0ICGsSt0Cj7BEPJGNjq3urVO2/OWtBdSf/Sv0uBFwu0jZEbzef4HMo TODoLv4NQrHIP+n0n39sUc5XzWzxIrOzzF+LiVXNSucckmFB8I75Jc0uK1/pH+AjyD6I p3pg== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id p10-20020a1709060e8a00b0099b4948325bsi2422830ejf.31.2023.08.26.11.08.27; Sat, 26 Aug 2023 11:08:41 -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; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id E5A1768C654; Sat, 26 Aug 2023 21:08:10 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail0.khirnov.net (red.khirnov.net [176.97.15.12]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id DF66B68C514 for ; Sat, 26 Aug 2023 21:08:02 +0300 (EEST) Received: from localhost (localhost [IPv6:::1]) by mail0.khirnov.net (Postfix) with ESMTP id A73E92401A4 for ; Sat, 26 Aug 2023 20:08:02 +0200 (CEST) Received: from mail0.khirnov.net ([IPv6:::1]) by localhost (mail0.khirnov.net [IPv6:::1]) (amavis, port 10024) with ESMTP id tLpLEJ9xHqOT for ; Sat, 26 Aug 2023 20:08:02 +0200 (CEST) Received: from mail1.khirnov.net (mail1.khirnov.net [IPv6:2a00:c500:561:206::5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "mail1.khirnov.net", Issuer "smtp.khirnov.net SMTP CA" (verified OK)) by mail0.khirnov.net (Postfix) with ESMTPS id 730D52401C0 for ; Sat, 26 Aug 2023 20:08:01 +0200 (CEST) Received: from localhost (mail1.khirnov.net [IPv6:::1]) by mail1.khirnov.net (Postfix) with ESMTP id F335515E3 for ; Sat, 26 Aug 2023 20:10:04 +0200 (CEST) Received: from mail1.khirnov.net ([IPv6:::1]) by localhost (mail1.khirnov.net [IPv6:::1]) (amavis, port 10024) with ESMTP id WrAs9QdLIXYN for ; Sat, 26 Aug 2023 20:10:04 +0200 (CEST) Received: from libav.khirnov.net (libav.khirnov.net [IPv6:2a00:c500:561:201::7]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "libav.khirnov.net", Issuer "smtp.khirnov.net SMTP CA" (verified OK)) by mail1.khirnov.net (Postfix) with ESMTPS id D8BFB4102 for ; Sat, 26 Aug 2023 20:09:58 +0200 (CEST) Received: from libav.khirnov.net (libav.khirnov.net [IPv6:::1]) by libav.khirnov.net (Postfix) with ESMTP id EDE0D3A1502 for ; Sat, 26 Aug 2023 20:07:54 +0200 (CEST) From: Anton Khirnov To: ffmpeg-devel@ffmpeg.org Date: Sat, 26 Aug 2023 20:07:48 +0200 Message-Id: <20230826180748.15977-6-anton@khirnov.net> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230826180748.15977-1-anton@khirnov.net> References: <20230826180748.15977-1-anton@khirnov.net> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 6/6] doc/developer: deduplicate commit message rules 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: vS/tBqe3WmKe The patches/committing section currently contains several partially-overlapping rules on commit messages. Merge and simplify them into one item. --- doc/developer.texi | 41 ++++++++++++++++++----------------------- 1 file changed, 18 insertions(+), 23 deletions(-) diff --git a/doc/developer.texi b/doc/developer.texi index e4ba263581..fa417fc019 100644 --- a/doc/developer.texi +++ b/doc/developer.texi @@ -340,13 +340,24 @@ missing samples or an implementation with a small subset of features. Always check the mailing list for any reviewers with issues and test FATE before you push. -@subheading Keep the main commit message short with an extended description below. -The commit message should have a short first line in the form of -a @samp{topic: short description} as a header, separated by a newline -from the body consisting of an explanation of why the change is necessary. -If the commit fixes a known bug on the bug tracker, the commit message -should include its bug ID. Referring to the issue on the bug tracker does -not exempt you from writing an excerpt of the bug in the commit message. +@subheading Commit messages +Commit messages are highly important tools for informing other developers on +what a given change does and why. Every commit must always have a properly +filled out commit message with the following format: +@example +area changed: Short 1 line description + +details describing what and why and giving references. +@end example + +If the commit addresses a known bug on our bug tracker or other external issue +(e.g. CVE), the commit message should include the relevant bug ID(s) or other +external identifiers. Note that this should be done in addition to a proper +explanation and not instead of it. Comments such as "fixed!" or "Changed it." +are not acceptable. + +When applying patches that have been discussed at length on the mailing list, +reference the thread in the commit message. @subheading Testing must be adequate but not excessive. If it works for you, others, and passes FATE then it should be OK to commit @@ -379,28 +390,12 @@ NOTE: If you had to put if()@{ .. @} over a large (> 5 lines) chunk of code, then either do NOT change the indentation of the inner part within (do not move it to the right)! or do so in a separate commit -@subheading Commit messages should always be filled out properly. -Always fill out the commit log message. Describe in a few lines what you -changed and why. You can refer to mailing list postings if you fix a -particular bug. Comments such as "fixed!" or "Changed it." are unacceptable. -Recommended format: - -@example -area changed: Short 1 line description - -details describing what and why and giving references. -@end example - @subheading Credit the author of the patch. Make sure the author of the commit is set correctly. (see git commit --author) If you apply a patch, send an answer to ffmpeg-devel (or wherever you got the patch from) saying that you applied the patch. -@subheading Complex patches should refer to discussion surrounding them. -When applying patches that have been discussed (at length) on the mailing -list, reference the thread in the log message. - @subheading Always wait long enough before pushing changes Do NOT commit to code actively maintained by others without permission. Send a patch to ffmpeg-devel. If no one answers within a reasonable