From patchwork Mon Feb 13 10:51:29 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: wm4 X-Patchwork-Id: 2534 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.103.89.21 with SMTP id n21csp847591vsb; Mon, 13 Feb 2017 02:51:45 -0800 (PST) X-Received: by 10.28.127.13 with SMTP id a13mr17635623wmd.96.1486983105308; Mon, 13 Feb 2017 02:51:45 -0800 (PST) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id h19si13334489wrc.243.2017.02.13.02.51.44; Mon, 13 Feb 2017 02:51:45 -0800 (PST) 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=@googlemail.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; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=googlemail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id A17F26891D7; Mon, 13 Feb 2017 12:51:31 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wm0-f68.google.com (mail-wm0-f68.google.com [74.125.82.68]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3077D6803A2 for ; Mon, 13 Feb 2017 12:51:26 +0200 (EET) Received: by mail-wm0-f68.google.com with SMTP id r18so18738641wmd.3 for ; Mon, 13 Feb 2017 02:51:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=aa7XI/uLw00VnaEHSNWqGCz8Xp8p+551tHchE9IhN10=; b=LugmXmYlLqyogGzRvXYFoUM49KI2JEAaTteU15MJYpaBUMmPB4U3mPiLgFDnKBJdPM bP6eCdMzPtO9vcTm8U3DGmxHyO9gEJLN6KjJ/eMwh+gXUul708p5YxmGG6PlSSmp5dZ3 Jyh9kI2U0BJnL4Orjcdixufxp9wHGburIyj5EkcOHbl6RkhXXQOQmA3tE9mOgDcxzuGY HzsMbdX6tHoCMCiQ8pe9CoWYGz9yRTo0He4g+ZQpo8oTGHT1nJnQWNq2lr5oIDbRfR2C vJsM8TYkmXZGfN5f/GthkK/PoaNvaTe14gAyRDE9zkU82pewLHTlir+oXXTvlryUaAZV FtUg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=aa7XI/uLw00VnaEHSNWqGCz8Xp8p+551tHchE9IhN10=; b=lBCqC9PznUz7y6dHwZcnABelIQml1vkx5qarVR/bxnzKl6czHi1gOcriZSs/LC+BfB Y78Q4+c1zFmtG+N3OGJN4YulNkU8Bg/y/ZCjfWnE8/W3SIQs9oNOI1KyFylePQ8DhRMH ZPwDJQITt48zOfO6QFnmwHsWVkrg61M3DDQF1rW2wGfcstcTVR0xEZt0yzxtixfCcEj+ 7n2ilFQwEpjIC1SkSFq+dfOEBCrJGyNkuTTjnJKs0eqQqlO/SDaVG7rYTqw4FYyqZhaj DTI/GvO9kbYpC0gjN6q6y9cqsWWbs10Zq0X0QvwcDksgGo03VBR0X+6T06nwddTNpHWQ SbDA== X-Gm-Message-State: AMke39monuHDaE/q1l7ctqmXWhb2jkis1anC3Z8+VzORD0dabya2JMOJc1ND5UHC2Uzx2w== X-Received: by 10.28.232.90 with SMTP id f87mr35884016wmh.35.1486983090865; Mon, 13 Feb 2017 02:51:30 -0800 (PST) Received: from localhost.localdomain (p4FF02BE9.dip0.t-ipconnect.de. [79.240.43.233]) by smtp.googlemail.com with ESMTPSA id i203sm4827980wmf.12.2017.02.13.02.51.28 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 13 Feb 2017 02:51:30 -0800 (PST) From: wm4 To: ffmpeg-devel@ffmpeg.org Date: Mon, 13 Feb 2017 11:51:29 +0100 Message-Id: <20170213105129.26394-2-nfxjfg@googlemail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20170213105129.26394-1-nfxjfg@googlemail.com> References: <20170213105129.26394-1-nfxjfg@googlemail.com> Subject: [FFmpeg-devel] [PATCH 2/2] lavf: fix AVStream private fields marker X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 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 Cc: wm4 MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Public fields were added after the private fields (negating the entire point of this). New private fields go into AVStreamInternal anyway. The new marker was set by guessing which fields are supposed to be private and wshich not. recommended_encoder_configuration is accessed by ffserver_config.c directly, and is supposed to use the public API. ffmpeg.c accesses AVStream.cur_dts, even though it's a private field, but that seems to be an older error. --- libavformat/avformat.h | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/libavformat/avformat.h b/libavformat/avformat.h index 64180bca9e..4c1b18e002 100644 --- a/libavformat/avformat.h +++ b/libavformat/avformat.h @@ -1005,7 +1005,9 @@ typedef struct AVStream { * All fields below this line are not part of the public API. They * may not be used outside of libavformat and can be changed and * removed at will. - * New public fields should be added right above. + * Internal note: be aware that physically removing these fields + * will break ABI. Replace removed fields with dummy fields, and + * add new fields to AVStreamInternal. ***************************************************************** */ @@ -1201,6 +1203,12 @@ typedef struct AVStream { */ int inject_global_side_data; + /***************************************************************** + * All fields above this line are not part of the public API. + * Fields below are part of the public API and ABI again. + ***************************************************************** + */ + /** * String containing paris of key and values describing recommended encoder configuration. * Paris are separated by ','.