mirror of https://github.com/devine-dl/devine.git
Add OnMultiplex event, for pre-multiplex
This commit is contained in:
parent
2635538205
commit
fe320e177d
|
@ -56,6 +56,7 @@ class Track:
|
||||||
self.OnDownloaded: Optional[Callable] = None
|
self.OnDownloaded: Optional[Callable] = None
|
||||||
self.OnDecrypted: Optional[Callable] = None
|
self.OnDecrypted: Optional[Callable] = None
|
||||||
self.OnRepacked: Optional[Callable] = None
|
self.OnRepacked: Optional[Callable] = None
|
||||||
|
self.OnMultiplex: Optional[Callable] = None
|
||||||
|
|
||||||
# should only be set internally
|
# should only be set internally
|
||||||
self.path: Optional[Path] = None
|
self.path: Optional[Path] = None
|
||||||
|
|
|
@ -314,6 +314,8 @@ class Tracks:
|
||||||
for i, vt in enumerate(self.videos):
|
for i, vt in enumerate(self.videos):
|
||||||
if not vt.path or not vt.path.exists():
|
if not vt.path or not vt.path.exists():
|
||||||
raise ValueError("Video Track must be downloaded before muxing...")
|
raise ValueError("Video Track must be downloaded before muxing...")
|
||||||
|
if callable(vt.OnMultiplex):
|
||||||
|
vt.OnMultiplex(vt)
|
||||||
cl.extend([
|
cl.extend([
|
||||||
"--language", "0:{}".format(LANGUAGE_MUX_MAP.get(
|
"--language", "0:{}".format(LANGUAGE_MUX_MAP.get(
|
||||||
str(vt.language), str(vt.language)
|
str(vt.language), str(vt.language)
|
||||||
|
@ -327,6 +329,8 @@ class Tracks:
|
||||||
for i, at in enumerate(self.audio):
|
for i, at in enumerate(self.audio):
|
||||||
if not at.path or not at.path.exists():
|
if not at.path or not at.path.exists():
|
||||||
raise ValueError("Audio Track must be downloaded before muxing...")
|
raise ValueError("Audio Track must be downloaded before muxing...")
|
||||||
|
if callable(vt.OnMultiplex):
|
||||||
|
vt.OnMultiplex(vt)
|
||||||
cl.extend([
|
cl.extend([
|
||||||
"--track-name", f"0:{at.get_track_name() or ''}",
|
"--track-name", f"0:{at.get_track_name() or ''}",
|
||||||
"--language", "0:{}".format(LANGUAGE_MUX_MAP.get(
|
"--language", "0:{}".format(LANGUAGE_MUX_MAP.get(
|
||||||
|
@ -342,6 +346,8 @@ class Tracks:
|
||||||
for st in self.subtitles:
|
for st in self.subtitles:
|
||||||
if not st.path or not st.path.exists():
|
if not st.path or not st.path.exists():
|
||||||
raise ValueError("Text Track must be downloaded before muxing...")
|
raise ValueError("Text Track must be downloaded before muxing...")
|
||||||
|
if callable(vt.OnMultiplex):
|
||||||
|
vt.OnMultiplex(vt)
|
||||||
default = bool(self.audio and is_close_match(st.language, [self.audio[0].language]) and st.forced)
|
default = bool(self.audio and is_close_match(st.language, [self.audio[0].language]) and st.forced)
|
||||||
cl.extend([
|
cl.extend([
|
||||||
"--track-name", f"0:{st.get_track_name() or ''}",
|
"--track-name", f"0:{st.get_track_name() or ''}",
|
||||||
|
|
Loading…
Reference in New Issue