From patchwork Tue Jan 2 08:20:31 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Eduard Sinelnikov X-Patchwork-Id: 7072 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.79.195 with SMTP id r64csp14431138jad; Tue, 2 Jan 2018 00:20:41 -0800 (PST) X-Google-Smtp-Source: ACJfBotxiwwtsf6jhjctrcHmIN7SwRBMo4a5fLMCeYL2ePjxT4TqJh9K/Ft5l6561B3YqvUOh8ef X-Received: by 10.223.164.143 with SMTP id g15mr11287753wrb.147.1514881241799; Tue, 02 Jan 2018 00:20:41 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1514881241; cv=none; d=google.com; s=arc-20160816; b=vsXZas7h+leETEaKf0R5G2gZZq5BMTdiBSopJFPk6rnzgsYWkYy3wmR+nSd1m16d9Y wyJ5R0Lpngm0rMrrU1u2iGnXJcmzUIpQ7iOw2CJzXh0TsnnpvJJs48KIkqcPEGYUqZ1M 3LtuA8PGc3tXg4ar+mwu5CghDWnUR3rmcnOaOIMrxvs8xLvee4f/A45Et4ta8DLDdmCj HafZxrcxGi5WheSNkOtxYpxa08phwD98ODK/19E3r7X20OGPgGHGIVII7UM84bP49p6p ZFYFV902KhVhNfzVOcWUuRjVrzYev+Nw4YPUfeiQsdYOxnW0ZYFhPr79bkq0jiUDrl/N cnew== 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:cc: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=zKdz28+7NPEqPm7qWmywq55CDKqyuzW+OgVprDmqC7svjnTzK1evHPkrdS9oRriNHi eRx/mbHCQ27zOhLRnSlDaxOmcgLSbm8NaHeiqPmv46mZz/a777gcuLkfppAHQjLj1BhW Ccau32gQhlM0gMaZCoSGCcxI+JyqeK+YEKfFVvKwESWOClXIzimJJ7UmunmWMvnU5mL5 pFuHj9ZTKPLQZvsZWcd76JvAFxds0sBfaQcP/Ive9h/6JL3qbji0KA4Mi1ReDAR43rIK WzWUVwV/e/jFE/gzQ73hum8EUY1jh+pdAhh6Q1U6tURf4mJH305U+nRndKRsfNagutbX Ht0A== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=aQDSwrzP; 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 o19si28210477wrf.25.2018.01.02.00.20.41; Tue, 02 Jan 2018 00:20:41 -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=aQDSwrzP; 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 967F66805F5; Tue, 2 Jan 2018 10:20:24 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wr0-f193.google.com (mail-wr0-f193.google.com [209.85.128.193]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 6340A680118 for ; Tue, 2 Jan 2018 10:20:18 +0200 (EET) Received: by mail-wr0-f193.google.com with SMTP id 36so14548413wrh.1 for ; Tue, 02 Jan 2018 00:20:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=OAeQVlTk0A86jzQ5aSwZaat7BkUV/T8gGbkZTUxAJ0M=; b=aQDSwrzPfYqWC9IiizfDg6USgYE2gReO/QQHnpyxLy9qWMgtHxXdbg8fztIL5IghAg L4oc0pym9ZxpPndlMMSYe9c8SJF5dF+V7/ssEIQVfOWauepSWZ5abJ/XSY3ZS3SyN1tG Ix/grQqGIYXO94mXaJt0sD2vBY1hGI6RRr40w+eLMafGR+kpRNSXIERyEhunWuov47gu kApqiMDN+ZgLZ9HWoufnjYVSW9bUGRcC3rItMvePyAITr4uc6lLXvHMpYaViWyJyDO9P r6ZkcADSiqRLJIhpGnUuPcBpetr4erd2w3k5nA8kJAwc/cT1mrR51dpHTOsQJBv3XeU8 vH1Q== 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; bh=OAeQVlTk0A86jzQ5aSwZaat7BkUV/T8gGbkZTUxAJ0M=; b=AdLgUQyJeq080DUwmwTLmMSgEgbsAqaWvlZ1T7SSmSWVPTRXJmWMxzVLwZdtMut/bS XiGISy1C7bnT9LS9NGFy5ERHwKEOqTOtshTTBd42l0qbkXMzxJsFeWFlwUHxCsQRkkgm nVgKdtx6+qSNsaJ4XEwOEHjp7B2RhjtjpwfOtLJWyfdFGMVX2SyNZiCledKQ3s6UgsaL JVRTxGHX5TCXMZWDNwLH4HD7a2DhKXhewRgM4HzD0AnwW/9XGQ1S4cpa1MxCWXLCZ0Iz 68zDXqOxSM/DLQXDLvnuGlltq5TQKgVTcVpRHeAOMXHywOg0EaNl4DywOcZ29WDLgoMW 2emw== X-Gm-Message-State: AKGB3mJ7ikGTvwYkOGMhwhN2hoj203WmurI+/k02i3NCNAlATAm/t4mZ TqHxOQMpM4gufBdqopNFz0mi7w== X-Received: by 10.223.180.70 with SMTP id v6mr7441524wrd.51.1514881233818; Tue, 02 Jan 2018 00:20:33 -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 o4sm12140898wra.91.2018.01.02.00.20.32 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 02 Jan 2018 00:20:33 -0800 (PST) From: endushka@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Tue, 2 Jan 2018 08:20:31 +0000 Message-Id: <1514881231-6963-1-git-send-email-endushka@gmail.com> X-Mailer: git-send-email 2.7.4 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 Cc: eduard@cloudinary.com 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); }