fix(netflix): scope 720p QC filter to explicit 720 requests

Refine QC manifest profile selection so `l40` profiles are filtered out
only when the user requests **only** 720p, instead of whenever 720 is
included. This prevents unintended profile narrowing for mixed-quality
requests and default quality runs.

Also bump the Netflix client `platform` version from `138.0.0.0` to
`145.0.0.0` to keep manifest requests aligned with current expectations.fix(netflix): scope 720p QC filter to explicit 720 requests

Refine QC manifest profile selection so `l40` profiles are filtered out
only when the user requests **only** 720p, instead of whenever 720 is
included. This prevents unintended profile narrowing for mixed-quality
requests and default quality runs.

Also bump the Netflix client `platform` version from `138.0.0.0` to
`145.0.0.0` to keep manifest requests aligned with current expectations.
This commit is contained in:
2026-03-02 02:59:33 +07:00
parent 66ba78a928
commit 27048d56ee

View File

@@ -198,8 +198,14 @@ class Netflix(Service):
if self.profile is not None:
self.log.info(f"Requested profiles: {self.profile}")
else:
qc_720_profile = [x for x in self.config["profiles"]["video"][self.vcodec.extension.upper()]["QC"] if "l40" not in x and 720 in self.quality]
qc_manifest = self.get_manifest(title, qc_720_profile if 720 in self.quality else self.config["profiles"]["video"][self.vcodec.extension.upper()]["QC"])
requested_qualities = self.quality or []
qc_profiles = self.config["profiles"]["video"][self.vcodec.extension.upper()]["QC"]
use_720_qc_only = len(requested_qualities) == 1 and 720 in requested_qualities
if use_720_qc_only:
qc_profiles = [x for x in qc_profiles if "l40" not in x]
qc_manifest = self.get_manifest(title, qc_profiles)
qc_tracks = self.manifest_as_tracks(qc_manifest, title, False)
tracks.add(qc_tracks.videos)
@@ -693,7 +699,7 @@ class Netflix(Service):
"manifestVersion": "v2",
"osName": "windows",
"osVersion": "10.0",
"platform": "138.0.0.0",
"platform": "145.0.0.0",
"profilesGroups": [{
"name": "default",
"profiles": video_profiles