1
0
mirror of https://github.com/yt-dlp/yt-dlp.git synced 2025-07-18 19:28:31 +00:00

add sabr pot policy

This commit is contained in:
coletdjnz 2025-07-12 12:07:48 +12:00
parent 951a2995c6
commit 5e9683e7db
No known key found for this signature in database
GPG Key ID: 91984263BB39894A
2 changed files with 37 additions and 2 deletions

View File

@ -77,6 +77,12 @@ class SubsPoTokenPolicy(BasePoTokenPolicy):
not_required_for_premium=True,
not_required_with_player_token=False,
),
StreamingProtocol.SABR: GvsPoTokenPolicy(
required=True,
recommended=True,
not_required_for_premium=True,
not_required_with_player_token=False,
),
StreamingProtocol.DASH: GvsPoTokenPolicy(
required=True,
recommended=True,
@ -147,6 +153,12 @@ class SubsPoTokenPolicy(BasePoTokenPolicy):
not_required_for_premium=True,
not_required_with_player_token=False,
),
StreamingProtocol.SABR: GvsPoTokenPolicy(
required=True,
recommended=True,
not_required_for_premium=True,
not_required_with_player_token=False,
),
StreamingProtocol.DASH: GvsPoTokenPolicy(
required=True,
recommended=True,
@ -176,6 +188,12 @@ class SubsPoTokenPolicy(BasePoTokenPolicy):
not_required_for_premium=True,
not_required_with_player_token=False,
),
StreamingProtocol.SABR: GvsPoTokenPolicy(
required=True,
recommended=True,
not_required_for_premium=True,
not_required_with_player_token=False,
),
StreamingProtocol.DASH: GvsPoTokenPolicy(
required=True,
recommended=True,
@ -209,6 +227,11 @@ class SubsPoTokenPolicy(BasePoTokenPolicy):
recommended=True,
not_required_with_player_token=True,
),
StreamingProtocol.SABR: GvsPoTokenPolicy(
required=True,
recommended=True,
not_required_with_player_token=True,
),
StreamingProtocol.DASH: GvsPoTokenPolicy(
required=True,
recommended=True,
@ -260,6 +283,11 @@ class SubsPoTokenPolicy(BasePoTokenPolicy):
recommended=True,
not_required_with_player_token=True,
),
StreamingProtocol.SABR: GvsPoTokenPolicy(
required=True,
recommended=True,
not_required_with_player_token=True,
),
# HLS Livestreams require POT 30 seconds in
# TODO: Rolling out
StreamingProtocol.HLS: GvsPoTokenPolicy(
@ -290,6 +318,12 @@ class SubsPoTokenPolicy(BasePoTokenPolicy):
not_required_for_premium=True,
not_required_with_player_token=False,
),
StreamingProtocol.SABR: GvsPoTokenPolicy(
required=True,
recommended=True,
not_required_for_premium=True,
not_required_with_player_token=False,
),
StreamingProtocol.DASH: GvsPoTokenPolicy(
required=True,
recommended=True,

View File

@ -3626,6 +3626,9 @@ def process_https_formats():
po_token = (
gvs_pots.get(client_name)
or fetch_po_token_func(required=require_po_token or pot_policy.recommended))
if po_token:
if client_name not in gvs_pots:
gvs_pots[client_name] = po_token
fmt = process_format_stream(fmt_stream, proto, missing_pot=require_po_token and not po_token)
if not fmt:
@ -3662,8 +3665,6 @@ def process_https_formats():
if po_token:
fmt_url = update_url_query(fmt_url, {'pot': po_token})
if client_name not in gvs_pots:
gvs_pots[client_name] = po_token
fmt['url'] = fmt_url