File tree Expand file tree Collapse file tree
main/kotlin/dev/typetype/server/services
test/kotlin/dev/typetype/server/services Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -37,7 +37,7 @@ internal class SabrSessionPump {
3737 return @withLock segment
3838 }
3939 if (holder.session.isBeyondEnd(request)) return @withLock null
40- if ( ! request.isInitializationSegment) holder.session.prepareForForwardJump (request)
40+ holder.session.prepareForRequestedSegment (request)
4141 runCatching { holder.session.fetchSegment(request, localization) }
4242 .getOrNull()
4343 ?.also { holder.markServed(it) }
@@ -93,10 +93,7 @@ internal class SabrSessionPump {
9393
9494 private fun YoutubeSabrSession.prepareForRequestedSegment (request : SabrSegmentRequest ) {
9595 if (request.isInitializationSegment) return
96- val max = streamState.getMaxSegment(request.format)
97- when {
98- request.sequenceNumber <= max -> prepareForRewind(request)
99- request.sequenceNumber > max + 1 -> prepareForForwardJump(request)
100- }
96+ prepareForRewind(request)
97+ prepareForForwardJump(request)
10198 }
10299}
Original file line number Diff line number Diff line change @@ -30,6 +30,7 @@ class SabrSessionPumpTest {
3030 val segment = mediaSegment(startMs, durationMs)
3131 every { session.getCachedSegment(request) } returns null
3232 every { session.isBeyondEnd(request) } returns false
33+ every { session.prepareForRewind(request) } returns Unit
3334 every { session.prepareForForwardJump(request) } returns Unit
3435 every { session.fetchSegment(request, any<Localization >()) } returns segment
3536 every { session.setPlayHeadMs(startMs + durationMs) } returns Unit
@@ -45,6 +46,7 @@ class SabrSessionPumpTest {
4546 val fetched = SabrSessionPump ().fetchSegment(holder, request)
4647
4748 assertSame(segment, fetched)
49+ verify { session.prepareForRewind(request) }
4850 verify { session.prepareForForwardJump(request) }
4951 verify { session.fetchSegment(request, any<Localization >()) }
5052 verify { session.setPlayHeadMs(startMs + durationMs) }
You can’t perform that action at this time.
0 commit comments