Accept string audio languages from ffprobe#3308
Draft
iCosiSenpai wants to merge 1 commit into
Draft
Conversation
Owner
|
Could you check if the returned string is a valid language? If it's "garbage", we don't want to break something else further down the road. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This fixes a small but real ffprobe parsing bug around audio language detection.
Root cause
In a couple of places Bazarr assumes
detected_language["language"]is always an object exposing.alpha3.That is not always true. In the cases I hit, ffprobe metadata surfaced the language as a plain string such as
jpn.Because of that, Bazarr either:
'str' object has no attribute 'alpha3'audio_languageemptyWhat changed
subtitles/refiners/ffprobe.pyutilities/video_analyzer.pyWhy this matters
This directly affects library state, not just logging. A file can be tagged correctly on disk and Bazarr will still keep it in the
unknown audioset because the ffprobe path never turns that string value into a usable alpha3 code.Validation
_handle_alpha3({"language": "jpn"})embedded_audio_reader()with ffprobe audio metadata returning{"language": "jpn"}audio_languageafter the patchCloses 3307