mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2026-07-03 00:39:41 +00:00
[ie/youtube] Fix detection of forced preroll wait time (#17062)
Authored by: bashonly
This commit is contained in:
parent
7b03011294
commit
3c279b33cb
@ -3819,11 +3819,20 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
|
|||||||
wait_seconds = 0
|
wait_seconds = 0
|
||||||
|
|
||||||
for renderer in traverse_obj(player_response, (
|
for renderer in traverse_obj(player_response, (
|
||||||
'adSlots', lambda _, v: v['adSlotRenderer']['adSlotMetadata']['triggerEvent'] == 'SLOT_TRIGGER_EVENT_BEFORE_CONTENT',
|
(
|
||||||
'adSlotRenderer', 'fulfillmentContent', 'fulfilledLayout', 'playerBytesAdLayoutRenderer', 'renderingContent', (
|
(
|
||||||
None,
|
'adPlacements', lambda _, v: v['adPlacementRenderer']['config']['adPlacementConfig']['kind'] == 'AD_PLACEMENT_KIND_START',
|
||||||
('playerBytesSequentialLayoutRenderer', 'sequentialLayouts', ..., 'playerBytesAdLayoutRenderer', 'renderingContent'),
|
'adPlacementRenderer', 'renderer',
|
||||||
), 'instreamVideoAdRenderer', {dict},
|
),
|
||||||
|
(
|
||||||
|
'adSlots', lambda _, v: v['adSlotRenderer']['adSlotMetadata']['triggerEvent'] == 'SLOT_TRIGGER_EVENT_BEFORE_CONTENT',
|
||||||
|
'adSlotRenderer', 'fulfillmentContent', 'fulfilledLayout', 'playerBytesAdLayoutRenderer', 'renderingContent', (
|
||||||
|
None,
|
||||||
|
('playerBytesSequentialLayoutRenderer', 'sequentialLayouts', ..., 'playerBytesAdLayoutRenderer', 'renderingContent'),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
'instreamVideoAdRenderer', {dict},
|
||||||
)):
|
)):
|
||||||
duration = traverse_obj(renderer, ('playerVars', {urllib.parse.parse_qs}, 'length_seconds', -1, {int_or_none}))
|
duration = traverse_obj(renderer, ('playerVars', {urllib.parse.parse_qs}, 'length_seconds', -1, {int_or_none}))
|
||||||
ad = 'an ad' if duration is None else f'a {duration}s ad'
|
ad = 'an ad' if duration is None else f'a {duration}s ad'
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user