From b53e79e005117aef29adc112f71166489ee3509c Mon Sep 17 00:00:00 2001 From: pat-e Date: Thu, 17 Jul 2025 09:52:04 +0200 Subject: [PATCH] changes in audio delay processing --- anime_audio_encoder.py | 11 ++++++++--- tv_audio_encoder.py | 12 +++++++++--- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/anime_audio_encoder.py b/anime_audio_encoder.py index 73b1f61..5311022 100644 --- a/anime_audio_encoder.py +++ b/anime_audio_encoder.py @@ -376,10 +376,15 @@ def main(no_downmix=False): # Find mediainfo track by StreamOrder audio_track_info = mediainfo_audio_tracks.get(stream_index) track_delay = 0 - delay_in_seconds = audio_track_info.get("Video_Delay") if audio_track_info else None - if delay_in_seconds is not None: + delay_raw = audio_track_info.get("Video_Delay") if audio_track_info else None + if delay_raw is not None: try: - track_delay = round(float(delay_in_seconds) * 1000) + delay_val = float(delay_raw) + # If the value is a float < 1, it's seconds, so convert to ms. + if delay_val < 1: + track_delay = int(round(delay_val * 1000)) + else: + track_delay = int(round(delay_val)) except Exception: track_delay = 0 diff --git a/tv_audio_encoder.py b/tv_audio_encoder.py index 8b618f2..e5bdb04 100644 --- a/tv_audio_encoder.py +++ b/tv_audio_encoder.py @@ -221,10 +221,16 @@ def main(no_downmix=False): track_delay = 0 media_tracks_data = media_info.get("media", {}).get("track", []) audio_track_info = next((t for t in media_tracks_data if t.get("@type") == "Audio" and int(t.get("StreamOrder", -1)) == stream_index), None) - delay_in_seconds = audio_track_info.get("Video_Delay") if audio_track_info else None - if delay_in_seconds is not None: + delay_raw = audio_track_info.get("Video_Delay") if audio_track_info else None + track_delay = 0 + if delay_raw is not None: try: - track_delay = round(float(delay_in_seconds) * 1000) + # If the value is a float < 1, it's seconds, so convert to ms. + delay_val = float(delay_raw) + if delay_val < 1: + track_delay = int(round(delay_val * 1000)) + else: + track_delay = int(round(delay_val)) except Exception: track_delay = 0