mirror of
https://github.com/sudoxnym/audiobookshelf-atv.git
synced 2026-07-13 23:42:21 +00:00
fix: Negative currentTime after seek back
This commit is contained in:
parent
cdfbbcbf8a
commit
2dbce1e3bb
2 changed files with 9 additions and 1 deletions
|
|
@ -16,6 +16,13 @@ final class PlayerTimeUtilsTests: XCTestCase {
|
|||
let lastPlayedMs = threeSecondsAgo.timeIntervalSince1970 * 1000
|
||||
XCTAssertEqual(PlayerTimeUtils.calcSeekBackTime(currentTime: currentTime, lastPlayedMs: lastPlayedMs), 998)
|
||||
}
|
||||
|
||||
func testCalcSeekBackTimeWithZeroCurrentTime() {
|
||||
let currentTime: Double = 0
|
||||
let threeHundredSecondsAgo = Date(timeIntervalSinceNow: -300)
|
||||
let lastPlayedMs = threeHundredSecondsAgo.timeIntervalSince1970 * 1000
|
||||
XCTAssertEqual(PlayerTimeUtils.calcSeekBackTime(currentTime: currentTime, lastPlayedMs: lastPlayedMs), 0)
|
||||
}
|
||||
|
||||
func testTimeSinceLastPlayed() throws {
|
||||
let fiveSecondsAgo = Date(timeIntervalSinceNow: -5)
|
||||
|
|
|
|||
|
|
@ -14,7 +14,8 @@ class PlayerTimeUtils {
|
|||
static func calcSeekBackTime(currentTime: TimeInterval, lastPlayedMs: Double?) -> TimeInterval {
|
||||
let sinceLastPlayed = timeSinceLastPlayed(lastPlayedMs)
|
||||
let timeToSeekBack = timeToSeekBackForSinceLastPlayed(sinceLastPlayed)
|
||||
return currentTime.advanced(by: -timeToSeekBack)
|
||||
let currentTimeAfterSeekBack = currentTime.advanced(by: -timeToSeekBack)
|
||||
return max(currentTimeAfterSeekBack, 0)
|
||||
}
|
||||
|
||||
static internal func timeSinceLastPlayed(_ lastPlayedMs: Double?) -> TimeInterval? {
|
||||
|
|
|
|||
Loading…
Reference in a new issue