fix: retain Zoko opening and ending metadata through playback

This commit is contained in:
2026-10-25 23:01:38 +01:00
parent d8fb648c90
commit 41aa0abd56
11 changed files with 341 additions and 24 deletions
+10 -1
View File
@@ -31,18 +31,27 @@ struct ResolvedSubtitle: Decodable, Sendable {
}
}
// Optional episode-relative provider timings; playback validates against media duration.
struct ProviderInterval: Sendable, Equatable {
enum Kind: Sendable { case intro, outro }
let kind: Kind
let start: Double
let end: Double
}
struct ResolvedSource: Sendable {
let url: String
let headers: String
let identity: String
let title: String
let subtitles: [ResolvedSubtitle]
var intervals: [ProviderInterval] = []
var requirements: MiruroPlaybackRequirements = .init()
var playbackLifetime: (any Sendable)? = nil
func replacingSubtitles(_ subtitles: [ResolvedSubtitle]) -> ResolvedSource {
ResolvedSource(url: url, headers: headers, identity: identity, title: title, subtitles: subtitles,
requirements: requirements, playbackLifetime: playbackLifetime)
intervals: intervals, requirements: requirements, playbackLifetime: playbackLifetime)
}
struct Document: Decodable {