From patchwork Fri Nov 26 21:52:11 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: John-Paul Stewart X-Patchwork-Id: 31757 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:d206:0:0:0:0:0 with SMTP id q6csp2831119iob; Fri, 26 Nov 2021 13:52:31 -0800 (PST) X-Google-Smtp-Source: ABdhPJyhQ+UMkXI5z1W4h5ANhXqe3+nYAv2vMjGgh54uKv6lRBjqUEYFfXM5XbtC6ifjNG3wCdGJ X-Received: by 2002:a05:6402:41a:: with SMTP id q26mr52438311edv.387.1637963551304; Fri, 26 Nov 2021 13:52:31 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1637963551; cv=none; d=google.com; s=arc-20160816; b=fIaMl69yzyJUj2xUd5f0mB1c4JEdOxwSZKq59syR+4djbbx8CI1drIHyQuR2vsTYis /RDDUdYL36C+Dfb4RGvXpn4glvfyCd0/VggCo40okWGYbNhcjC2ZssSXQIgdZ/EnoiQu G6tXtIu68PAv4DHrsr7VRVju1rRmyBbBBG8SPRdb0O0c3RAFbbpsOWql8XnPnfrSviP/ nqcXllypfhQ1fkRX2OCXBQS+bi1wF29vf/R/1EH8Md/E+TlIZp5pJdKGTNL/Y0jfP18C rX3+51t9FFQ1rYqW4RQWfsl7ffqhOIp1fMfe3QbOhSdVKrMq0oLmIwW0KxfLe8XzU79/ 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:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:content-language:mime-version:user-agent:date :message-id:to:from:dkim-signature:delivered-to; bh=JQFEDTFTdE1ZBe4GT+PY5lQIjjm7WvgI7Dv0fFbkLAw=; b=qs7d1ksMdky/NQLp1MlkX2/nfSBWikhb6S8IXA7tLR5OvSx35ig5gfUZD0mjNRE4qA mbI9OWjhvbVp9zmDMKzxKNsxlc7AYUOTuAqa8nocqzEbfXF3GrOep2Hf7ZdP1WWvjRiq v3BRBJRgftl/sytjvu4PDgE3eGRcIvPs1bwJQm6EcpoHUYYtlen39iFbYz7drqyQ7l2y nwcNiIaezIsDr06EqBxtXJTXaJfrEDke8gU1V3ZiQIVVB3BLflnkZNKE6G347tGqnuYU r4gGy3J726pMo/60uiCLuupbq3SYLV7uWtP835Ig6ox5plQ7jwqCPKp5IcEPnzrs+6LY IrKw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@personalprojects.net header.s=20210601 header.b=dmzVQus4; 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=QUARANTINE sp=REJECT dis=NONE) header.from=personalprojects.net Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id u24si10957004edt.444.2021.11.26.13.52.30; Fri, 26 Nov 2021 13:52:31 -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=@personalprojects.net header.s=20210601 header.b=dmzVQus4; 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=QUARANTINE sp=REJECT dis=NONE) header.from=personalprojects.net Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 6D74268A6CD; Fri, 26 Nov 2021 23:52:19 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail.personalprojects.net (mail.personalprojects.net [51.79.67.80]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C8CC968A656 for ; Fri, 26 Nov 2021 23:52:12 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=personalprojects.net; s=20210601; h=Content-Transfer-Encoding:Content-Type: MIME-Version:Date:Message-ID:To:Subject:From:Sender:Reply-To:Cc:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=/dcEFJidQ7qFOrPMK8EqNrrXGWfz3hRP/ykQdm6eMgM=; b=dmzVQus4l/hL/YlKV528lNsoc7 Nv/Pg2S+M+TFGO+cxs2+mRyX542T7iQ9L4C7OuIwjRH2qJrUo37TCRHhFFMoYdxSNee5WTydivPE1 KvLwFKu+5hzgZdq6+GYaezHRMNoV9KUoKqj8m3jI7oJ+3LlKPeWzV6TXCMLP+7+/EDqs=; Received: from bras-base-simcon3012w-grc-05-64-231-188-105.dsl.bell.ca ([64.231.188.105] helo=[192.168.10.2]) by mail.personalprojects.net with esmtpsa (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1mqj8d-0006lk-Mo for ffmpeg-devel@ffmpeg.org; Fri, 26 Nov 2021 16:52:11 -0500 From: John-Paul Stewart To: ffmpeg-devel@ffmpeg.org Message-ID: <7142c6e9-57a0-44f4-aff4-243dea22dccd@personalprojects.net> Date: Fri, 26 Nov 2021 16:52:11 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.14.0 MIME-Version: 1.0 Content-Language: en-CA Subject: [FFmpeg-devel] [PATCH 1/2] avformat/mvdec: fix reading number of audio channels X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 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" X-TUID: fEp9z/zaTpHh The number of audio channels is stored after the magic number identifying the audio format. Prior to this patch the code has been reading it earlier, causing files with only one audio channel to be handled incorrectly. Signed-off-by: John-Paul Stewart --- libavformat/mvdec.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/libavformat/mvdec.c b/libavformat/mvdec.c index d58281c3a9..8492928820 100644 --- a/libavformat/mvdec.c +++ b/libavformat/mvdec.c @@ -340,8 +340,8 @@ static int mv_read_header(AVFormatContext *avctx) return AVERROR_INVALIDDATA; } avpriv_set_pts_info(ast, 33, 1, ast->codecpar->sample_rate); - if (set_channels(avctx, ast, avio_rb32(pb)) < 0) - return AVERROR_INVALIDDATA; + + avio_skip(pb, 4); v = avio_rb32(pb); if (v == AUDIO_FORMAT_SIGNED) { @@ -350,7 +350,11 @@ static int mv_read_header(AVFormatContext *avctx) avpriv_request_sample(avctx, "Audio compression (format %i)", v); } - avio_skip(pb, 12); + if (set_channels(avctx, ast, avio_rb32(pb)) < 0) + return AVERROR_INVALIDDATA; + + avio_skip(pb, 8); + var_read_metadata(avctx, "title", 0x80); var_read_metadata(avctx, "comment", 0x100); avio_skip(pb, 0x80);