mirror of
https://github.com/MaintainTeam/LastPipeBender.git
synced 2025-03-04 07:18:21 +03:00
SponsorBlock: Fixed (?) rewinding over skippable segments
This commit is contained in:
parent
ba4b4122dc
commit
c35dc98e27
1 changed files with 14 additions and 4 deletions
|
@ -745,6 +745,10 @@ public abstract class BasePlayer implements
|
||||||
}
|
}
|
||||||
|
|
||||||
public void triggerProgressUpdate() {
|
public void triggerProgressUpdate() {
|
||||||
|
triggerProgressUpdate(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void triggerProgressUpdate(final boolean isRewind) {
|
||||||
if (simpleExoPlayer == null) {
|
if (simpleExoPlayer == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -761,13 +765,19 @@ public abstract class BasePlayer implements
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
final int skipTo = (int) Math.ceil((segment.endTime));
|
int skipTarget = isRewind
|
||||||
|
? (int) Math.ceil((segment.startTime)) - 1
|
||||||
|
: (int) Math.ceil((segment.endTime));
|
||||||
|
|
||||||
|
if (skipTarget < 0) {
|
||||||
|
skipTarget = 0;
|
||||||
|
}
|
||||||
|
|
||||||
// temporarily force EXACT seek parameters to prevent infinite skip looping
|
// temporarily force EXACT seek parameters to prevent infinite skip looping
|
||||||
final SeekParameters seekParams = simpleExoPlayer.getSeekParameters();
|
final SeekParameters seekParams = simpleExoPlayer.getSeekParameters();
|
||||||
simpleExoPlayer.setSeekParameters(SeekParameters.EXACT);
|
simpleExoPlayer.setSeekParameters(SeekParameters.EXACT);
|
||||||
|
|
||||||
seekTo(skipTo);
|
seekTo(skipTarget);
|
||||||
|
|
||||||
simpleExoPlayer.setSeekParameters(seekParams);
|
simpleExoPlayer.setSeekParameters(seekParams);
|
||||||
|
|
||||||
|
@ -807,7 +817,7 @@ public abstract class BasePlayer implements
|
||||||
|
|
||||||
if (DEBUG) {
|
if (DEBUG) {
|
||||||
Log.d("SPONSOR_BLOCK", "Skipped segment: currentProgress = ["
|
Log.d("SPONSOR_BLOCK", "Skipped segment: currentProgress = ["
|
||||||
+ currentProgress + "], skipped to = [" + skipTo + "]");
|
+ currentProgress + "], skipped to = [" + skipTarget + "]");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1357,7 +1367,7 @@ public abstract class BasePlayer implements
|
||||||
Log.d(TAG, "onFastRewind() called");
|
Log.d(TAG, "onFastRewind() called");
|
||||||
}
|
}
|
||||||
seekBy(-getSeekDuration());
|
seekBy(-getSeekDuration());
|
||||||
triggerProgressUpdate();
|
triggerProgressUpdate(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onFastForward() {
|
public void onFastForward() {
|
||||||
|
|
Loading…
Add table
Reference in a new issue