mirror of
https://github.com/unshackle-dl/unshackle.git
synced 2026-05-17 06:09:29 +00:00
fix(title): use original-language audio for filename metadata
When a non-original audio language is the default (via muxing.default_language or sort order), the filename audio codec/channel fields still reflect the title's original-language track instead of whichever track appears first in the muxed MKV.
This commit is contained in:
@@ -61,6 +61,20 @@ class Title:
|
|||||||
returned dict with their specific fields (e.g., season/episode).
|
returned dict with their specific fields (e.g., season/episode).
|
||||||
"""
|
"""
|
||||||
primary_video_track = next(iter(media_info.video_tracks), None)
|
primary_video_track = next(iter(media_info.video_tracks), None)
|
||||||
|
original_lang_tag = (
|
||||||
|
str(self.language).split("-")[0].lower() if self.language else ""
|
||||||
|
)
|
||||||
|
primary_audio_track = None
|
||||||
|
if original_lang_tag:
|
||||||
|
primary_audio_track = next(
|
||||||
|
(
|
||||||
|
t
|
||||||
|
for t in media_info.audio_tracks
|
||||||
|
if t.language and t.language.split("-")[0].lower() == original_lang_tag
|
||||||
|
),
|
||||||
|
None,
|
||||||
|
)
|
||||||
|
if primary_audio_track is None:
|
||||||
primary_audio_track = next(iter(media_info.audio_tracks), None)
|
primary_audio_track = next(iter(media_info.audio_tracks), None)
|
||||||
unique_audio_languages = len({x.language.split("-")[0] for x in media_info.audio_tracks if x.language})
|
unique_audio_languages = len({x.language.split("-")[0] for x in media_info.audio_tracks if x.language})
|
||||||
|
|
||||||
@@ -143,8 +157,6 @@ class Title:
|
|||||||
channel_count = primary_audio_track.channel_s or primary_audio_track.channels or 0
|
channel_count = primary_audio_track.channel_s or primary_audio_track.channels or 0
|
||||||
channels = float(channel_count)
|
channels = float(channel_count)
|
||||||
|
|
||||||
features = primary_audio_track.format_additionalfeatures or ""
|
|
||||||
|
|
||||||
has_atmos = any(
|
has_atmos = any(
|
||||||
"JOC" in (t.format_additionalfeatures or "") or t.joc for t in media_info.audio_tracks
|
"JOC" in (t.format_additionalfeatures or "") or t.joc for t in media_info.audio_tracks
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user