mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2025-07-19 19:58:30 +00:00
add sabr pot policy
This commit is contained in:
parent
951a2995c6
commit
5e9683e7db
@ -77,6 +77,12 @@ class SubsPoTokenPolicy(BasePoTokenPolicy):
|
|||||||
not_required_for_premium=True,
|
not_required_for_premium=True,
|
||||||
not_required_with_player_token=False,
|
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(
|
StreamingProtocol.DASH: GvsPoTokenPolicy(
|
||||||
required=True,
|
required=True,
|
||||||
recommended=True,
|
recommended=True,
|
||||||
@ -147,6 +153,12 @@ class SubsPoTokenPolicy(BasePoTokenPolicy):
|
|||||||
not_required_for_premium=True,
|
not_required_for_premium=True,
|
||||||
not_required_with_player_token=False,
|
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(
|
StreamingProtocol.DASH: GvsPoTokenPolicy(
|
||||||
required=True,
|
required=True,
|
||||||
recommended=True,
|
recommended=True,
|
||||||
@ -176,6 +188,12 @@ class SubsPoTokenPolicy(BasePoTokenPolicy):
|
|||||||
not_required_for_premium=True,
|
not_required_for_premium=True,
|
||||||
not_required_with_player_token=False,
|
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(
|
StreamingProtocol.DASH: GvsPoTokenPolicy(
|
||||||
required=True,
|
required=True,
|
||||||
recommended=True,
|
recommended=True,
|
||||||
@ -209,6 +227,11 @@ class SubsPoTokenPolicy(BasePoTokenPolicy):
|
|||||||
recommended=True,
|
recommended=True,
|
||||||
not_required_with_player_token=True,
|
not_required_with_player_token=True,
|
||||||
),
|
),
|
||||||
|
StreamingProtocol.SABR: GvsPoTokenPolicy(
|
||||||
|
required=True,
|
||||||
|
recommended=True,
|
||||||
|
not_required_with_player_token=True,
|
||||||
|
),
|
||||||
StreamingProtocol.DASH: GvsPoTokenPolicy(
|
StreamingProtocol.DASH: GvsPoTokenPolicy(
|
||||||
required=True,
|
required=True,
|
||||||
recommended=True,
|
recommended=True,
|
||||||
@ -260,6 +283,11 @@ class SubsPoTokenPolicy(BasePoTokenPolicy):
|
|||||||
recommended=True,
|
recommended=True,
|
||||||
not_required_with_player_token=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
|
# HLS Livestreams require POT 30 seconds in
|
||||||
# TODO: Rolling out
|
# TODO: Rolling out
|
||||||
StreamingProtocol.HLS: GvsPoTokenPolicy(
|
StreamingProtocol.HLS: GvsPoTokenPolicy(
|
||||||
@ -290,6 +318,12 @@ class SubsPoTokenPolicy(BasePoTokenPolicy):
|
|||||||
not_required_for_premium=True,
|
not_required_for_premium=True,
|
||||||
not_required_with_player_token=False,
|
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(
|
StreamingProtocol.DASH: GvsPoTokenPolicy(
|
||||||
required=True,
|
required=True,
|
||||||
recommended=True,
|
recommended=True,
|
||||||
|
@ -3626,6 +3626,9 @@ def process_https_formats():
|
|||||||
po_token = (
|
po_token = (
|
||||||
gvs_pots.get(client_name)
|
gvs_pots.get(client_name)
|
||||||
or fetch_po_token_func(required=require_po_token or pot_policy.recommended))
|
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)
|
fmt = process_format_stream(fmt_stream, proto, missing_pot=require_po_token and not po_token)
|
||||||
if not fmt:
|
if not fmt:
|
||||||
@ -3662,8 +3665,6 @@ def process_https_formats():
|
|||||||
|
|
||||||
if po_token:
|
if po_token:
|
||||||
fmt_url = update_url_query(fmt_url, {'pot': 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
|
fmt['url'] = fmt_url
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user