From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 93E5649C0B for ; Mon, 3 Jun 2024 10:22:49 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id C867368D66F; Mon, 3 Jun 2024 13:22:46 +0300 (EEST) Received: from mail-pf1-f170.google.com (mail-pf1-f170.google.com [209.85.210.170]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 247BA68D09E for ; Mon, 3 Jun 2024 13:22:41 +0300 (EEST) Received: by mail-pf1-f170.google.com with SMTP id d2e1a72fcca58-702442afa7dso2405770b3a.2 for ; Mon, 03 Jun 2024 03:22:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1717410158; x=1718014958; darn=ffmpeg.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=v1dRIcUqmP+tm+pUOCqpp15w4WdBUKi9lSw2HkKbwEc=; b=D5oAPZeh5BU/E8NwrwwchCqRS0++uBcA6XbPoeNu/QHFeVmKkU+DvFgHSYmPfaJI0o gk8vNtvGrXBgCOOCv4F0yWr5BgQ36Fn7U22H1TdRYZGefyvfaP5E2+V38oIwztKBmtYY /brU31Yuyy6/KcNmcB4lG2sxfLa6lglvRYnV21vmpgcXxDVP63C2KRzNUeyzNI/hO8/R 2cnfYwTDV/I+0Jm78VBDMI1CLhln/zryhuBKbmTbMq/h2sIH7bcMLOiNxJ2WwVNhlM/e BOyQJFP7vgs9JEwnB0CbKYkoj4CWBEaJO1l2xsNJQafrK+G2MFaIhPmxieb8gbni2WnF xntQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1717410158; x=1718014958; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=v1dRIcUqmP+tm+pUOCqpp15w4WdBUKi9lSw2HkKbwEc=; b=BSssS6hXXkTiYXBo7T7kymTuA95QJHDNzB3ksSINGWNpAf4HPjlwDOvCk0I21VH9wZ etg6a/uM9+qms1Q2LEg43ZJc2bZH6UERLrurQJaCyCuLSq1c/Eaz6IPmCLZHeheM4plF AdBnqs6qYnnnXdaqrTv2gvhd3k4jZl4Ve/FhN7MxizsWdA31Bey1QwrA5Qyfkxk984ZH T4QN2LbnJpUMo4467FDbztYy+dkQSe9jr2yQJPDRw2HTdho8/+cQNi2M1WQtVAMGcWYQ PZbr6ZdINMa3QHouh1ZpgRjJIy3xr6y7etRMgn4AIwStmRW8rsBnJuYTCaqgBNtc/Ls0 Fk1Q== X-Gm-Message-State: AOJu0YwPSuyVzKcXpO5Ykv9ysIHSPZUJUN4G6qfEaLVsi9Xhn6ZE6p27 7R+VvVla+LVRT9vMETdPRPL/BP9lqtTmEBDMZ46JP0+ORujBbprJlDDTAA== X-Google-Smtp-Source: AGHT+IEkX1/FvI3E1cNLcLrgwfr+5Ar/pCt4JAl6xDBYgfOF/Fvx6G4muBpbRj2Z9CsrCvaCTJDlWA== X-Received: by 2002:a05:6a20:551c:b0:1b0:597:627a with SMTP id adf61e73a8af0-1b26f31c67dmr7311543637.60.1717410158008; Mon, 03 Jun 2024 03:22:38 -0700 (PDT) Received: from PC.mioffice.cn ([43.224.245.231]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-702423cb2e4sm5349466b3a.19.2024.06.03.03.22.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 03 Jun 2024 03:22:37 -0700 (PDT) From: Shiqi Zhu To: ffmpeg-devel@ffmpeg.org Date: Mon, 3 Jun 2024 18:22:32 +0800 Message-Id: <20240603102232.1134118-1-hiccupzhu@gmail.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] avformat/demux: fix pcm read too much when call find_stream_info 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 Cc: Shiqi Zhu Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: Signed-off-by: Shiqi Zhu --- libavformat/demux.c | 4 ++++ tests/ref/seek/lavf-al | 4 ++-- tests/ref/seek/lavf-ul | 4 ++-- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/libavformat/demux.c b/libavformat/demux.c index dc65f9ad91..64b6a1757c 100644 --- a/libavformat/demux.c +++ b/libavformat/demux.c @@ -1117,6 +1117,8 @@ static void compute_pkt_fields(AVFormatContext *s, AVStream *st, if (pkt->pts == AV_NOPTS_VALUE) pkt->pts = sti->cur_dts; pkt->dts = pkt->pts; + if (sti->first_dts == AV_NOPTS_VALUE) + sti->first_dts = is_relative(pkt->dts) ? pkt->dts - RELATIVE_TS_BASE : pkt->dts; if (pkt->pts != AV_NOPTS_VALUE && duration.num >= 0) sti->cur_dts = av_add_stable(st->time_base, pkt->pts, duration, 1); } @@ -1432,6 +1434,7 @@ static int read_frame_internal(AVFormatContext *s, AVPacket *pkt) ff_reduce_index(s, st->index); av_add_index_entry(st, pkt->pos, pkt->dts, 0, 0, AVINDEX_KEYFRAME); + av_log(s, AV_LOG_INFO, "++++++rdin add index entry(dts=%"PRId64", pos=%"PRId64")\n", pkt->dts, pkt->pos); } got_packet = 1; } else if (st->discard < AVDISCARD_ALL) { @@ -1620,6 +1623,7 @@ return_packet: if ((s->iformat->flags & AVFMT_GENERIC_INDEX) && pkt->flags & AV_PKT_FLAG_KEY) { ff_reduce_index(s, st->index); av_add_index_entry(st, pkt->pos, pkt->dts, 0, 0, AVINDEX_KEYFRAME); + av_log(s, AV_LOG_INFO, "-----rdfm add index entry(dts=%" PRId64 ", pos=%" PRId64 ")\n", pkt->dts, pkt->pos); } if (is_relative(pkt->dts)) diff --git a/tests/ref/seek/lavf-al b/tests/ref/seek/lavf-al index 4cf458835a..075bc4e627 100644 --- a/tests/ref/seek/lavf-al +++ b/tests/ref/seek/lavf-al @@ -20,7 +20,7 @@ ret: 0 st: 0 flags:1 dts: 1.047483 pts: 1.047483 pos: 23097 size: 2048 ret: 0 st: 0 flags:0 ts:-0.058322 ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 0 size: 2048 ret: 0 st: 0 flags:1 ts: 2.835828 -ret: 0 st: 0 flags:1 dts: 1.950476 pts: 1.950476 pos: 43008 size: 1092 +ret: 0 st: 0 flags:1 dts: 1.987029 pts: 1.987029 pos: 43814 size: 286 ret: 0 st:-1 flags:0 ts: 1.730004 ret: 0 st: 0 flags:1 dts: 1.730023 pts: 1.730023 pos: 38147 size: 2048 ret: 0 st:-1 flags:1 ts: 0.624171 @@ -28,7 +28,7 @@ ret: 0 st: 0 flags:1 dts: 0.624172 pts: 0.624172 pos: 13763 size: 2048 ret: 0 st: 0 flags:0 ts:-0.481678 ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 0 size: 2048 ret: 0 st: 0 flags:1 ts: 2.412517 -ret: 0 st: 0 flags:1 dts: 1.950476 pts: 1.950476 pos: 43008 size: 1092 +ret: 0 st: 0 flags:1 dts: 1.987029 pts: 1.987029 pos: 43814 size: 286 ret: 0 st:-1 flags:0 ts: 1.306672 ret: 0 st: 0 flags:1 dts: 1.306667 pts: 1.306667 pos: 28812 size: 2048 ret: 0 st:-1 flags:1 ts: 0.200839 diff --git a/tests/ref/seek/lavf-ul b/tests/ref/seek/lavf-ul index 4cf458835a..549e5c3d19 100644 --- a/tests/ref/seek/lavf-ul +++ b/tests/ref/seek/lavf-ul @@ -20,7 +20,7 @@ ret: 0 st: 0 flags:1 dts: 1.047483 pts: 1.047483 pos: 23097 size: 2048 ret: 0 st: 0 flags:0 ts:-0.058322 ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 0 size: 2048 ret: 0 st: 0 flags:1 ts: 2.835828 -ret: 0 st: 0 flags:1 dts: 1.950476 pts: 1.950476 pos: 43008 size: 1092 +ret: 0 st: 0 flags:1 dts: 1.987029 pts: 1.987029 pos: 43814 size: 286 ret: 0 st:-1 flags:0 ts: 1.730004 ret: 0 st: 0 flags:1 dts: 1.730023 pts: 1.730023 pos: 38147 size: 2048 ret: 0 st:-1 flags:1 ts: 0.624171 @@ -28,7 +28,7 @@ ret: 0 st: 0 flags:1 dts: 0.624172 pts: 0.624172 pos: 13763 size: 2048 ret: 0 st: 0 flags:0 ts:-0.481678 ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 0 size: 2048 ret: 0 st: 0 flags:1 ts: 2.412517 -ret: 0 st: 0 flags:1 dts: 1.950476 pts: 1.950476 pos: 43008 size: 1092 +ret: 0 st: 0 flags:1 dts: 1.987029 pts: 1.987029 pos: 43814 size: 286 ret: 0 st:-1 flags:0 ts: 1.306672 ret: 0 st: 0 flags:1 dts: 1.306667 pts: 1.306667 pos: 28812 size: 2048 ret: 0 st:-1 flags:1 ts: 0.200839 -- 2.34.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".