Revert "stop estimating a length for Ogg-based transcodes"

This reverts commit aeb08bf628cc98f81bd3084bce1a2a5da0a2e762.
This commit is contained in:
austinried
2026-10-04 00:30:04 +00:00
parent 73d38ddf3e
commit 76f3b39162
2 changed files with 0 additions and 13 deletions
@@ -10,18 +10,12 @@ private const val LOSSLESS_CEILING_BPS = 9_216_000L
private const val OVERHEAD_BYTES = 256L * 1024L
private val LOSSLESS_FORMATS = setOf("flac", "wav", "alac")
// Ogg-based streams seek by binary-searching for the last page from the end of the file, so a
// length estimate that overshoots makes the player read past the real data and the server answers
// 416 (POSITION_OUT_OF_RANGE). These get no estimate and seek only within what is buffered.
private val END_SEEKING_FORMATS = setOf("opus", "ogg", "vorbis")
fun declaredStreamLength(
durationMs: Long?,
quality: StreamQuality,
): Long? {
if (durationMs == null || durationMs <= 0) return null
if (!quality.transcodes) return null
if (quality.format?.lowercase() in END_SEEKING_FORMATS) return null
val bps =
when {
quality.format?.lowercase() in LOSSLESS_FORMATS -> LOSSLESS_CEILING_BPS
@@ -39,13 +39,6 @@ class StreamLengthTest {
assertTrue(cdQuality >= 320 * 1_411_200 / 8)
}
@Test
fun oggBasedFormatsGetNoEstimateBecauseSeekingReadsFromTheEnd() {
assertNull(declaredStreamLength(180_000, StreamQuality(128, "opus")))
assertNull(declaredStreamLength(180_000, StreamQuality(128, "ogg")))
assertNull(declaredStreamLength(180_000, StreamQuality(128, "vorbis")))
}
@Test
fun theLengthSuffixRoundTripsThroughTheFragment() {
val uri = "http://host/rest/stream.view?id=s1" + streamLengthSuffix(1_234_567)