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 ESMTPS id 3E0304C7CC for ; Fri, 24 Jan 2025 07:33:55 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 63A6568B797; Fri, 24 Jan 2025 09:33:52 +0200 (EET) Received: from out162-62-57-87.mail.qq.com (out162-62-57-87.mail.qq.com [162.62.57.87]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 51CD868B61D for ; Fri, 24 Jan 2025 09:33:44 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1737704021; bh=yjtG9mFzuCyXHkFXH7ZKsQnCS1c2NeDsQnya9ay/Ssc=; h=From:To:Cc:Subject:Date; b=Rox47JRGy0ualk6LT4BpkJmzHJu2Qi1cQqBheFtF+Wo4n6Fvben63SFOgZt/Uga6F 3rNQlYFZgf7CA9O+4TejlugqJfwZ5Dv85tPX3LX97CrRj4A1/saG54ZkXYDLBR3tcm bhliHq2dpXoSPIHxCmr1G67wqo+aP6uugQNWJNxs= Received: from localhost.localdomain ([119.147.10.242]) by newxmesmtplogicsvrszb16-1.qq.com (NewEsmtp) with SMTP id 7D605621; Fri, 24 Jan 2025 15:31:22 +0800 X-QQ-mid: xmsmtpt1737703882trxrv8c3j Message-ID: X-QQ-XMAILINFO: NuDQjuJJtOoJNJfJ65JSiz5jWfcOVdJS20lEFfXXzFEHWqymAQn5bTanFPscah PzGFS09kv+CAXM7qnKq/YX3zjQoeVAxSZYUwjHBuSLs8PeCRhehtrSFua8+7skM9BlnCqAi5vg4+ HIBf5x1+Ssy00eyTwWaezPqqrLbFsp7azOeTqbIN58SFnAUyO4JVUDtWTQ8mAyoImt9ZuFacIWLL iLQEV510noTf9FtUcD47HkOj77YvUXm3jF/D5Njx7GCFxgoLyMOG6CB6ch+iiry0M8azAL41VfxP herV5rtovF60TeXMnaDuy+3ww1V5XcOnW8jWxp80GEcVcYuu281C+UxrfbwBau/LbGxpg22GJOej KuKP/4ifeLpe3iS2rw9EqW/RlGfyzF2cSFRHj7jWQV4qNynQlAAEnADfHi87ZvH5x3hOoBcLtYQk eKRHwizuEFI+lSDR1zUnFJaxWOAjMxTccvl6Gu6Q/BOVksuQSudVjT7fcv8VaqMfwvZJsEN9ezxB /L+Pq+i/3hphDkGlPfBKGDYeXITAWxI+0NajrS0ShpNPmIxkQwaIQjC2xez59fvy991uV7lmPEOa MckKuM6JgmfOskNeChNelluhKGDBwHTXoewK0eSihYMMnTour3PPVvsYYnPOXJ/Xt+XrTOo3rVcP 2+v+F47kDnSEoIq/Mx/D56oe1j4HlIzMNRjx/5MwfLKVpgrfcgJ/gIb2rWN11MgBo9MMHL+aZkre LklUbbJPm0cE3OX/oySJK/loRn0+sv2BcalUaJSZRSQp5FqUOWKhbq61on9otvTTC25yGtMEZJJ4 /MolUbfu/f06j1pbiIgU0G9X2CbxXdxSsSZmDAaLrTI/CPBFDOadib45V/wNJbAYLZ1S05sgduEa KXY063mvZPhjHlkOC2QLobWeipMjLLNSlLKk7qDxCINNwwvSUkhBNC+GH9WOtsXQhpFf+0ImugM0 6ZN395CE1zi7YjRluH98BFe3yrO4XCzLHxfpMeh7U= X-QQ-XMRINFO: Nq+8W0+stu50PRdwbJxPCL0= From: Zhao Zhili To: ffmpeg-devel@ffmpeg.org Date: Fri, 24 Jan 2025 15:31:20 +0800 X-OQ-MSGID: <20250124073120.48561-1-quinkblack@foxmail.com> X-Mailer: git-send-email 2.46.0 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 2/2] avformat/seek: Remove always true condition 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: Zhao Zhili 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: From: Zhao Zhili --- libavformat/seek.c | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/libavformat/seek.c b/libavformat/seek.c index a7e5ac9a63..a096d5e5b3 100644 --- a/libavformat/seek.c +++ b/libavformat/seek.c @@ -664,6 +664,9 @@ int av_seek_frame(AVFormatContext *s, int stream_index, int avformat_seek_file(AVFormatContext *s, int stream_index, int64_t min_ts, int64_t ts, int64_t max_ts, int flags) { + int dir; + int ret; + if (min_ts > ts || max_ts < ts) return -1; if (stream_index < -1 || stream_index >= (int)s->nb_streams) @@ -699,19 +702,14 @@ int avformat_seek_file(AVFormatContext *s, int stream_index, int64_t min_ts, // Fall back on old API if new is not implemented but old is. // Note the old API has somewhat different semantics. - if (ffifmt(s->iformat)->read_seek || 1) { - int dir = (ts - (uint64_t)min_ts > (uint64_t)max_ts - ts ? AVSEEK_FLAG_BACKWARD : 0); - int ret = av_seek_frame(s, stream_index, ts, flags | dir); - if (ret < 0 && ts != min_ts && max_ts != ts) { - ret = av_seek_frame(s, stream_index, dir ? max_ts : min_ts, flags | dir); - if (ret >= 0) - ret = av_seek_frame(s, stream_index, ts, flags | (dir^AVSEEK_FLAG_BACKWARD)); - } - return ret; + dir = (ts - (uint64_t)min_ts > (uint64_t)max_ts - ts ? AVSEEK_FLAG_BACKWARD : 0); + ret = av_seek_frame(s, stream_index, ts, flags | dir); + if (ret < 0 && ts != min_ts && max_ts != ts) { + ret = av_seek_frame(s, stream_index, dir ? max_ts : min_ts, flags | dir); + if (ret >= 0) + ret = av_seek_frame(s, stream_index, ts, flags | (dir^AVSEEK_FLAG_BACKWARD)); } - - // try some generic seek like seek_frame_generic() but with new ts semantics - return -1; //unreachable + return ret; } /** Flush the frame reader. */ -- 2.46.0 _______________________________________________ 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".