From patchwork Thu May 25 14:12:48 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 3736 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.103.10.2 with SMTP id 2csp819228vsk; Thu, 25 May 2017 07:13:55 -0700 (PDT) X-Received: by 10.223.163.215 with SMTP id m23mr27236062wrb.100.1495721635391; Thu, 25 May 2017 07:13:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1495721635; cv=none; d=google.com; s=arc-20160816; b=Q3QIe6IPA8iN+wcSpcygchrf40+hb4nvYR1QIrdht+U206Y0021vwXMj8joRN+8a6Z 495kus4eUmtOciL8dnBFszhc0/fBmy4nIzZGG8xzVKcgjaknUbtyoOvcSJjJgUzi7Opn axjZNNnzQwrpL0gzEdx3N6vljRrik5W8TtnQfTsvid4DXSSFKuCSbD9YNn87G8fsOW2p Jan+PQHqgcSPANEeRidlK836aPcSzKqRpwec002qEX089cn0rFw7FtCEMf2DEiSc73bn fZK20JUeSAd1R0HLbg8XI3RnkwIUJjHu/eP6GNmRb5nuuHFU7pbjgnqywDnjjc0cAj8N dIUQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:references:in-reply-to:message-id:date :to:from:dkim-signature:delivered-to:arc-authentication-results; bh=XJP8AyRf8O1WY3RPL6z5WKcMbMlL6+y/xeNcBLr3W2k=; b=PqzuAI3Mv81vlG0zOI1RE+VQ4NZThsldHZfKlJDBXxwmoYIeIMOY+4wCK5qtbnUuR7 BGkNEGwRSBxFDXTVQ/yxRaHIbawajdtzTNV+64y1Jn4TbYvznWPMR7qYp5EnxMDZABtG mUvGh34YmkFImQAKrAIxGphhwCjKmpT0wdAspWnPxG3d0u1Oe9mqmx2lSMuUnXwV0Vqz rUwBFt74pstGPCpr3WJG7TmMDSgNJSZmNUAsWIfXds6xzdKy1si5I3bp+OTEsItgmm7C TrHtiaWrp5IRW5x/GFfXCNOWWsjwiOllyp0aYLBLaF+xPjwwYH2QyQ1GEkwGLGJi1sC3 oFSQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.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=NONE sp=NONE 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 l36si4614118wre.78.2017.05.25.07.13.55; Thu, 25 May 2017 07:13:55 -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; 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=NONE 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 9FCD3689C23; Thu, 25 May 2017 17:13:43 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qt0-f194.google.com (mail-qt0-f194.google.com [209.85.216.194]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 9E344689B55 for ; Thu, 25 May 2017 17:13:36 +0300 (EEST) Received: by mail-qt0-f194.google.com with SMTP id r58so30269557qtb.2 for ; Thu, 25 May 2017 07:13:39 -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; bh=kaq4Ksf895biFOhbGG/7IBHMYtQjGeKN++55G8dmBbo=; b=BDtsRg8ztFJuVS8JoYpLTDbKO/7380vrYCaJhYtt+KA771QVyrphnqB21ehbn0aNVp V+kunJZejVfHOUtY2C9lySJXsavN8iVlqbQgJ0E7305woE4Qb70J1a928jUZfxQHxZYf rwTlmGn2+4xEZPG4889udtAs5PcWdt5tDuwM5Trlenmokj+sp42OUrUgy9Bw+tQklg4O DX9pTRuWUW5h9BXxjr6ZKKby6kkOaiJMawxMHhXEKi/7UpalTc90wkSN+i2o5StWTea3 EofmQ6PR4AdBhGAdjvU68cPUnakTqTtN9SqOUdtF83bivz5HNYSPk6MPGMAxuXKo+UOR 64UQ== 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; bh=kaq4Ksf895biFOhbGG/7IBHMYtQjGeKN++55G8dmBbo=; b=av9XjW3yIw22tstI/mj2FE5RXE4D0E7h3PolYgQaV4wJiPJ9JjnwePvGh/HHJijqiK YCmORnznrEedE2rIbZm9se/vngtmacQwqqD8yvtA22UXBwg2pcAkCbfgTSnBgEywL+gi 9szFFW7qzYJKymQYWEF8zFeO8lDpmISWX7CBiM7AC41OFY/bA5nhqCdRsVylqrNYrx3r pO/QvzxLuFhgyXSLD+Pv5/LOFA/wP0a6xUtmxmnzZp5ys3iULVOr3c0letQypyKrMDN/ KIhQxIJbhrn8dSELZE0mHkWyGwawsc4HOjhgZqz0gPRNdwBbMRg6Cldzf+31pXGGzh+T WMPw== X-Gm-Message-State: AODbwcDGe1WqX67buVPcq3mhCreFdu5bVHZiVZq6GVmw6KIES1jFgXla kA0P0yQ0HLhtaVCd X-Received: by 10.200.41.36 with SMTP id y33mr44653490qty.193.1495721618141; Thu, 25 May 2017 07:13:38 -0700 (PDT) Received: from localhost.localdomain ([181.231.116.134]) by smtp.gmail.com with ESMTPSA id h14sm4787126qta.18.2017.05.25.07.13.37 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 25 May 2017 07:13:37 -0700 (PDT) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Thu, 25 May 2017 11:12:48 -0300 Message-Id: <20170525141248.2204-2-jamrial@gmail.com> X-Mailer: git-send-email 2.12.1 In-Reply-To: <20170525141248.2204-1-jamrial@gmail.com> References: <20170525141248.2204-1-jamrial@gmail.com> Subject: [FFmpeg-devel] [PATCH 2/2] avcodec/audiotoolboxdec: add FF_CODEC_CAP_INIT_CLEANUP to the decoder capabilities 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 MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Extradata may be allocated and the AudioConverterRef may be created during init(), which in case of a failure would not be freed as close() isn't called afterwards. Signed-off-by: James Almer --- Untested. The documentation for AudioConverterDispose() didn't say if it could handle NULL as argument, so i added a check just in case. If anyone can confirm NULL is a valid argument i'll remove that chunk. libavcodec/audiotoolboxdec.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libavcodec/audiotoolboxdec.c b/libavcodec/audiotoolboxdec.c index d499a0afc8..c30817778f 100644 --- a/libavcodec/audiotoolboxdec.c +++ b/libavcodec/audiotoolboxdec.c @@ -599,7 +599,8 @@ static av_cold void ffat_decode_flush(AVCodecContext *avctx) static av_cold int ffat_close_decoder(AVCodecContext *avctx) { ATDecodeContext *at = avctx->priv_data; - AudioConverterDispose(at->converter); + if (at->converter) + AudioConverterDispose(at->converter); av_bsf_free(&at->bsf); av_packet_unref(&at->new_in_pkt); av_packet_unref(&at->in_pkt); @@ -628,7 +629,7 @@ static av_cold int ffat_close_decoder(AVCodecContext *avctx) .flush = ffat_decode_flush, \ .priv_class = &ffat_##NAME##_dec_class, \ .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY, \ - .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE, \ + .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP, \ }; FFAT_DEC(aac, AV_CODEC_ID_AAC)