diff --git a/src/N_m3u8DL-RE/DownloadManager/SimpleLiveRecordManager2.cs b/src/N_m3u8DL-RE/DownloadManager/SimpleLiveRecordManager2.cs index 65112ddd..195876ea 100644 --- a/src/N_m3u8DL-RE/DownloadManager/SimpleLiveRecordManager2.cs +++ b/src/N_m3u8DL-RE/DownloadManager/SimpleLiveRecordManager2.cs @@ -656,6 +656,10 @@ await Parallel.ForEachAsync(dic, async (dic, _) => if (RecordLimitReachedDic[task.Id]) return; + // 如果 MediaParts 为空,播放列表可能已损坏,跳过并下次重试 + if (streamSpec.Playlist!.MediaParts.Count == 0) + return; + var allHasDatetime = streamSpec.Playlist!.MediaParts[0].MediaSegments.All(s => s.DateTime != null); if (!SamePathDic.ContainsKey(task.Id)) { @@ -918,4 +922,4 @@ await Parallel.ForEachAsync(dic, options, async (kp, _) => return success; } -} \ No newline at end of file +}