Fix typing errors in ffprobe functions.
This commit is contained in:
@@ -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)
|
logger.error("ffprobe returns an error code: %d", ffprobe.returncode)
|
||||||
return None
|
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_rate1 = nb_frames1/(max_ts-min_ts)
|
||||||
frame_rate2 = nb_frames2 / mean_duration
|
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
|
return frame_rate2
|
||||||
|
|
||||||
@typechecked
|
@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={}
|
tracks={}
|
||||||
|
|
||||||
with Popen([ffprobe_path, '-loglevel', 'quiet', '-select_streams', 's', '-show_entries',
|
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']:
|
for stream in out['streams']:
|
||||||
index = stream['index']
|
index = stream['index']
|
||||||
codec = stream['codec']
|
codec = stream['codec']
|
||||||
lang = stream['tags']['language']
|
lang:str = stream['tags']['language']
|
||||||
if codec == 'dvd_subtitle':
|
if codec == 'dvd_subtitle':
|
||||||
if lang not in tracks:
|
if lang not in tracks:
|
||||||
tracks[lang] = [index]
|
tracks[lang] = [index]
|
||||||
|
|||||||
Reference in New Issue
Block a user