From patchwork Sat Aug 8 13:37:37 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zane van Iperen X-Patchwork-Id: 21535 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id 35DE144BD08 for ; Sat, 8 Aug 2020 16:37:56 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 0A93068B8FE; Sat, 8 Aug 2020 16:37:56 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-40131.protonmail.ch (mail-40131.protonmail.ch [185.70.40.131]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C7E4568B420 for ; Sat, 8 Aug 2020 16:37:49 +0300 (EEST) Date: Sat, 08 Aug 2020 13:37:37 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zanevaniperen.com; s=protonmail; t=1596893868; bh=8Xkly5bzTqpFatv9FHkPScXi0yNvmAhkNRSjPibMWF4=; h=Date:To:From:Cc:Reply-To:Subject:From; b=An0EH7kl11dextmpGh+zKxfnNuI9rEsFagEK8R72O/GHEFWWGrn0p4srnOZpyrVwl 2+SWPPwMLljrgbnIggdVkTB+KBlqBqGXV/upRaHU98aiNaP3Em3ccYbqOVpiXheO8o AsLfUGXiZdeSHIh/5iWoLWgl2ggYW8kmqCOBIfow= To: ffmpeg-devel@ffmpeg.org From: Zane van Iperen Message-ID: <20200808133717.2311422-1-zane@zanevaniperen.com> MIME-Version: 1.0 X-Spam-Status: No, score=-1.2 required=7.0 tests=ALL_TRUSTED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF shortcircuit=no autolearn=disabled version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on mail.protonmail.ch Subject: [FFmpeg-devel] [PATCH v2 1/4] avformat/argo_asf: don't check or probe file version 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: Zane van Iperen Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" All files I've seen are identical, irregardless of version. Until shown otherwise, assume unknown ones are too. Signed-off-by: Zane van Iperen --- libavformat/argo_asf.c | 37 +++++++------------------------------ 1 file changed, 7 insertions(+), 30 deletions(-) diff --git a/libavformat/argo_asf.c b/libavformat/argo_asf.c index 671b7482f9..beec46a0d4 100644 --- a/libavformat/argo_asf.c +++ b/libavformat/argo_asf.c @@ -29,6 +29,12 @@ #define ASF_CHUNK_HEADER_SIZE 20 #define ASF_SAMPLE_COUNT 32 +/* + * Known versions: + * 1.1: The sample files in /game-formats/brender/part2.zip + * 1.2: Croc! Legend of the Gobbos + * 2.1: Croc 2 + */ typedef struct ArgoASFFileHeader { uint32_t magic; /*< Magic Number, {'A', 'S', 'F', '\0'} */ uint16_t version_major; /*< File Major Version. */ @@ -85,33 +91,11 @@ static void argo_asf_parse_chunk_header(ArgoASFChunkHeader *hdr, const uint8_t * hdr->flags = AV_RL32(buf + 16); } -/* - * Known versions: - * 1.1: The sample files in /game-formats/brender/part2.zip - * 1.2: Croc! Legend of the Gobbos - * 2.1: Croc 2 - */ -static int argo_asf_is_known_version(const ArgoASFFileHeader *hdr) -{ - return (hdr->version_major == 1 && hdr->version_minor == 1) || - (hdr->version_major == 1 && hdr->version_minor == 2) || - (hdr->version_major == 2 && hdr->version_minor == 1); -} - static int argo_asf_probe(const AVProbeData *p) { - ArgoASFFileHeader hdr; - - av_assert0(AVPROBE_PADDING_SIZE >= ASF_FILE_HEADER_SIZE); - - argo_asf_parse_file_header(&hdr, p->buf); - - if (hdr.magic != ASF_TAG) + if (AV_RL32(p->buf) != ASF_TAG) return 0; - if (!argo_asf_is_known_version(&hdr)) - return AVPROBE_SCORE_EXTENSION / 2; - return AVPROBE_SCORE_EXTENSION + 1; } @@ -133,13 +117,6 @@ static int argo_asf_read_header(AVFormatContext *s) argo_asf_parse_file_header(&asf->fhdr, buf); - if (!argo_asf_is_known_version(&asf->fhdr)) { - avpriv_request_sample(s, "Version %hu.%hu", - asf->fhdr.version_major, asf->fhdr.version_minor - ); - return AVERROR_PATCHWELCOME; - } - if (asf->fhdr.num_chunks == 0) { return AVERROR_INVALIDDATA; } else if (asf->fhdr.num_chunks > 1) {