Files
rr3-apk/decompiled/sources/com/mbridge/msdk/playercommon/exoplayer2/DefaultMediaClock.java
Daniel Elliott f9d20bb3fc Add decompiled APK source code (JADX)
- 28,932 files
- Full Java source code
- Smali files
- Resources

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-18 14:52:23 -08:00

113 lines
4.2 KiB
Java

package com.mbridge.msdk.playercommon.exoplayer2;
import androidx.annotation.Nullable;
import com.mbridge.msdk.playercommon.exoplayer2.util.Clock;
import com.mbridge.msdk.playercommon.exoplayer2.util.MediaClock;
import com.mbridge.msdk.playercommon.exoplayer2.util.StandaloneMediaClock;
/* loaded from: classes4.dex */
final class DefaultMediaClock implements MediaClock {
private final PlaybackParameterListener listener;
@Nullable
private MediaClock rendererClock;
@Nullable
private Renderer rendererClockSource;
private final StandaloneMediaClock standaloneMediaClock;
public interface PlaybackParameterListener {
void onPlaybackParametersChanged(PlaybackParameters playbackParameters);
}
public final void onRendererDisabled(Renderer renderer) {
if (renderer == this.rendererClockSource) {
this.rendererClock = null;
this.rendererClockSource = null;
}
}
public DefaultMediaClock(PlaybackParameterListener playbackParameterListener, Clock clock) {
this.listener = playbackParameterListener;
this.standaloneMediaClock = new StandaloneMediaClock(clock);
}
public final void start() {
this.standaloneMediaClock.start();
}
public final void stop() {
this.standaloneMediaClock.stop();
}
public final void resetPosition(long j) {
this.standaloneMediaClock.resetPosition(j);
}
public final void onRendererEnabled(Renderer renderer) throws ExoPlaybackException {
MediaClock mediaClock;
MediaClock mediaClock2 = renderer.getMediaClock();
if (mediaClock2 == null || mediaClock2 == (mediaClock = this.rendererClock)) {
return;
}
if (mediaClock != null) {
throw ExoPlaybackException.createForUnexpected(new IllegalStateException("Multiple renderer media clocks enabled."));
}
this.rendererClock = mediaClock2;
this.rendererClockSource = renderer;
mediaClock2.setPlaybackParameters(this.standaloneMediaClock.getPlaybackParameters());
ensureSynced();
}
public final long syncAndGetPositionUs() {
if (isUsingRendererClock()) {
ensureSynced();
return this.rendererClock.getPositionUs();
}
return this.standaloneMediaClock.getPositionUs();
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.util.MediaClock
public final long getPositionUs() {
if (isUsingRendererClock()) {
return this.rendererClock.getPositionUs();
}
return this.standaloneMediaClock.getPositionUs();
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.util.MediaClock
public final PlaybackParameters setPlaybackParameters(PlaybackParameters playbackParameters) {
MediaClock mediaClock = this.rendererClock;
if (mediaClock != null) {
playbackParameters = mediaClock.setPlaybackParameters(playbackParameters);
}
this.standaloneMediaClock.setPlaybackParameters(playbackParameters);
this.listener.onPlaybackParametersChanged(playbackParameters);
return playbackParameters;
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.util.MediaClock
public final PlaybackParameters getPlaybackParameters() {
MediaClock mediaClock = this.rendererClock;
if (mediaClock != null) {
return mediaClock.getPlaybackParameters();
}
return this.standaloneMediaClock.getPlaybackParameters();
}
private void ensureSynced() {
this.standaloneMediaClock.resetPosition(this.rendererClock.getPositionUs());
PlaybackParameters playbackParameters = this.rendererClock.getPlaybackParameters();
if (playbackParameters.equals(this.standaloneMediaClock.getPlaybackParameters())) {
return;
}
this.standaloneMediaClock.setPlaybackParameters(playbackParameters);
this.listener.onPlaybackParametersChanged(playbackParameters);
}
private boolean isUsingRendererClock() {
Renderer renderer = this.rendererClockSource;
return (renderer == null || renderer.isEnded() || (!this.rendererClockSource.isReady() && this.rendererClockSource.hasReadStreamToEnd())) ? false : true;
}
}