From patchwork Tue Jan 2 08:23:43 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Eduard Sinelnikov X-Patchwork-Id: 7074 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.79.195 with SMTP id r64csp14439435jad; Tue, 2 Jan 2018 00:31:47 -0800 (PST) X-Google-Smtp-Source: ACJfBosw3oZmD8n8IWNkbAcLdV+T52h9pQ3AF/FXzXyVw3b3SF9GaQ9oOs168Jb2LHEJ85bjQBde X-Received: by 10.223.139.16 with SMTP id n16mr39517159wra.84.1514881907772; Tue, 02 Jan 2018 00:31:47 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1514881907; cv=none; d=google.com; s=arc-20160816; b=WXDnXHY56NxyWWEF60LaeKqBKUGlLJePY8oTXmKNjNPOTSs2gkTDR4TS8mKXNJoEJF C+USG4NiAWpYbI1Y52jnJ3UPYohzhKUToerifM/eUywpakmMJt2y0+si+PWX5wra+l2O Deh7+xtSxlcugMvzHyvmzc9Z/c/BB4a60MF9tFiUi8+UDRXVxMh/cZyfMHHoYf6wFN5W agh9tFhUYL5foNAkD0cB2+Vy3r35nFpxYzoCT8B4oB8XyKtANuwAf3+zvKuDfsD0lItG AyTH1q+pdhZSRQfZXRPA+Vo8FzX6OcNqF/sXHEL2AhF/e/3Dk0xSTsUAz5Z0AUd13TWI zsog== 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=TIaUNe8ZWSKlbXwFwb32GA1HRBvLiE3ViNMomrQFGevV3dz6NwzAxZ9GvVnJXdMOc0 pVmQADWEbHd3yO8gi+tg/JYHq2f7AAITn0mcoYQiVbVxJpGrQeDWGfIFH+KKg4e8Hc6L ms4/cAQt9hjn9g4RkGp8I3Ns0p/+l1yGXqheJdyToRf5MwSNdi2XJ5rtfujpcOJFkgYV Ym8dDD9bD3xW1/pfajUZwnloTIX5leBMwiCbISOOvCBA2MMG99jxngSMKxJYycKfM/ro WvAQ5OWx+/omh9hhXE/r+dVCbEkLv8GDCTLSjSWOrbPJmDP4sxdEEvJ9uNTOxOgY5u5d CuJw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=D8ZaZgi9; 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 i9si11875738wrh.443.2018.01.02.00.31.47; Tue, 02 Jan 2018 00:31:47 -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=D8ZaZgi9; 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 3E848688252; Tue, 2 Jan 2018 10:31:30 +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 8B980687989 for ; Tue, 2 Jan 2018 10:31:23 +0200 (EET) Received: by mail-wr0-f193.google.com with SMTP id w68so35429889wrc.10 for ; Tue, 02 Jan 2018 00:31:39 -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=D8ZaZgi9wlrfRGyPm9qSL8s8KXh4A+dXQcltQXSvHtY/wPtF+dMzem5iGlxPwmJBSE +V60PGRG3TKisa0cplSW5fO1ssEHt/tsY6iV0ZqkjDNFcx9DJHz0Lnrrrn3lK+zpqPQe L4BmoJiQGqFCk+T2voIcC6t5YVQaal9wNWehpGjnZOJRj7vvuKB8r14z3uMTfgCz5zUN sLPl8IvRdiBTMzK4oD+sZf18iWWf20QmX9CcRsCwNrLKTFJ1aq8q1jirg5TXR1HEMwVY bw+TyFyldgpqG8JMZ/R/jOVRpvLIBzz8ssTZFuQCiN6D83VseZsRCJJRGMQ2Ss2Kq6d3 TQag== 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=imMUhQv9nj5AeqKv6MV4lJMGV2C1E5eNTz8yfPIA1gm9nbdwOm9aPRxu9imKVb7fur hLRb9tS5zdg9KWnqKGxX5E50mPJFuPh4BboRUiplrW+J+l9U89QSPn241qLPYR3T0H8i CCBpFuQyfSnRIMtn97nYxl8rECgBWhKEbXMe4ZUbcLQa4cbnK0n+RufA1q2RuoEybw4U fkmYD5OyZUKiRjRwjYuwbI8i9RKLEkvyyQabRz3Z+ndgumPfTSkVGwLTLPTCXOpx33p0 zLZacVL07uYuI/o0/aXkYkquuEQk960HlFwHtm5KSAIC+3fiHwj5Fj/kZmwECyQarQzq 1cKQ== X-Gm-Message-State: AKGB3mJ5ULyKFVrIanVGVIRmAAjFNbKcWsDETU2Xs834RAmDAVM7iMFP JG+l4BiXtbsG3WzI4tt92WZE0Q== X-Received: by 10.223.139.203 with SMTP id w11mr8219530wra.258.1514881425662; Tue, 02 Jan 2018 00:23:45 -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 j10sm1201271wrb.49.2018.01.02.00.23.44 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 02 Jan 2018 00:23:45 -0800 (PST) From: endushka@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Tue, 2 Jan 2018 08:23:43 +0000 Message-Id: <1514881423-7043-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); }