mirror of
https://github.com/yattee/yattee.git
synced 2025-08-09 20:24:06 +00:00
Video playback progress and restoring time for previously played
This commit is contained in:
@@ -4,10 +4,28 @@ import Foundation
|
||||
struct PlayerQueueItem: Hashable, Identifiable {
|
||||
var id = UUID()
|
||||
var video: Video
|
||||
var playbackTime: CMTime?
|
||||
var videoDuration: TimeInterval?
|
||||
|
||||
init(_ video: Video) {
|
||||
init(_ video: Video, playbackTime: CMTime? = nil, videoDuration: TimeInterval? = nil) {
|
||||
self.video = video
|
||||
self.playbackTime = playbackTime
|
||||
self.videoDuration = videoDuration
|
||||
}
|
||||
|
||||
var playerItems = [AVPlayerItem]()
|
||||
var duration: TimeInterval {
|
||||
videoDuration ?? video.length
|
||||
}
|
||||
|
||||
var shouldRestartPlaying: Bool {
|
||||
guard let seconds = playbackTime?.seconds else {
|
||||
return false
|
||||
}
|
||||
|
||||
return duration - seconds <= 10
|
||||
}
|
||||
|
||||
func hash(into hasher: inout Hasher) {
|
||||
hasher.combine(id)
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user