From 2000e3078b66b7d74c6f72708958456b1c4a4a63 Mon Sep 17 00:00:00 2001 From: FongMi Date: Mon, 23 Mar 2026 21:37:15 +0800 Subject: [PATCH] Support rtsp range --- .../main/java/com/fongmi/android/tv/bean/EpgData.java | 9 +++++++++ .../java/com/fongmi/android/tv/model/LiveViewModel.java | 1 + 2 files changed, 10 insertions(+) diff --git a/app/src/main/java/com/fongmi/android/tv/bean/EpgData.java b/app/src/main/java/com/fongmi/android/tv/bean/EpgData.java index e671f13f3..0c1f1bab2 100644 --- a/app/src/main/java/com/fongmi/android/tv/bean/EpgData.java +++ b/app/src/main/java/com/fongmi/android/tv/bean/EpgData.java @@ -9,8 +9,11 @@ import com.fongmi.android.tv.utils.ResUtil; import com.github.catvod.utils.Trans; import com.google.gson.annotations.SerializedName; +import java.text.SimpleDateFormat; import java.util.Calendar; +import java.util.Locale; import java.util.Objects; +import java.util.TimeZone; public class EpgData { @@ -103,6 +106,12 @@ public class EpgData { setEndTime(cal.getTimeInMillis()); } + public String getRange() { + SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd'T'HHmmss'Z'", Locale.US); + sdf.setTimeZone(TimeZone.getTimeZone("UTC")); + return "clock=" + sdf.format(getStartTime()) + "-" + sdf.format(getEndTime()); + } + public void trans() { if (Trans.pass()) return; this.title = Trans.s2t(title); diff --git a/app/src/main/java/com/fongmi/android/tv/model/LiveViewModel.java b/app/src/main/java/com/fongmi/android/tv/model/LiveViewModel.java index 002754d92..2afec53d7 100644 --- a/app/src/main/java/com/fongmi/android/tv/model/LiveViewModel.java +++ b/app/src/main/java/com/fongmi/android/tv/model/LiveViewModel.java @@ -122,6 +122,7 @@ public class LiveViewModel extends ViewModel { Source.get().stop(); Result result = item.result(); result.setUrl(item.getCatchup().format(Source.get().fetch(result), data)); + if (result.getRealUrl().startsWith("rtsp")) result.getHeader().put("rtsp_range", data.getRange()); return result; }); }