From 0a4b2f4180b57f8e82b5d9c078c070ddfac7c727 Mon Sep 17 00:00:00 2001
From: Elyse <26639800+elyse0@users.noreply.github.com>
Date: Sat, 12 Nov 2022 01:13:13 -0600
Subject: [PATCH] [extractor/tencent] Fix geo-restricted video (#5505)

Closes #5230
Authored by: elyse0
---
 yt_dlp/extractor/tencent.py | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/yt_dlp/extractor/tencent.py b/yt_dlp/extractor/tencent.py
index 44cd196009..61f300fa4c 100644
--- a/yt_dlp/extractor/tencent.py
+++ b/yt_dlp/extractor/tencent.py
@@ -67,9 +67,10 @@ class TencentBaseIE(InfoExtractor):
 
         formats, subtitles = [], {}
         for video_format in video_response['ul']['ui']:
-            if video_format.get('hls'):
+            if video_format.get('hls') or determine_ext(video_format['url']) == 'm3u8':
                 fmts, subs = self._extract_m3u8_formats_and_subtitles(
-                    video_format['url'] + video_format['hls']['pt'], video_id, 'mp4', fatal=False)
+                    video_format['url'] + traverse_obj(video_format, ('hls', 'pt'), default=''),
+                    video_id, 'mp4', fatal=False)
                 for f in fmts:
                     f.update({'width': video_width, 'height': video_height})
 
@@ -187,6 +188,10 @@ class VQQVideoIE(VQQBaseIE):
             'thumbnail': r're:^https?://[^?#]+s0043cwsgj0',
             'series': '青年理工工作者生活研究所',
         },
+    }, {
+        # Geo-restricted to China
+        'url': 'https://v.qq.com/x/cover/mcv8hkc8zk8lnov/x0036x5qqsr.html',
+        'only_matching': True,
     }]
 
     def _real_extract(self, url):