From 45b8ad93eebdc1bf4119cc8f0892eb6e4a470ffe Mon Sep 17 00:00:00 2001 From: harisreedhar Date: Mon, 27 Jul 2026 17:35:58 +0530 Subject: [PATCH] fix index bug --- facefusion/uis/components/preview_options.py | 4 ++-- facefusion/video_manager.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/facefusion/uis/components/preview_options.py b/facefusion/uis/components/preview_options.py index 96942c60..b508ca0c 100644 --- a/facefusion/uis/components/preview_options.py +++ b/facefusion/uis/components/preview_options.py @@ -27,7 +27,7 @@ def render() -> None: } if is_video(state_manager.get_item('target_path')): preview_frame_slider_options['value'] = state_manager.get_item('reference_frame_number') - preview_frame_slider_options['maximum'] = count_video_frame_total(state_manager.get_item('target_path')) + preview_frame_slider_options['maximum'] = count_video_frame_total(state_manager.get_item('target_path')) - 1 preview_frame_slider_options['visible'] = True PREVIEW_FRAME_SLIDER = gradio.Slider(**preview_frame_slider_options) with gradio.Row(): @@ -57,5 +57,5 @@ def listen() -> None: def update_preview_frame_slider() -> gradio.Slider: if is_video(state_manager.get_item('target_path')): video_frame_total = count_video_frame_total(state_manager.get_item('target_path')) - return gradio.Slider(maximum = video_frame_total, visible = True) + return gradio.Slider(maximum = video_frame_total - 1, visible = True) return gradio.Slider(value = 0, visible = False) diff --git a/facefusion/video_manager.py b/facefusion/video_manager.py index 25de398b..dbdc8db6 100644 --- a/facefusion/video_manager.py +++ b/facefusion/video_manager.py @@ -35,7 +35,7 @@ def get_reader(video_path : str, context : str) -> VideoReader: def conditional_seek_video_reader(video_reader : VideoReader, frame_number : int = 0) -> None: - frame_number = min(video_reader.get('metadata').get('frame_total'), frame_number) + frame_number = min(video_reader.get('metadata').get('frame_total') - 1, frame_number) skip_total = frame_number - video_reader.get('frame_number') skip_margin = 128