diff --git a/app/src/main/java/com/fongmi/android/tv/player/extractor/Youtube.java b/app/src/main/java/com/fongmi/android/tv/player/extractor/Youtube.java
index 2df7a8671..b9f93afcd 100644
--- a/app/src/main/java/com/fongmi/android/tv/player/extractor/Youtube.java
+++ b/app/src/main/java/com/fongmi/android/tv/player/extractor/Youtube.java
@@ -27,7 +27,9 @@ public class Youtube implements Source.Extractor {
private static final String MPD = "\n" + "\n" + "%s\n" + "%s\n" + "\n" + "";
private static final String ADAPT = "\n" + "\n" + "\n" + "%s\n" + "\n" + "\n" + "\n" + "\n" + "";
- private static final Pattern PATTERN = Pattern.compile("(?<=watch\\?v=|youtu.be/|/shorts/|/live/)([\\w-]{11})");
+ private static final Pattern PATTERN_ID = Pattern.compile("(?<=watch\\?v=|youtu.be/|/shorts/|/live/)([\\w-]{11})");
+ private static final Pattern PATTERN_LIST = Pattern.compile("(youtube\\.com|youtu\\.be).*list=");
+
private static YoutubeDownloader downloader;
private static YoutubeDownloader getDownloader() {
@@ -41,7 +43,7 @@ public class Youtube implements Source.Extractor {
@Override
public String fetch(String url) throws Exception {
- Matcher matcher = PATTERN.matcher(url);
+ Matcher matcher = PATTERN_ID.matcher(url);
if (!matcher.find()) return "";
String videoId = matcher.group();
RequestVideoInfo request = new RequestVideoInfo(videoId);
@@ -95,7 +97,7 @@ public class Youtube implements Source.Extractor {
private final String url;
public static boolean match(String url) {
- return PATTERN.matcher(url).find() && url.contains("list=");
+ return PATTERN_LIST.matcher(url).find();
}
public static Parser get(String url) {