mirror of
https://github.com/TeamNewPipe/NewPipe
synced 2024-12-23 08:30:44 +00:00
Disabled preloading when switching streams
This commit is contained in:
parent
a801d0994f
commit
31814b70da
@ -958,6 +958,9 @@ public class VideoDetailFragment
|
||||
return;
|
||||
}
|
||||
setInitialData(sid, videoUrl, title, queue);
|
||||
if (player != null) {
|
||||
player.disablePreloadingOfCurrentTrack();
|
||||
}
|
||||
startLoading(false, true);
|
||||
}
|
||||
|
||||
|
@ -1410,6 +1410,11 @@ public abstract class BasePlayer implements
|
||||
return currentMetadata;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public LoadController getLoadController() {
|
||||
return (LoadController) loadControl;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public String getVideoUrl() {
|
||||
return currentMetadata == null
|
||||
|
@ -1484,6 +1484,10 @@ public class VideoPlayerImpl extends VideoPlayer
|
||||
}
|
||||
}
|
||||
|
||||
public void disablePreloadingOfCurrentTrack() {
|
||||
getLoadController().disablePreloadingOfCurrentTrack();
|
||||
}
|
||||
|
||||
/**
|
||||
* Measures width and height of controls visible on screen.
|
||||
* It ensures that controls will be side-by-side with NavigationBar and notches
|
||||
|
@ -13,6 +13,7 @@ public class LoadController implements LoadControl {
|
||||
|
||||
private final long initialPlaybackBufferUs;
|
||||
private final LoadControl internalLoadControl;
|
||||
private boolean preloadingEnabled = true;
|
||||
|
||||
/*//////////////////////////////////////////////////////////////////////////
|
||||
// Default Load Control
|
||||
@ -41,6 +42,7 @@ public class LoadController implements LoadControl {
|
||||
|
||||
@Override
|
||||
public void onPrepared() {
|
||||
preloadingEnabled = true;
|
||||
internalLoadControl.onPrepared();
|
||||
}
|
||||
|
||||
@ -52,11 +54,13 @@ public class LoadController implements LoadControl {
|
||||
|
||||
@Override
|
||||
public void onStopped() {
|
||||
preloadingEnabled = true;
|
||||
internalLoadControl.onStopped();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onReleased() {
|
||||
preloadingEnabled = true;
|
||||
internalLoadControl.onReleased();
|
||||
}
|
||||
|
||||
@ -78,6 +82,9 @@ public class LoadController implements LoadControl {
|
||||
@Override
|
||||
public boolean shouldContinueLoading(final long bufferedDurationUs,
|
||||
final float playbackSpeed) {
|
||||
if (!preloadingEnabled) {
|
||||
return false;
|
||||
}
|
||||
return internalLoadControl.shouldContinueLoading(bufferedDurationUs, playbackSpeed);
|
||||
}
|
||||
|
||||
@ -90,4 +97,8 @@ public class LoadController implements LoadControl {
|
||||
.shouldStartPlayback(bufferedDurationUs, playbackSpeed, rebuffering);
|
||||
return isInitialPlaybackBufferFilled || isInternalStartingPlayback;
|
||||
}
|
||||
|
||||
public void disablePreloadingOfCurrentTrack() {
|
||||
preloadingEnabled = false;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user