SponsorBlock jump to end instead of pausing

When the time stamp for the last segment is greater the duration currently the video pauses. This interferes with PR #646.

Now instead of pausing we jump to the duration (end time) of the video instead.
This commit is contained in:
Toni Förster 2024-04-26 13:40:00 +02:00
parent d1cf45c6a1
commit c118c77c14
No known key found for this signature in database
GPG Key ID: 292F3E5086C83FC7

View File

@ -44,22 +44,6 @@ extension PlayerModel {
} }
private func skip(_ segment: Segment, at time: CMTime) { private func skip(_ segment: Segment, at time: CMTime) {
if let duration = playerItemDuration, segment.endTime.seconds >= duration.seconds - 3 {
logger.error("segment end time is: \(segment.end) when player item duration is: \(duration.seconds)")
DispatchQueue.main.async { [weak self] in
guard let self else {
return
}
self.pause()
self.backend.eofPlaybackModeAction()
}
return
}
backend.seek(to: segment.endTime, seekType: .segmentSkip(segment.category)) backend.seek(to: segment.endTime, seekType: .segmentSkip(segment.category))
DispatchQueue.main.async { [weak self] in DispatchQueue.main.async { [weak self] in
@ -69,6 +53,14 @@ extension PlayerModel {
self?.segmentRestorationTime = time self?.segmentRestorationTime = time
} }
logger.info("SponsorBlock skipping to: \(segment.end)") logger.info("SponsorBlock skipping to: \(segment.end)")
if let duration = playerItemDuration, segment.endTime.seconds >= duration.seconds - 3 {
logger.error("Segment end time is: \(segment.end) when player item duration is: \(duration.seconds)")
DispatchQueue.main.async { [weak self] in
self?.backend.eofPlaybackModeAction()
}
}
} }
private func shouldSkip(_ segment: Segment, at time: CMTime) -> Bool { private func shouldSkip(_ segment: Segment, at time: CMTime) -> Bool {