From patchwork Mon Sep 27 22:47:15 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?Jan_Ekstr=C3=B6m?= X-Patchwork-Id: 30608 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:6506:0:0:0:0:0 with SMTP id z6csp4604968iob; Mon, 27 Sep 2021 15:47:31 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwNbIWj5rm+VHrzp4U+mVfTq5mhrF0XIRaebj4Pz0j6GpLLVNi/RgLXJn9or9BiFeQLPHzt X-Received: by 2002:a05:6402:1b8d:: with SMTP id cc13mr3322732edb.235.1632782851483; Mon, 27 Sep 2021 15:47:31 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1632782851; cv=none; d=google.com; s=arc-20160816; b=qtrAh0i7Koqu2e0CUe/qK29zSYTVgXx/V6cZ36bhKP7Y3ba3yuzt/TWSw/Qm92V6JF VtlKjhrdzwwBILBZl2/fWon2liZqq3sHqHGyyJRHVBtMh67J4cRqawgub7VlR/juTQlQ HtKA89eyuI/CnSwR5NLVJQqTEDpxjBPfxr+GxGk3oq4EPkArcinHyxiRuXvv8oSg0Mao kIjMtI+qPGObtuFsYGGlaoDSZEjKnzqBOrigm1YeDj4zxZN5XyON2lUegBT0sq4cD7Fi 5KPKAmeHpUZPs5exju6Li/W8PkwyzhxaV172oiFlAot1WpyB+WoiXjQm7DCf7FoicMLa dixg== 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:mime-version:references:in-reply-to:message-id :date:to:from:dkim-signature:delivered-to; bh=mptMWB2VXUtAmkSrJiEP5Z+kspqiHZ4af1uP2tSzhN4=; b=mYfb6tX1J81dfzrZBr0r/Ps6O5afDFwWYDzqBSSXt7z4N+gCk70Fi5iACK5sTYYzM4 wpTuhgSVQXoizQjEuncAQbPsMpTld/U/Uk9t8mi+CTeRRiCRFMxsi8wMofO9cPwDkZKS mq4hSg+6p2fK/5Y4VLtUTkDU7IhPrkm21gB0cQEoZSGZzI57Nv6qKIscEp2sVOtqWTA6 ML41foCF1Ew26wQTkTnQWqlsnyKUFg7UI9ihwTmF29iDFTRknxPC2yI3IwTirZe2dRis NAybe0nmRSjAkumzwoRIWQaFFlvR8EJ1DgccTDD+WCVSHzyXmrCjY9ThNKUVe4AcpjOy 7+BQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=TnoMTvFx; 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=QUARANTINE 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 h3si4117341ejl.626.2021.09.27.15.47.30; Mon, 27 Sep 2021 15:47:31 -0700 (PDT) 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=20210112 header.b=TnoMTvFx; 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=QUARANTINE 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 EFC6D6899EB; Tue, 28 Sep 2021 01:47:27 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-lf1-f45.google.com (mail-lf1-f45.google.com [209.85.167.45]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 2CF9E680725 for ; Tue, 28 Sep 2021 01:47:21 +0300 (EEST) Received: by mail-lf1-f45.google.com with SMTP id y28so83736187lfb.0 for ; Mon, 27 Sep 2021 15:47:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=6+Obo89D8vdLp/L0c5R3sRz0q71/UImlyyujgBVPQVI=; b=TnoMTvFxZHyHFOlxYQbLHr3SftsTkPEIQ/8oVaMGb+TQ8yH+AD0ATLtYkay88V8lIN 4Ykmk2V1sfY9KP73CXCC08//fhAelMsITQQK8dCjaTWW2hoXuGJqwk6lKVcur/XTWIkC GR90z7AGhXyZnB0L6KVtuC/S5l/ybemdM0pB21wxVaF00P7nRjqJ+meJ1+8WdeNBEOFs idbkxl+CUEEXcCalFx2BgtUJ7kMdcafWv8Q2PSbI0pEGV61P5SNmTe5uIooR3qQcGqqS MnlCvqqGa373sk81T2WVp5Yh1MfN4/JaAv1OxIM0Qh+8M1BCroC7k5vsRpocTka/Ifmq J1HA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=6+Obo89D8vdLp/L0c5R3sRz0q71/UImlyyujgBVPQVI=; b=TCIfkS90V+LW1sykNOBFZ7NJoig8cBqnE6K0p1h/JAY3/Ww9799S4qhHttuD4v5PZ1 m5ZAiIKUNodGAVI4HMN2cu9G1+auVH9fll2Felnt4NbU3yO866X9N8XOmZkGe6thpeIR drBWILW2WyeKCHtv+I5FWCJUY83NhqsDO26gFCLLuNk2kLgEhvRo+HQMw2GOKWSpo3p2 QhKQqtknDRRYvQtDMv7h4cze2zdCKVoyRtpuvqCONlNznNMMqNv+Zw/jHUcttfoLFQMs zGZaCcfJooaaz7IuqpIyITMOEpJrYuJ9/Vr7VzN214h7UISYn59XFUMqZEy9A9zkYl42 GvqA== X-Gm-Message-State: AOAM533gN0ZMA0Ft6Bge3FHNFfYwUyuJX05aVyNUTuQXDtfQrqUZiak5 Nv6LrKlV0ol9FSnGZvtYOC3w2aO8/lc= X-Received: by 2002:a05:651c:1689:: with SMTP id bd9mr2396864ljb.22.1632782840511; Mon, 27 Sep 2021 15:47:20 -0700 (PDT) Received: from localhost.localdomain (91-159-194-103.elisa-laajakaista.fi. [91.159.194.103]) by smtp.gmail.com with ESMTPSA id i8sm1729335lfo.126.2021.09.27.15.47.20 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Sep 2021 15:47:20 -0700 (PDT) From: =?utf-8?q?Jan_Ekstr=C3=B6m?= To: ffmpeg-devel@ffmpeg.org Date: Tue, 28 Sep 2021 01:47:15 +0300 Message-Id: <20210927224715.29476-1-jeebjp@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210927213133.28258-1-jeebjp@gmail.com> References: <20210927213133.28258-1-jeebjp@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v2] avformat/aacdec: enable probesize-sized resyncs mid-stream 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: 1eR4LnviaJoQ Before adts_aac_resync would always bail out after probesize amount of bytes had been progressed from the start of the input. Now just query the current position when entering resync, and at most advance probesize amount of data from that start position. Fixes #9433 --- libavformat/aacdec.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libavformat/aacdec.c b/libavformat/aacdec.c index ab97be60b5..a476640904 100644 --- a/libavformat/aacdec.c +++ b/libavformat/aacdec.c @@ -83,10 +83,12 @@ static int adts_aac_probe(const AVProbeData *p) static int adts_aac_resync(AVFormatContext *s) { uint16_t state; + int64_t start_pos = avio_tell(s->pb); // skip data until an ADTS frame is found state = avio_r8(s->pb); - while (!avio_feof(s->pb) && avio_tell(s->pb) < s->probesize) { + while (!avio_feof(s->pb) && + (avio_tell(s->pb) - start_pos) < s->probesize) { state = (state << 8) | avio_r8(s->pb); if ((state >> 4) != 0xFFF) continue;