From 912d7eaa5227e0f482480f2a1773e6700b047da2 Mon Sep 17 00:00:00 2001 From: henryruhs Date: Wed, 13 May 2026 15:31:54 +0200 Subject: [PATCH] adjust create_string_buffer that could be measured --- facefusion/audio_encoder.py | 4 ++-- facefusion/rtc.py | 4 ++-- facefusion/system.py | 8 ++++---- facefusion/video_encoder.py | 6 +++--- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/facefusion/audio_encoder.py b/facefusion/audio_encoder.py index c9dfcde3..cbcd8dd5 100644 --- a/facefusion/audio_encoder.py +++ b/facefusion/audio_encoder.py @@ -19,9 +19,9 @@ def encode_opus_buffer(opus_encoder : OpusEncoder, input_buffer : bytes, frame_s output_buffer = b'' if opus_library: - temp_buffer = ctypes.create_string_buffer(4000) + temp_buffer = ctypes.create_string_buffer(2048) encode_buffer = ctypes.cast(ctypes.create_string_buffer(input_buffer), ctypes.POINTER(ctypes.c_float)) - encode_length = opus_library.opus_encode_float(opus_encoder, encode_buffer, frame_size, temp_buffer, 4000) + encode_length = opus_library.opus_encode_float(opus_encoder, encode_buffer, frame_size, temp_buffer, 2048) if encode_length: output_buffer = temp_buffer.raw[:encode_length] diff --git a/facefusion/rtc.py b/facefusion/rtc.py index 659b697b..f401f324 100644 --- a/facefusion/rtc.py +++ b/facefusion/rtc.py @@ -112,7 +112,7 @@ def add_video_track(peer_connection : PeerConnection, media_direction : MediaDir def create_sdp(peer_connection : PeerConnection) -> Optional[SdpOffer]: datachannel_library = datachannel_module.create_static_library() datachannel_library.rtcSetLocalDescription(peer_connection, b'offer') - buffer_size = 16384 + buffer_size = 8192 buffer_string = ctypes.create_string_buffer(buffer_size) if datachannel_library.rtcGetLocalDescription(peer_connection, buffer_string, buffer_size) > 0: @@ -145,7 +145,7 @@ def negotiate_sdp(peer_connection : PeerConnection, sdp_offer : SdpOffer) -> Opt datachannel_library.rtcSetRemoteDescription(peer_connection, sdp_offer.encode(), b'offer') sdp_event.wait(timeout = 5) - sdp_buffer_size = 16384 + sdp_buffer_size = 8192 sdp_buffer = ctypes.create_string_buffer(sdp_buffer_size) if datachannel_library.rtcGetLocalDescription(peer_connection, sdp_buffer, sdp_buffer_size) > 0: diff --git a/facefusion/system.py b/facefusion/system.py index 8708e6c2..e7982f44 100644 --- a/facefusion/system.py +++ b/facefusion/system.py @@ -38,15 +38,15 @@ def detect_nvidia_graphic_devices() -> List[GraphicDevice]: if nvidia_ml_library: nvidia_ml_library.nvmlInit_v2() - driver_version = ctypes.create_string_buffer(80) - nvidia_ml_library.nvmlSystemGetDriverVersion(driver_version, 80) + driver_version = ctypes.create_string_buffer(128) + nvidia_ml_library.nvmlSystemGetDriverVersion(driver_version, 128) cuda_version = ctypes.c_int() nvidia_ml_library.nvmlSystemGetCudaDriverVersion(ctypes.byref(cuda_version)) for device_handle in nvidia_ml_module.find_device_handles(nvidia_ml_library): - device_name = ctypes.create_string_buffer(96) - nvidia_ml_library.nvmlDeviceGetName(device_handle, device_name, 96) + device_name = ctypes.create_string_buffer(128) + nvidia_ml_library.nvmlDeviceGetName(device_handle, device_name, 128) device_memory = nvidia_ml_module.define_device_memory() nvidia_ml_library.nvmlDeviceGetMemoryInfo(device_handle, ctypes.byref(device_memory)) diff --git a/facefusion/video_encoder.py b/facefusion/video_encoder.py index 464afe1c..bfcc9a29 100644 --- a/facefusion/video_encoder.py +++ b/facefusion/video_encoder.py @@ -10,10 +10,10 @@ def create_vpx_encoder(frame_resolution : Resolution, bitrate : BitRate, thread_ vpx_library = vpx_module.create_static_library() if vpx_library: - vpx_encoder = ctypes.create_string_buffer(512) + vpx_encoder = ctypes.create_string_buffer(64) vp8_codec = ctypes.c_void_p.in_dll(vpx_library, 'vpx_codec_vp8_cx_algo') - config_buffer = ctypes.create_string_buffer(4096) + config_buffer = ctypes.create_string_buffer(512) if vpx_library.vpx_codec_enc_config_default(ctypes.byref(vp8_codec), config_buffer, 0) == 0: struct.pack_into('I', config_buffer, 4, thread_count) @@ -42,7 +42,7 @@ def encode_vpx_buffer(vpx_encoder : VpxEncoder, input_buffer : bytes, frame_reso output_buffer = b'' if vpx_library: - temp_buffer = ctypes.create_string_buffer(512) + temp_buffer = ctypes.create_string_buffer(256) encode_buffer = ctypes.create_string_buffer(input_buffer) if vpx_library.vpx_img_wrap(temp_buffer, 0x102, frame_resolution[0], frame_resolution[1], 1, encode_buffer) and vpx_library.vpx_codec_encode(vpx_encoder, temp_buffer, frame_index, 1, 0, 1) == 0: