diff --git a/Sources/KSPlayer/MEPlayer/FFmpegAssetTrack.swift b/Sources/KSPlayer/MEPlayer/FFmpegAssetTrack.swift index 4039f118..133ad38f 100644 --- a/Sources/KSPlayer/MEPlayer/FFmpegAssetTrack.swift +++ b/Sources/KSPlayer/MEPlayer/FFmpegAssetTrack.swift @@ -81,7 +81,9 @@ public class FFmpegAssetTrack: MediaPlayerTrack { if timebase.num <= 0 || timebase.den <= 0 { timebase = Timebase(num: 1, den: 1000) } - startTime = timebase.cmtime(for: stream.pointee.start_time) + if stream.pointee.start_time != Int64.min { + startTime = timebase.cmtime(for: stream.pointee.start_time) + } self.timebase = timebase avgFrameRate = Timebase(stream.pointee.avg_frame_rate) realFrameRate = Timebase(stream.pointee.r_frame_rate) diff --git a/Sources/KSPlayer/MEPlayer/SubtitleDecode.swift b/Sources/KSPlayer/MEPlayer/SubtitleDecode.swift index 53a9e455..1cba697f 100644 --- a/Sources/KSPlayer/MEPlayer/SubtitleDecode.swift +++ b/Sources/KSPlayer/MEPlayer/SubtitleDecode.swift @@ -59,7 +59,7 @@ class SubtitleDecode: DecodeProtocol { duration = packet.assetTrack.timebase.cmtime(for: packet.duration).seconds } if let preSubtitleFrame, preSubtitleFrame.part.end == preSubtitleFrame.part.start { - if start == preSubtitleFrame.part.end { + if preSubtitleFrame.part.end >= start { return } else { preSubtitleFrame.part.end = start