mirror of
https://github.com/facefusion/facefusion.git
synced 2026-08-07 17:48:39 +02:00
Merge branch 'master' into v4
Resolve 57 conflicts keeping v4's architecture (UI removal, api app context, path isolation, streaming/codecs/rtc, workflow-mode superset, args_helper) and taking master's post-fork features so none are dropped: inference override/adjust provider hooks (+ face_swapper 3.8.1 coreml fix), is_vision_frame validity guards, resolve_temp_frame_set frame numbering with the source audio/voice trim offset, the ffmpeg color pipeline (restrict_color_transfer / convert_color_space / temp_pixel_format), ffprobe select_stream v:0 + format duration, pre_check ffprobe with dependency_not_installed, onnxruntime arena-leak guard + version lru_cache, installer cuda@12/@13 provider split, workflow_strategy disk/memory (memory default), and the dependency version bumps. content_analyser hash guard rehashed to 3c6ce25e. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01V7MdZEmd1GE8uSDTMyq34r
This commit is contained in:
@@ -7,7 +7,7 @@ import facefusion.ffmpeg
|
||||
from facefusion import ffmpeg, ffmpeg_builder, process_manager, state_manager
|
||||
from facefusion.download import conditional_download
|
||||
from facefusion.ffmpeg import concat_video, extract_frames, merge_video, read_audio_buffer, replace_audio, restore_audio, sanitize_audio, sanitize_image, sanitize_video, spawn_frames
|
||||
from facefusion.ffprobe import probe_entries
|
||||
from facefusion.ffprobe import probe_audio_entries, probe_video_entries
|
||||
from facefusion.filesystem import copy_file, is_image
|
||||
from facefusion.temp_helper import clear_temp_directory, create_temp_directory, get_temp_file_path, resolve_temp_frame_paths
|
||||
from facefusion.types import EncoderSet
|
||||
@@ -253,10 +253,10 @@ def test_sanitize_audio() -> None:
|
||||
]
|
||||
|
||||
assert sanitize_audio(file_content, output_paths[0], 'strict') is True
|
||||
assert probe_entries(output_paths[0], [ 'codec_name' ]).get('codec_name') == 'mp3'
|
||||
assert probe_audio_entries(output_paths[0], [ 'codec_name' ]).get('codec_name') == 'mp3'
|
||||
|
||||
assert sanitize_audio(file_content, output_paths[1], 'moderate') is True
|
||||
assert probe_entries(output_paths[1], [ 'codec_name' ]).get('codec_name') == 'pcm_s16le'
|
||||
assert probe_audio_entries(output_paths[1], [ 'codec_name' ]).get('codec_name') == 'pcm_s16le'
|
||||
|
||||
|
||||
def test_sanitize_image() -> None:
|
||||
@@ -278,9 +278,9 @@ def test_sanitize_video() -> None:
|
||||
]
|
||||
|
||||
assert sanitize_video(file_content, output_paths[0], 'strict') is True
|
||||
assert probe_entries(output_paths[0], [ 'codec_name' ]).get('codec_name') == 'h264'
|
||||
assert probe_video_entries(output_paths[0], [ 'codec_name' ]).get('codec_name') == 'h264'
|
||||
|
||||
assert sanitize_video(file_content, output_paths[1], 'moderate') is True
|
||||
assert probe_entries(output_paths[1], [ 'codec_name' ]).get('codec_name') == 'hevc'
|
||||
assert probe_video_entries(output_paths[1], [ 'codec_name' ]).get('codec_name') == 'hevc'
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user