From patchwork Tue Jan 2 08:15:07 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Eduard Sinelnikov X-Patchwork-Id: 7084 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.79.195 with SMTP id r64csp14938057jad; Tue, 2 Jan 2018 09:31:36 -0800 (PST) X-Google-Smtp-Source: ACJfBouH1ezmpz+ccWf7YvL2Jl2E6zccw5ys4r1hUSErlnCfHLpsMaFKFkVLvLcEKNr1yR+BP3Wi X-Received: by 10.28.62.5 with SMTP id l5mr37482022wma.47.1514914296460; Tue, 02 Jan 2018 09:31:36 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1514914296; cv=none; d=google.com; s=arc-20160816; b=IDNr34mg5k/QgHRksHVwGMbSbP9qqmg8ZN8WEyPOht0SDl59G0TwU7re48xii5/Tt6 CtQVbUUa0xpMA9gwHT+4llWruIAijg3KXAvVTtuvVhUwNHs1SbEOnMDCUQkD5MJZxAxK VBoi0ar8Ko3TAXBDjS2wmlVZy3sBWW3PsJ4w8sM6sdPr8NCLQ+ygRR0vyxj3jSbOGjca lwEUSPDcjs2oX2QCpNSR5a2YBPJyRfy+Tza0HEJTYubTdiRwYTHxEkATnr7YUt1u2vE8 Re5d7a/pRjSpp4rTeGL6kOfCB1cfWmkwyTq15R48pcq2zpwFUK2ND/UFtCOwC6LFa4X1 JCyQ== 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:message-id:date:to:from:dkim-signature :delivered-to:arc-authentication-results; bh=GsKNS9eluCZNgL5Ghz+gF2ECNPW4S/YgIgzRdCaCEAg=; b=vyQWssrK5Udt/hASF2I4grJKTA8Ezf5i09RdYkPPD5517AcOnAoohC2yGIofIScFmW CyEeBChVleVEcXaGhJyVy4LeROVXegsIT+HvQqnwczJ0txmJSWCl6VDQX/IfESBmro4k hVN4nTWZRZjxMRRoVemIfARPsynOBfpfY5SYSyLLOAJDpIw0a9RPFzpEh+5iESn8hlId KDDajowTT0h5t8S14D9qwyUbecBcP20FWGqrsPMVV4eWv0/zKFXTz04cwo/mdXo1I4R1 cAGQ/KP2B2S2ATb/R5IOoy5W63CEShj8WAkbg8ej20JVByyhpmhDOxftzE/kwM7rgUeg RbwA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=Iu4R7bnD; 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 11si21818216wmv.197.2018.01.02.09.31.36; Tue, 02 Jan 2018 09:31:36 -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=@gmail.com header.s=20161025 header.b=Iu4R7bnD; 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 F265C680A92; Tue, 2 Jan 2018 19:31:18 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wr0-f173.google.com (mail-wr0-f173.google.com [209.85.128.173]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B10D3680A92 for ; Tue, 2 Jan 2018 10:14:53 +0200 (EET) Received: by mail-wr0-f173.google.com with SMTP id l41so35625645wre.11 for ; Tue, 02 Jan 2018 00:15:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id; bh=OAeQVlTk0A86jzQ5aSwZaat7BkUV/T8gGbkZTUxAJ0M=; b=Iu4R7bnD+gwU5cqiZwpcIueNteYXgVfpaYlCrKMJQXf6KdkgUq1z2WmH96zrCj2CDi BkDdj0iV4FDZE4rY8wMsCFncm0zMiUtBA8IzbiuFh4p/romwrcTNMWm9nkPjOQwIZTxB 8aCaQz8Yv71uUwJyn45SEbIMWUd+qrUm+MChOE6fqTatnz0F0e0I+6R0YDRikEnelXON 5qhb4VqWC5Po4aUPYFPa/WOhResfTclZE8Y3k4RY5PqQ2IsDs0okJcoDBXruCZLCj6W9 fSV79A0dN0Gkm72rwiniQ++8xMwEpfkg94cswp9TJVVQOr8I8WnF/bFdGasbrbXxlltR aPow== 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; bh=OAeQVlTk0A86jzQ5aSwZaat7BkUV/T8gGbkZTUxAJ0M=; b=Rj+/s7EfgGcmzH0zjuoUDDib/fHwLajNlFf5KaYr8HcQAWGS6MIBsJvwKdX20PI3vC 3tfGwUifEoTPqKBNudlyKT9Cgphh5tPhuOCzsLtcT5SAV31aMeT6VPfljYISuUkROFxl cMmPLbTS5cnXp+zOl2z0v1nlsGeeJD8NEtlGklYn8Ytj2+TT6y8TCyahDTBfpEqE+k2o Qru00yrHvhZTS5cvASrTA/q3FbvhrG9E9W7c4aBo09qcCGN5JWrvhfmQGqdi5pTQXwlb qj4BXrc+DAS64l7Ek8wKsKh2otsntqHKl1+ozwVPTLKcGPqNPmnUNVGFoLPTJhYCZEuQ oklQ== X-Gm-Message-State: AKGB3mJWgklwKRT6m42KXjyHgqm3oMIXNh+gYfmb2V3MN5MsRivzG03x VEt5t1Pf7cfHsoLFZMkZ5qF3zw== X-Received: by 10.223.179.77 with SMTP id k13mr44496621wrd.116.1514880909050; Tue, 02 Jan 2018 00:15:09 -0800 (PST) Received: from ubuntu-xenial.localdomain (bzq-82-81-224-162.cablep.bezeqint.net. [82.81.224.162]) by smtp.gmail.com with ESMTPSA id b48sm111863002wrb.1.2018.01.02.00.15.08 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 02 Jan 2018 00:15:08 -0800 (PST) From: endushka@gmail.com X-Google-Original-From: eduard@cloudinary.com To: ffmpeg-devel@ffmpeg.org Date: Tue, 2 Jan 2018 08:15:07 +0000 Message-Id: <1514880907-6834-1-git-send-email-eduard@cloudinary.com> X-Mailer: git-send-email 2.7.4 X-Mailman-Approved-At: Tue, 02 Jan 2018 19:31:17 +0200 Subject: [FFmpeg-devel] [PATCH] avformat/aiffdec: AIFF fix in case of ANNO 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" From: Author Name Apple's AIFF protocol clearly states that each chucnk which is odd sized a padding should be added. In the old version of aiffdec adding of padding was done in `get_meta`. And in case of unknown chunk name it was done in defalut case. The new version has deleted the padding in default case and added padding adding after the switch. But the new version didn't removed the padding adding in the `get_meta` function so in some cases padding was added twice which leaded to a bug. --- libavformat/aiffdec.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/libavformat/aiffdec.c b/libavformat/aiffdec.c index 99e05c7..20decc5 100644 --- a/libavformat/aiffdec.c +++ b/libavformat/aiffdec.c @@ -81,11 +81,10 @@ static void get_meta(AVFormatContext *s, const char *key, int size) av_free(str); return; } - size += (size&1)-res; + size -= res; str[res] = 0; av_dict_set(&s->metadata, key, str, AV_DICT_DONT_STRDUP_VAL); - }else - size+= size&1; + } avio_skip(s->pb, size); }