6
6
7
7
package org.readium.r2.streamer.parser.audio
8
8
9
+ import org.readium.r2.shared.InternalReadiumApi
9
10
import org.readium.r2.shared.publication.Link
10
11
import org.readium.r2.shared.publication.LocalizedString
11
12
import org.readium.r2.shared.publication.Manifest
@@ -22,6 +23,7 @@ import org.readium.r2.shared.util.data.Container
22
23
import org.readium.r2.shared.util.data.ReadError
23
24
import org.readium.r2.shared.util.format.Format
24
25
import org.readium.r2.shared.util.format.Specification
26
+ import org.readium.r2.shared.util.getEquivalent
25
27
import org.readium.r2.shared.util.getOrElse
26
28
import org.readium.r2.shared.util.logging.WarningLogger
27
29
import org.readium.r2.shared.util.resource.Resource
@@ -66,6 +68,7 @@ public class AudioParser(
66
68
return finalizeParsing(container, readingOrderWithFormat, null )
67
69
}
68
70
71
+ @OptIn(InternalReadiumApi ::class )
69
72
private suspend fun parseContainerAsset (
70
73
asset : ContainerAsset
71
74
): Try <Publication .Builder , PublicationParser .ParseError > {
@@ -79,7 +82,7 @@ public class AudioParser(
79
82
80
83
val readingOrderWithFormat =
81
84
asset.container
82
- .mapNotNull { url -> entryFormats[ url] ?.let { url to it } }
85
+ .mapNotNull { url -> entryFormats.getEquivalent( url) ?.let { url to it } }
83
86
.filter { (_, format) -> format.specification.specifications.any { it in audioSpecifications } }
84
87
.sortedBy { it.first.toString() }
85
88
0 commit comments