diff --git a/youtube_dl/extractor/generic.py b/youtube_dl/extractor/generic.py
index 597611157..3e8281ed3 100644
--- a/youtube_dl/extractor/generic.py
+++ b/youtube_dl/extractor/generic.py
@@ -36,6 +36,7 @@ from ..utils import (
unsmuggle_url,
UnsupportedError,
url_or_none,
+ urljoin,
xpath_attr,
xpath_text,
xpath_with_ns,
@@ -2308,6 +2309,17 @@ class GenericIE(InfoExtractor):
'height': 720,
'age_limit': 18,
},
+ }, {
+ 'url': 'https://shooshtime.com/videos/284002/just-out-of-the-shower-joi/',
+ 'md5': 'e2f0a4c329f7986280b7328e24036d60',
+ 'info_dict': {
+ 'id': '284002',
+ 'display_id': 'just-out-of-the-shower-joi',
+ 'ext': 'mp4',
+ 'title': 'Just Out Of The Shower JOI - Shooshtime',
+ 'height': 720,
+ 'age_limit': 18,
+ },
},
]
@@ -2477,7 +2489,7 @@ class GenericIE(InfoExtractor):
format_id = flashvars.get(key + '_text', key)
formats.append(merge_dicts(
parse_resolution(format_id) or parse_resolution(flashvars[key]), {
- 'url': getrealurl(flashvars[key], flashvars['license_code']),
+ 'url': urljoin(url, getrealurl(flashvars[key], flashvars['license_code'])),
'format_id': format_id,
'ext': 'mp4',
'http_headers': {'Referer': url},
@@ -2704,6 +2716,7 @@ class GenericIE(InfoExtractor):
AGE_LIMIT_MARKERS = [
r'Proudly Labeled RTA',
r'>[^<]*you acknowledge you are at least (\d+) years old',
+ r'>\s*(?:18\s+U(?:\.S\.C\.|SC)\s+)?(?:ยง+\s*)?2257\b',
]
for marker in AGE_LIMIT_MARKERS:
m = re.search(marker, webpage)
@@ -3559,13 +3572,15 @@ class GenericIE(InfoExtractor):
return info_dict
# Look for generic KVS player (before ld+json for tests)
- found = re.search(
- r'