mirror of
https://github.com/samsonjs/media.git
synced 2026-04-27 15:07:40 +00:00
Fix buffering issue for live streams
Issue: #1825 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=133401980
This commit is contained in:
parent
22728d9ae4
commit
59ee4341c5
2 changed files with 3 additions and 11 deletions
|
|
@ -243,16 +243,8 @@ import java.util.concurrent.CopyOnWriteArraySet;
|
||||||
if (timeline == null || pendingSeekAcks > 0) {
|
if (timeline == null || pendingSeekAcks > 0) {
|
||||||
return maskingWindowPositionMs;
|
return maskingWindowPositionMs;
|
||||||
} else {
|
} else {
|
||||||
int periodIndex = playbackInfo.periodIndex;
|
timeline.getPeriod(playbackInfo.periodIndex, period);
|
||||||
timeline.getPeriod(periodIndex, period);
|
return period.getPositionInWindowMs() + C.usToMs(playbackInfo.bufferedPositionUs);
|
||||||
int windowIndex = period.windowIndex;
|
|
||||||
timeline.getWindow(windowIndex, window);
|
|
||||||
if (window.firstPeriodIndex == periodIndex && window.lastPeriodIndex == periodIndex
|
|
||||||
&& window.getPositionInFirstPeriodUs() == 0
|
|
||||||
&& window.getDurationUs() == period.getDurationUs()) {
|
|
||||||
return C.usToMs(playbackInfo.bufferedPositionUs);
|
|
||||||
}
|
|
||||||
return getCurrentPosition();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1071,7 +1071,7 @@ import java.io.IOException;
|
||||||
long nextLoadPositionUs = loadingPeriodHolder.mediaPeriod.getNextLoadPositionUs();
|
long nextLoadPositionUs = loadingPeriodHolder.mediaPeriod.getNextLoadPositionUs();
|
||||||
if (nextLoadPositionUs != C.TIME_END_OF_SOURCE) {
|
if (nextLoadPositionUs != C.TIME_END_OF_SOURCE) {
|
||||||
long loadingPeriodPositionUs = rendererPositionUs
|
long loadingPeriodPositionUs = rendererPositionUs
|
||||||
- loadingPeriodHolder.rendererPositionOffsetUs + loadingPeriodHolder.startPositionUs;
|
- loadingPeriodHolder.rendererPositionOffsetUs;
|
||||||
long bufferedDurationUs = nextLoadPositionUs - loadingPeriodPositionUs;
|
long bufferedDurationUs = nextLoadPositionUs - loadingPeriodPositionUs;
|
||||||
boolean continueLoading = loadControl.shouldContinueLoading(bufferedDurationUs);
|
boolean continueLoading = loadControl.shouldContinueLoading(bufferedDurationUs);
|
||||||
setIsLoading(continueLoading);
|
setIsLoading(continueLoading);
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue