feat(tracks): support HDR Vivid and Audio Vivid

Add Video.Range.VIVID and Audio.Codec.AV3A, found by the first-segment probe (CUVA SEI, MPEG-TS cuvv/AVSA/0xD5); sort videos by standard resolution, then bitrate; drop service names left in core and tests. Closes #179
This commit is contained in:
imSp4rky
2026-11-14 22:03:13 -07:00
parent 7a5ad5024a
commit 856a193061
26 changed files with 365 additions and 96 deletions
+5 -1
View File
@@ -11,7 +11,7 @@ import pytest
from unshackle.commands.dl import dl
from unshackle.core.config import config
from unshackle.core.export_name import ExportNamer, export_name, move_export, season_episodes
from unshackle.core.export_name import ExportNamer, export_name, move_export, quality_parts, season_episodes
from unshackle.core.titles import Episode, Movie, Song
from unshackle.core.tracks import Audio, Subtitle, Video
@@ -251,3 +251,7 @@ def test_summary_when_nothing_was_exported(tmp_path: Path, caplog: pytest.LogCap
with caplog.at_level(logging.INFO, logger="download"):
instance.log_export_summary()
assert "Nothing was exported" in caplog.messages
def test_a_range_value_with_a_space_has_none_in_the_name() -> None:
assert "hdrvivid" in quality_parts([video(codec=Video.Codec.HEVC, range_=Video.Range.VIVID)])