Fix typing errors in ffprobe functions.

This commit is contained in:
Frédéric Tronel
2026-08-29 10:47:42 +02:00
parent 795d314f13
commit a12a4e1b2b
+6 -2
View File
@@ -85,6 +85,10 @@ def get_frame_rate(ffprobe_path:str, input_file: IO[bytes]) -> float|None:
logger.error("ffprobe returns an error code: %d", ffprobe.returncode)
return None
if max_ts is None or min_ts is None:
logger.error("Impossible to determine maximum or minimum timestamps.")
return None
frame_rate1 = nb_frames1/(max_ts-min_ts)
frame_rate2 = nb_frames2 / mean_duration
@@ -102,7 +106,7 @@ def get_frame_rate(ffprobe_path:str, input_file: IO[bytes]) -> float|None:
return frame_rate2
@typechecked
def get_subtitles_tracks(ffprobe_path:str, mkv_path: str) -> dict[str,str]|None:
def get_subtitles_tracks(ffprobe_path:str, mkv_path: str) -> dict[str,list[str]]|None:
tracks={}
with Popen([ffprobe_path, '-loglevel', 'quiet', '-select_streams', 's', '-show_entries',
@@ -114,7 +118,7 @@ def get_subtitles_tracks(ffprobe_path:str, mkv_path: str) -> dict[str,str]|None:
for stream in out['streams']:
index = stream['index']
codec = stream['codec']
lang = stream['tags']['language']
lang:str = stream['tags']['language']
if codec == 'dvd_subtitle':
if lang not in tracks:
tracks[lang] = [index]