From patchwork Wed Dec 6 09:27:43 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "tiejun.peng" X-Patchwork-Id: 6566 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.161.94 with SMTP id m30csp6724857jah; Wed, 6 Dec 2017 01:28:25 -0800 (PST) X-Google-Smtp-Source: AGs4zMaQP+jm/HiET0pbfB1cT1LOh6azVGuujHDsEYCyxXZM4meVLchciREalCCv2wZ24Fv8YDsp X-Received: by 10.223.164.22 with SMTP id d22mr20905358wra.232.1512552505080; Wed, 06 Dec 2017 01:28:25 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1512552505; cv=none; d=google.com; s=arc-20160816; b=O+HjAzMOhB3so87b5xf7sw6U5lv6hWf/FyX0Jlsnm3AU3L2H6M4Up5sPLOFIvmjsc3 gt3lwlE9ANC2NCiY/8iFcdGQLhf7Nf9JIb10HDsj9fjty1rDR9459t/dQC66DaCImGo/ RHPBc0OS5d9DrVusrkD5B//Ez0FPq3Dmiey9Zff2pEal7w/k6AyjM6PbK8gTOgkmfYeK X7YyuUVlQVMtgxJE6yYNW2jDmVinHJc9d89B41LiDO1doj8feXTNmXgwANC1c/VhtTto GLK8bvmqg1paFEKlYLHoDzbgqkQvS7nKN+w6Sv2e795NtJn6w44Agm+3EfBZtMJvUP06 kVHA== 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:feedback-id:message-id:date:to:from :dkim-signature:delivered-to:arc-authentication-results; bh=hMAQYhIDJCbu0uqB+OGlMzD0fp4oOS0DajArfEZVpYk=; b=SXAVFs4vZX6Ts/1te5fi+2YB8gOWpL3deKiEYSqSYjaTwdqL2favJM6k923jWWpqPF IylSRS7bIiWUYoLBpIVr7S/NZWSMA2Q202eJS5O1Wi+46nUJqf3hvc/vJj11bM4xv2hi EgZDbHCcpd+jAQQycChRf1s/KM4wOAJ6RaHv22iy43LX2+pYrU2f5NLGyxHQw44A8egi lOovnZYG8Yh0TmKCD81IEZgId109ezOnK3PFXzBw8/k/JhJWXWJ3d/HfHTAh1+jq7l/p 2EuRCeAIhelkSpoXi4lMjzg0ShSLxJgaqoFNTfWDUSMg26Y/ZE8EG+if6N61p46x8fzt b+MA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@foxmail.com header.s=s201512 header.b=eianACxz; 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=foxmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id s17si1652638wmd.104.2017.12.06.01.28.24; Wed, 06 Dec 2017 01:28:25 -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=@foxmail.com header.s=s201512 header.b=eianACxz; 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=foxmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id A882B68A0BF; Wed, 6 Dec 2017 11:28:17 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from smtpbgau2.qq.com (smtpbgau2.qq.com [54.206.34.216]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 877D1689B3A for ; Wed, 6 Dec 2017 11:28:08 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1512552488; bh=UnjI1ATua131RPNDxllgLcqaKqNT/+eb0IUJ6/EzVmU=; h=From:To:Cc:Subject:Date:Message-Id; b=eianACxzLtQpTKNps1en+p55mkR3V/2WaEPSReqRH420kswWRlZQXXfTMDgwdAiJX e224jJ/xdaf22ZtXlZic5bLHiOUUa8f0huES+TA0fGkMAY1rC/yAM/1Sj5I0Eoj6W8 JWv4cNN1vdq9y4KvDyiz+EpbYrEvRmtKAZRDiQNU= X-QQ-mid: esmtp11t1512552487th6d1ug0r Received: from localhost.localdomain (unknown [203.160.89.93]) by esmtp4.qq.com (ESMTP) with id ; Wed, 06 Dec 2017 17:27:46 +0800 (CST) X-QQ-SSF: C100000000000020F4100500000000T X-QQ-FEAT: 6dXuswn9i1WIhgwF1APINvpcFWNsZku+CmiwsiSQUTAl6hcnaXMcg2xOwYZTl fbPM8i+Lnk55Rmve/ac9GoRG+KSvsM/AY2BniYka5r3QKjk3ShZbs1J98Ux2UioSgG/78DD bClzh3v8fRIgpW8o2JDCyiRMJjulihQnP4yF4XkF06Mh+KoA7A6fXWgLdAXsYGd2EgWcqsU XH9EA0tCuz8es4VdpX6cnbzfDkPLyR2bvkCWJ8xi0f741DHTK/mHLXwuUnYQM2OtQlzBjxk TPvIRM4CEx2a2JkZKI9wy0DVw= X-QQ-GoodBg: 0 From: "tiejun.peng" To: ffmpeg-devel@ffmpeg.org Date: Wed, 6 Dec 2017 17:27:43 +0800 Message-Id: <1512552463-1733-1-git-send-email-tiejun.peng@foxmail.com> X-Mailer: git-send-email 2.7.4 X-QQ-SENDSIZE: 520 Feedback-ID: esmtp:foxmail.com:bgforeign:bgforeign3 X-QQ-Bgrelay: 1 Subject: [FFmpeg-devel] [PATCH] lavf/mp3dec: fix mp3 file probe fail 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: "tiejun.peng" MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" fix #6895: https://trac.ffmpeg.org/ticket/6895 stream:https://trac.ffmpeg.org/attachment/ticket/6895/music_mp3 Signed-off-by: tiejun.peng --- libavformat/mp3dec.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libavformat/mp3dec.c b/libavformat/mp3dec.c index a76fe32..286eb68 100644 --- a/libavformat/mp3dec.c +++ b/libavformat/mp3dec.c @@ -73,6 +73,7 @@ static int mp3_read_probe(AVProbeData *p) int frames, ret; uint32_t header; const uint8_t *buf, *buf0, *buf2, *end; + int match_size = 0; buf0 = p->buf; end = p->buf + p->buf_size - sizeof(uint32_t); @@ -92,6 +93,7 @@ static int mp3_read_probe(AVProbeData *p) if (ret != 0) break; buf2 += h.frame_size; + match_size += h.frame_size; } max_frames = FFMAX(max_frames, frames); if(buf == buf0) { @@ -104,6 +106,8 @@ static int mp3_read_probe(AVProbeData *p) // issues with MPEG-files! if (first_frames>=7) return AVPROBE_SCORE_EXTENSION + 1; else if(max_frames>200)return AVPROBE_SCORE_EXTENSION; + // over 50% of probe size is valid + else if (p->buf_size > 10000 && match_size > (p->buf_size/2)) return AVPROBE_SCORE_EXTENSION; else if(max_frames>=4 && max_frames >= p->buf_size/10000) return AVPROBE_SCORE_EXTENSION / 2; else if(ff_id3v2_match(buf0, ID3v2_DEFAULT_MAGIC) && 2*ff_id3v2_tag_len(buf0) >= p->buf_size) return p->buf_size < PROBE_BUF_MAX ? AVPROBE_SCORE_EXTENSION / 4 : AVPROBE_SCORE_EXTENSION - 2;