From patchwork Sun Mar 21 17:09:00 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 26523 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id 5DCE044B4A9 for ; Sun, 21 Mar 2021 19:16:11 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 3CA1768A601; Sun, 21 Mar 2021 19:16:11 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qt1-f172.google.com (mail-qt1-f172.google.com [209.85.160.172]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3443F68A753 for ; Sun, 21 Mar 2021 19:16:05 +0200 (EET) Received: by mail-qt1-f172.google.com with SMTP id a11so10712415qto.2 for ; Sun, 21 Mar 2021 10:16:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=KMi9T7P9Wk3V4JRTaq/ywGfWpF854hKuFaRk//ZNCmQ=; b=mUxkQd2LvQPYHBNRMyLeFLB3CsCo5wSuPlwGS9Y0iAyaf5sruwKebEDCeD6Syd5xNL TUyQ7iM/dspcBF3auogFHP64M4r44bbzNsF5BEhDJ2Y4PWTGKTxf9i6ie9cUTdVkjgB0 T60LjAodKTL67vzo+JM8ywtcGcdIuIxMmi3Ob4gDwzgT/3nPbUrs+ROlUXNUvYriS0hI AREVQqHGhrJKYp8HS6BI+qO/ngZn4J0urEgOKksQa4GuLW7HzDFSbms+om15vCenZQxH 2tI0BD0QRFN4xoF8tu4myHpfLvnky6QGJtpSSWOylRggvVSGtKcs/vwg3mCj2itL462q HzMw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=KMi9T7P9Wk3V4JRTaq/ywGfWpF854hKuFaRk//ZNCmQ=; b=gU047xdcsYcVW9srypJkAsMfOM8Y4o5VhANd+ylJKNl5T1EbHlt5Y4W0aGbmcVgOz8 71vnOO64oH6rfRpQRetiFQ4TYyRIToYThBoPAGF/ZcEXb3k+QnwDN9pgPjRn6tEV+A+b r0vzRo++ObOFyyGQTuZ4uD+rdRN65RhZGAReZZgK7xZUqXbndelJv3b2UXeryW4sCi51 Pqeg06roBZ/vloBVtJ9hBk5UfJdZuP+Zdw7OQjsfHxK4HPo7xzcq9c5GUr9zSZarQA74 ZHOLqVdJLYws3lPT7sKguz0DNkrQLAN7Aoe3RploXhMPsT+TtcOlpDHEdVbVQOoXqOGd AfWg== X-Gm-Message-State: AOAM5310t55JoQtCN+N+uoone1WUInzFFdyPE6TXDvxocrij00AJTveK XMjNS+4NlKtx0cSa1djn4E2goLfNl30= X-Google-Smtp-Source: ABdhPJxECVbjBpS3M5F6N2RtFrEqkYhhvOB0ODiTi06HMJ/Ty7OH8UisdURe74Y6kKiwXMYC5VJ1KA== X-Received: by 2002:a37:b807:: with SMTP id i7mr7333343qkf.126.1616346574516; Sun, 21 Mar 2021 10:09:34 -0700 (PDT) Received: from localhost.localdomain ([191.84.255.89]) by smtp.gmail.com with ESMTPSA id o7sm9047610qki.63.2021.03.21.10.09.33 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 21 Mar 2021 10:09:34 -0700 (PDT) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Sun, 21 Mar 2021 14:09:00 -0300 Message-Id: <20210321170900.2045-2-jamrial@gmail.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20210321170900.2045-1-jamrial@gmail.com> References: <20210321170900.2045-1-jamrial@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 2/2] avformat: add a deprecated attribute to AVStream.attached_pic 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" And mention how the field is not being removed but changed, with instructions for library users to migrate their code. Signed-off-by: James Almer --- libavformat/avformat.h | 8 ++++++++ libavformat/utils.c | 4 ++++ 2 files changed, 12 insertions(+) diff --git a/libavformat/avformat.h b/libavformat/avformat.h index 822aa4c631..9fa8049149 100644 --- a/libavformat/avformat.h +++ b/libavformat/avformat.h @@ -953,8 +953,16 @@ typedef struct AVStream { * * decoding: set by libavformat, must not be modified by the caller. * encoding: unused + * + * @deprecated This field will not be removed but become a pointer to an AVPacket + * owned by libavformat instead. + * Callers that want to be forward compatible with future libavformat + * versions should wrap access to this field with a + * LIBAVFORMAT_VERSION_MAJOR preoprocessor check and start treating it + * as a pointer from version 60 onwards. */ #if FF_API_INIT_PACKET + attribute_deprecated AVPacket attached_pic; #else AVPacket *attached_pic; diff --git a/libavformat/utils.c b/libavformat/utils.c index 3db12af1b6..f7a3b96dab 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -4384,8 +4384,10 @@ static void free_stream(AVStream **pst) av_parser_close(st->parser); #if FF_API_INIT_PACKET +FF_DISABLE_DEPRECATION_WARNINGS if (st->attached_pic.data) av_packet_unref(&st->attached_pic); +FF_ENABLE_DEPRECATION_WARNINGS #else av_packet_free(st->attached_pic); #endif @@ -5864,7 +5866,9 @@ FF_ENABLE_DEPRECATION_WARNINGS AVPacket *ff_stream_get_attached_pic(AVStream *st) { #if FF_API_INIT_PACKET +FF_DISABLE_DEPRECATION_WARNINGS return &st->attached_pic; +FF_ENABLE_DEPRECATION_WARNINGS #else return st->attached_pic; #endif