diff --git a/ios/App/Shared/models/DataClasses.swift b/ios/App/Shared/models/DataClasses.swift index 2af3cd21..f3e0b2f5 100644 --- a/ios/App/Shared/models/DataClasses.swift +++ b/ios/App/Shared/models/DataClasses.swift @@ -25,22 +25,24 @@ struct LibraryItem: Codable { var isMissing: Bool var isInvalid: Bool var mediaType: String -// var media: MediaType + var media: MediaType var libraryFiles: [LibraryFile] } -struct Book: Codable { +struct MediaType: Codable { var libraryItemId: String? - var metadata: BookMetadata + var metadata: Metadata var coverPath: String? - var tags: [String] + var tags: [String]? var audioFiles: [AudioTrack]? var chapters: [Chapter]? var tracks: [AudioTrack]? var size: Int64? var duration: Double? + var episodes: [PodcastEpisode]? + var autoDownloadEpisodes: Bool? } -struct BookMetadata: Codable { - var title:String +struct Metadata: Codable { + var title: String var subtitle: String? var authors: [Author]? var narrators: [String]? @@ -57,26 +59,14 @@ struct BookMetadata: Codable { var authorNameLF: String? var narratorName: String? var seriesName: String? -} -struct Podcast: Codable { - var metadata: PodcastMetadata - var coverPath: String? - var tags: [String] - var episodes: [PodcastEpisode] - var autoDownloadEpisodes: Bool -} -struct PodcastMetadata: Codable { - var title: String - var author: String? var feedUrl: String? - var genres: [String] } struct PodcastEpisode: Codable { var id: String var index: Int var episode: String? var episodeType: String? - var title: String? + var title: String var subtitle: String? var description: String? var audioFile: AudioFile? @@ -103,10 +93,10 @@ struct Chapter: Codable { } struct AudioTrack: Codable { var index: Int? - var startOffset: Double + var startOffset: Double? var duration: Double - var title: String - var contentUrl: String + var title: String? + var contentUrl: String? var mimeType: String var metadata: FileMetadata? // var isLocal: Bool diff --git a/ios/App/Shared/player/AudioPlayer.swift b/ios/App/Shared/player/AudioPlayer.swift index 0bd7270c..88550c27 100644 --- a/ios/App/Shared/player/AudioPlayer.swift +++ b/ios/App/Shared/player/AudioPlayer.swift @@ -40,7 +40,7 @@ class AudioPlayer: NSObject { if playbackSession.audioTracks.count != 1 || playbackSession.audioTracks[0].mimeType != "application/vnd.apple.mpegurl" { NSLog("The player only support HLS streams right now") - self.activeAudioTrack = AudioTrack(index: 0, startOffset: -1, duration: -1, title: "", contentUrl: "", mimeType: "") + self.activeAudioTrack = AudioTrack(index: 0, startOffset: -1, duration: -1, title: "", contentUrl: nil, mimeType: "", metadata: nil, serverIndex: 0) super.init() return @@ -168,7 +168,7 @@ class AudioPlayer: NSObject { "Authorization": "Bearer \(Store.serverConfig!.token)" ] - return AVURLAsset(url: URL(string: "\(Store.serverConfig!.address)\(activeAudioTrack.contentUrl)")!, options: ["AVURLAssetHTTPHeaderFieldsKey": headers]) + return AVURLAsset(url: URL(string: "\(Store.serverConfig!.address)\(activeAudioTrack.contentUrl ?? "")")!, options: ["AVURLAssetHTTPHeaderFieldsKey": headers]) } private func initAudioSession() { do {