From 1e3c4c051aecd03e758bc877b390f1a1b5d268f9 Mon Sep 17 00:00:00 2001 From: FongMi Date: Thu, 18 Jan 2024 14:44:32 +0800 Subject: [PATCH] Fix bug --- app/src/main/java/com/fongmi/android/tv/utils/M3U8.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/fongmi/android/tv/utils/M3U8.java b/app/src/main/java/com/fongmi/android/tv/utils/M3U8.java index 883efb738..8497c0d69 100644 --- a/app/src/main/java/com/fongmi/android/tv/utils/M3U8.java +++ b/app/src/main/java/com/fongmi/android/tv/utils/M3U8.java @@ -1,6 +1,7 @@ package com.fongmi.android.tv.utils; import android.net.Uri; +import android.text.TextUtils; import androidx.media3.common.util.UriUtil; @@ -29,10 +30,11 @@ public class M3U8 { public static String get(String url, Map headers) { try { + if (TextUtils.isEmpty(url)) return ""; Response response = OkHttp.newCall(url, getHeader(headers)).execute(); if (response.header(HttpHeaders.ACCEPT_RANGES) != null) return ""; String result = response.body().string(); - Matcher matcher = Pattern.compile("#EXT-X-STREAM-INF(.*)\\n?(.*)").matcher(result); + Matcher matcher = Pattern.compile("#EXT-X-STREAM-INF(.*)\\n?(.*)").matcher(result.replaceAll("\r\n", "\n")); if (matcher.find() && matcher.groupCount() > 1) return get(UriUtil.resolve(url, matcher.group(2)), headers); StringBuilder sb = new StringBuilder(); for (String line : result.split("\n")) sb.append(shouldResolve(line) ? resolve(url, line) : line).append("\n");