Book-Podcast combination, optional fixes

This commit is contained in:
benonymity 2022-04-25 00:15:44 -04:00
parent 7189588c2b
commit 81ca757c77
2 changed files with 14 additions and 24 deletions

View file

@ -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

View file

@ -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 {