Files
rr3-apk/decompiled-community/sources/com/mbridge/msdk/playercommon/exoplayer2/SimpleExoPlayer.java
Daniel Elliott c080f0d97f Add Discord community version (64-bit only)
- Added realracing3-community.apk (71.57 MB)
- Removed 32-bit support (armeabi-v7a)
- Only includes arm64-v8a libraries
- Decompiled source code included
- Added README-community.md with analysis
2026-02-18 15:48:36 -08:00

932 lines
37 KiB
Java

package com.mbridge.msdk.playercommon.exoplayer2;
import android.annotation.TargetApi;
import android.graphics.SurfaceTexture;
import android.media.PlaybackParams;
import android.os.Handler;
import android.os.Looper;
import android.util.Log;
import android.view.Surface;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.view.TextureView;
import androidx.annotation.Nullable;
import com.mbridge.msdk.playercommon.exoplayer2.ExoPlayer;
import com.mbridge.msdk.playercommon.exoplayer2.Player;
import com.mbridge.msdk.playercommon.exoplayer2.PlayerMessage;
import com.mbridge.msdk.playercommon.exoplayer2.analytics.AnalyticsCollector;
import com.mbridge.msdk.playercommon.exoplayer2.analytics.AnalyticsListener;
import com.mbridge.msdk.playercommon.exoplayer2.audio.AudioAttributes;
import com.mbridge.msdk.playercommon.exoplayer2.audio.AudioRendererEventListener;
import com.mbridge.msdk.playercommon.exoplayer2.decoder.DecoderCounters;
import com.mbridge.msdk.playercommon.exoplayer2.drm.DefaultDrmSessionManager;
import com.mbridge.msdk.playercommon.exoplayer2.drm.DrmSessionManager;
import com.mbridge.msdk.playercommon.exoplayer2.drm.FrameworkMediaCrypto;
import com.mbridge.msdk.playercommon.exoplayer2.metadata.Metadata;
import com.mbridge.msdk.playercommon.exoplayer2.metadata.MetadataOutput;
import com.mbridge.msdk.playercommon.exoplayer2.source.MediaSource;
import com.mbridge.msdk.playercommon.exoplayer2.source.TrackGroupArray;
import com.mbridge.msdk.playercommon.exoplayer2.text.Cue;
import com.mbridge.msdk.playercommon.exoplayer2.text.TextOutput;
import com.mbridge.msdk.playercommon.exoplayer2.trackselection.TrackSelectionArray;
import com.mbridge.msdk.playercommon.exoplayer2.trackselection.TrackSelector;
import com.mbridge.msdk.playercommon.exoplayer2.util.Clock;
import com.mbridge.msdk.playercommon.exoplayer2.util.Util;
import com.mbridge.msdk.playercommon.exoplayer2.video.VideoRendererEventListener;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.concurrent.CopyOnWriteArraySet;
import java.util.concurrent.TimeoutException;
@TargetApi(16)
/* loaded from: classes4.dex */
public class SimpleExoPlayer implements ExoPlayer, Player.TextComponent, Player.VideoComponent {
private static final String TAG = "SimpleExoPlayer";
private final AnalyticsCollector analyticsCollector;
private AudioAttributes audioAttributes;
private final CopyOnWriteArraySet<AudioRendererEventListener> audioDebugListeners;
private DecoderCounters audioDecoderCounters;
private Format audioFormat;
private int audioSessionId;
private float audioVolume;
private final ComponentListener componentListener;
private List<Cue> currentCues;
private final Handler eventHandler;
private MediaSource mediaSource;
private final CopyOnWriteArraySet<MetadataOutput> metadataOutputs;
private boolean ownsSurface;
private final ExoPlayer player;
protected final Renderer[] renderers;
private Surface surface;
private SurfaceHolder surfaceHolder;
private final CopyOnWriteArraySet<TextOutput> textOutputs;
private TextureView textureView;
private final CopyOnWriteArraySet<VideoRendererEventListener> videoDebugListeners;
private DecoderCounters videoDecoderCounters;
private Format videoFormat;
private final CopyOnWriteArraySet<com.mbridge.msdk.playercommon.exoplayer2.video.VideoListener> videoListeners;
private int videoScalingMode;
@Deprecated
public interface VideoListener extends com.mbridge.msdk.playercommon.exoplayer2.video.VideoListener {
}
public AnalyticsCollector getAnalyticsCollector() {
return this.analyticsCollector;
}
public AudioAttributes getAudioAttributes() {
return this.audioAttributes;
}
public DecoderCounters getAudioDecoderCounters() {
return this.audioDecoderCounters;
}
public Format getAudioFormat() {
return this.audioFormat;
}
public int getAudioSessionId() {
return this.audioSessionId;
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player
public Player.TextComponent getTextComponent() {
return this;
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player
public Player.VideoComponent getVideoComponent() {
return this;
}
public DecoderCounters getVideoDecoderCounters() {
return this.videoDecoderCounters;
}
public Format getVideoFormat() {
return this.videoFormat;
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player.VideoComponent
public int getVideoScalingMode() {
return this.videoScalingMode;
}
public float getVolume() {
return this.audioVolume;
}
public SimpleExoPlayer(RenderersFactory renderersFactory, TrackSelector trackSelector, LoadControl loadControl, @Nullable DrmSessionManager<FrameworkMediaCrypto> drmSessionManager) {
this(renderersFactory, trackSelector, loadControl, drmSessionManager, new AnalyticsCollector.Factory());
}
public SimpleExoPlayer(RenderersFactory renderersFactory, TrackSelector trackSelector, LoadControl loadControl, @Nullable DrmSessionManager<FrameworkMediaCrypto> drmSessionManager, AnalyticsCollector.Factory factory) {
this(renderersFactory, trackSelector, loadControl, drmSessionManager, factory, Clock.DEFAULT);
}
public SimpleExoPlayer(RenderersFactory renderersFactory, TrackSelector trackSelector, LoadControl loadControl, @Nullable DrmSessionManager<FrameworkMediaCrypto> drmSessionManager, AnalyticsCollector.Factory factory, Clock clock) {
ComponentListener componentListener = new ComponentListener();
this.componentListener = componentListener;
this.videoListeners = new CopyOnWriteArraySet<>();
this.textOutputs = new CopyOnWriteArraySet<>();
this.metadataOutputs = new CopyOnWriteArraySet<>();
CopyOnWriteArraySet<VideoRendererEventListener> copyOnWriteArraySet = new CopyOnWriteArraySet<>();
this.videoDebugListeners = copyOnWriteArraySet;
CopyOnWriteArraySet<AudioRendererEventListener> copyOnWriteArraySet2 = new CopyOnWriteArraySet<>();
this.audioDebugListeners = copyOnWriteArraySet2;
Handler handler = new Handler(Looper.myLooper() != null ? Looper.myLooper() : Looper.getMainLooper());
this.eventHandler = handler;
Renderer[] createRenderers = renderersFactory.createRenderers(handler, componentListener, componentListener, componentListener, componentListener, drmSessionManager);
this.renderers = createRenderers;
this.audioVolume = 1.0f;
this.audioSessionId = 0;
this.audioAttributes = AudioAttributes.DEFAULT;
this.videoScalingMode = 1;
this.currentCues = Collections.emptyList();
ExoPlayer createExoPlayerImpl = createExoPlayerImpl(createRenderers, trackSelector, loadControl, clock);
this.player = createExoPlayerImpl;
AnalyticsCollector createAnalyticsCollector = factory.createAnalyticsCollector(createExoPlayerImpl, clock);
this.analyticsCollector = createAnalyticsCollector;
addListener(createAnalyticsCollector);
copyOnWriteArraySet.add(createAnalyticsCollector);
copyOnWriteArraySet2.add(createAnalyticsCollector);
addMetadataOutput(createAnalyticsCollector);
if (drmSessionManager instanceof DefaultDrmSessionManager) {
((DefaultDrmSessionManager) drmSessionManager).addListener(handler, createAnalyticsCollector);
}
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player.VideoComponent
public void setVideoScalingMode(int i) {
this.videoScalingMode = i;
for (Renderer renderer : this.renderers) {
if (renderer.getTrackType() == 2) {
this.player.createMessage(renderer).setType(4).setPayload(Integer.valueOf(i)).send();
}
}
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player.VideoComponent
public void clearVideoSurface() {
setVideoSurface(null);
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player.VideoComponent
public void setVideoSurface(Surface surface) {
removeSurfaceCallbacks();
setVideoSurfaceInternal(surface, false);
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player.VideoComponent
public void clearVideoSurface(Surface surface) {
if (surface == null || surface != this.surface) {
return;
}
setVideoSurface(null);
}
/* JADX WARN: Code restructure failed: missing block: B:6:0x0017, code lost:
if (r2.isValid() != false) goto L11;
*/
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player.VideoComponent
/*
Code decompiled incorrectly, please refer to instructions dump.
To view partially-correct add '--show-bad-code' argument
*/
public void setVideoSurfaceHolder(android.view.SurfaceHolder r2) {
/*
r1 = this;
r1.removeSurfaceCallbacks()
r1.surfaceHolder = r2
if (r2 != 0) goto L8
goto L1a
L8:
com.mbridge.msdk.playercommon.exoplayer2.SimpleExoPlayer$ComponentListener r0 = r1.componentListener
r2.addCallback(r0)
android.view.Surface r2 = r2.getSurface()
if (r2 == 0) goto L1a
boolean r0 = r2.isValid()
if (r0 == 0) goto L1a
goto L1b
L1a:
r2 = 0
L1b:
r0 = 0
r1.setVideoSurfaceInternal(r2, r0)
return
*/
throw new UnsupportedOperationException("Method not decompiled: com.mbridge.msdk.playercommon.exoplayer2.SimpleExoPlayer.setVideoSurfaceHolder(android.view.SurfaceHolder):void");
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player.VideoComponent
public void clearVideoSurfaceHolder(SurfaceHolder surfaceHolder) {
if (surfaceHolder == null || surfaceHolder != this.surfaceHolder) {
return;
}
setVideoSurfaceHolder(null);
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player.VideoComponent
public void setVideoSurfaceView(SurfaceView surfaceView) {
setVideoSurfaceHolder(surfaceView == null ? null : surfaceView.getHolder());
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player.VideoComponent
public void clearVideoSurfaceView(SurfaceView surfaceView) {
clearVideoSurfaceHolder(surfaceView == null ? null : surfaceView.getHolder());
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player.VideoComponent
public void setVideoTextureView(TextureView textureView) {
removeSurfaceCallbacks();
this.textureView = textureView;
Surface surface = null;
if (textureView != null) {
if (textureView.getSurfaceTextureListener() != null) {
Log.w(TAG, "Replacing existing SurfaceTextureListener.");
}
textureView.setSurfaceTextureListener(this.componentListener);
SurfaceTexture surfaceTexture = textureView.isAvailable() ? textureView.getSurfaceTexture() : null;
if (surfaceTexture != null) {
surface = new Surface(surfaceTexture);
}
}
setVideoSurfaceInternal(surface, true);
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player.VideoComponent
public void clearVideoTextureView(TextureView textureView) {
if (textureView == null || textureView != this.textureView) {
return;
}
setVideoTextureView(null);
}
@Deprecated
public void setAudioStreamType(int i) {
int audioUsageForStreamType = Util.getAudioUsageForStreamType(i);
setAudioAttributes(new AudioAttributes.Builder().setUsage(audioUsageForStreamType).setContentType(Util.getAudioContentTypeForStreamType(i)).build());
}
@Deprecated
public int getAudioStreamType() {
return Util.getStreamTypeForAudioUsage(this.audioAttributes.usage);
}
public void addAnalyticsListener(AnalyticsListener analyticsListener) {
this.analyticsCollector.addListener(analyticsListener);
}
public void removeAnalyticsListener(AnalyticsListener analyticsListener) {
this.analyticsCollector.removeListener(analyticsListener);
}
public void setAudioAttributes(AudioAttributes audioAttributes) {
this.audioAttributes = audioAttributes;
for (Renderer renderer : this.renderers) {
if (renderer.getTrackType() == 1) {
this.player.createMessage(renderer).setType(3).setPayload(audioAttributes).send();
}
}
}
public void setVolume(float f) {
this.audioVolume = f;
for (Renderer renderer : this.renderers) {
if (renderer.getTrackType() == 1) {
this.player.createMessage(renderer).setType(2).setPayload(Float.valueOf(f)).send();
}
}
}
@TargetApi(23)
@Deprecated
public void setPlaybackParams(@Nullable PlaybackParams playbackParams) {
PlaybackParameters playbackParameters;
if (playbackParams != null) {
playbackParams.allowDefaults();
playbackParameters = new PlaybackParameters(playbackParams.getSpeed(), playbackParams.getPitch());
} else {
playbackParameters = null;
}
setPlaybackParameters(playbackParameters);
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player.VideoComponent
public void addVideoListener(com.mbridge.msdk.playercommon.exoplayer2.video.VideoListener videoListener) {
this.videoListeners.add(videoListener);
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player.VideoComponent
public void removeVideoListener(com.mbridge.msdk.playercommon.exoplayer2.video.VideoListener videoListener) {
this.videoListeners.remove(videoListener);
}
@Deprecated
public void setVideoListener(VideoListener videoListener) {
this.videoListeners.clear();
if (videoListener != null) {
addVideoListener(videoListener);
}
}
@Deprecated
public void clearVideoListener(VideoListener videoListener) {
removeVideoListener(videoListener);
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player.TextComponent
public void addTextOutput(TextOutput textOutput) {
if (!this.currentCues.isEmpty()) {
textOutput.onCues(this.currentCues);
}
this.textOutputs.add(textOutput);
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player.TextComponent
public void removeTextOutput(TextOutput textOutput) {
this.textOutputs.remove(textOutput);
}
@Deprecated
public void setTextOutput(TextOutput textOutput) {
this.textOutputs.clear();
if (textOutput != null) {
addTextOutput(textOutput);
}
}
@Deprecated
public void clearTextOutput(TextOutput textOutput) {
removeTextOutput(textOutput);
}
public void addMetadataOutput(MetadataOutput metadataOutput) {
this.metadataOutputs.add(metadataOutput);
}
public void removeMetadataOutput(MetadataOutput metadataOutput) {
this.metadataOutputs.remove(metadataOutput);
}
@Deprecated
public void setMetadataOutput(MetadataOutput metadataOutput) {
this.metadataOutputs.retainAll(Collections.singleton(this.analyticsCollector));
if (metadataOutput != null) {
addMetadataOutput(metadataOutput);
}
}
@Deprecated
public void clearMetadataOutput(MetadataOutput metadataOutput) {
removeMetadataOutput(metadataOutput);
}
@Deprecated
public void setVideoDebugListener(VideoRendererEventListener videoRendererEventListener) {
this.videoDebugListeners.retainAll(Collections.singleton(this.analyticsCollector));
if (videoRendererEventListener != null) {
addVideoDebugListener(videoRendererEventListener);
}
}
@Deprecated
public void addVideoDebugListener(VideoRendererEventListener videoRendererEventListener) {
this.videoDebugListeners.add(videoRendererEventListener);
}
@Deprecated
public void removeVideoDebugListener(VideoRendererEventListener videoRendererEventListener) {
this.videoDebugListeners.remove(videoRendererEventListener);
}
@Deprecated
public void setAudioDebugListener(AudioRendererEventListener audioRendererEventListener) {
this.audioDebugListeners.retainAll(Collections.singleton(this.analyticsCollector));
if (audioRendererEventListener != null) {
addAudioDebugListener(audioRendererEventListener);
}
}
@Deprecated
public void addAudioDebugListener(AudioRendererEventListener audioRendererEventListener) {
this.audioDebugListeners.add(audioRendererEventListener);
}
@Deprecated
public void removeAudioDebugListener(AudioRendererEventListener audioRendererEventListener) {
this.audioDebugListeners.remove(audioRendererEventListener);
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.ExoPlayer
public Looper getPlaybackLooper() {
return this.player.getPlaybackLooper();
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player
public void addListener(Player.EventListener eventListener) {
this.player.addListener(eventListener);
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player
public void removeListener(Player.EventListener eventListener) {
this.player.removeListener(eventListener);
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player
public int getPlaybackState() {
return this.player.getPlaybackState();
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player
public ExoPlaybackException getPlaybackError() {
return this.player.getPlaybackError();
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.ExoPlayer
public void prepare(MediaSource mediaSource) {
prepare(mediaSource, true, true);
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.ExoPlayer
public void prepare(MediaSource mediaSource, boolean z, boolean z2) {
MediaSource mediaSource2 = this.mediaSource;
if (mediaSource2 != mediaSource) {
if (mediaSource2 != null) {
mediaSource2.removeEventListener(this.analyticsCollector);
this.analyticsCollector.resetForNewMediaSource();
}
mediaSource.addEventListener(this.eventHandler, this.analyticsCollector);
this.mediaSource = mediaSource;
}
this.player.prepare(mediaSource, z, z2);
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player
public void setPlayWhenReady(boolean z) {
this.player.setPlayWhenReady(z);
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player
public boolean getPlayWhenReady() {
return this.player.getPlayWhenReady();
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player
public int getRepeatMode() {
return this.player.getRepeatMode();
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player
public void setRepeatMode(int i) {
this.player.setRepeatMode(i);
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player
public void setShuffleModeEnabled(boolean z) {
this.player.setShuffleModeEnabled(z);
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player
public boolean getShuffleModeEnabled() {
return this.player.getShuffleModeEnabled();
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player
public boolean isLoading() {
return this.player.isLoading();
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player
public void seekToDefaultPosition() {
this.analyticsCollector.notifySeekStarted();
this.player.seekToDefaultPosition();
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player
public void seekToDefaultPosition(int i) {
this.analyticsCollector.notifySeekStarted();
this.player.seekToDefaultPosition(i);
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player
public void seekTo(long j) {
this.analyticsCollector.notifySeekStarted();
this.player.seekTo(j);
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player
public void seekTo(int i, long j) {
this.analyticsCollector.notifySeekStarted();
this.player.seekTo(i, j);
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player
public void setPlaybackParameters(@Nullable PlaybackParameters playbackParameters) {
this.player.setPlaybackParameters(playbackParameters);
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player
public PlaybackParameters getPlaybackParameters() {
return this.player.getPlaybackParameters();
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.ExoPlayer
public void setSeekParameters(@Nullable SeekParameters seekParameters) {
this.player.setSeekParameters(seekParameters);
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player
@Nullable
public Object getCurrentTag() {
return this.player.getCurrentTag();
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player
public void stop() {
stop(false);
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player
public void stop(boolean z) {
this.player.stop(z);
MediaSource mediaSource = this.mediaSource;
if (mediaSource != null) {
mediaSource.removeEventListener(this.analyticsCollector);
this.mediaSource = null;
this.analyticsCollector.resetForNewMediaSource();
}
this.currentCues = Collections.emptyList();
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player
public void release() {
this.player.release();
removeSurfaceCallbacks();
Surface surface = this.surface;
if (surface != null) {
if (this.ownsSurface) {
surface.release();
}
this.surface = null;
}
MediaSource mediaSource = this.mediaSource;
if (mediaSource != null) {
mediaSource.removeEventListener(this.analyticsCollector);
}
this.currentCues = Collections.emptyList();
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.ExoPlayer
public void sendMessages(ExoPlayer.ExoPlayerMessage... exoPlayerMessageArr) {
this.player.sendMessages(exoPlayerMessageArr);
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.ExoPlayer
public PlayerMessage createMessage(PlayerMessage.Target target) {
return this.player.createMessage(target);
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.ExoPlayer
public void blockingSendMessages(ExoPlayer.ExoPlayerMessage... exoPlayerMessageArr) {
this.player.blockingSendMessages(exoPlayerMessageArr);
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player
public int getRendererCount() {
return this.player.getRendererCount();
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player
public int getRendererType(int i) {
return this.player.getRendererType(i);
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player
public TrackGroupArray getCurrentTrackGroups() {
return this.player.getCurrentTrackGroups();
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player
public TrackSelectionArray getCurrentTrackSelections() {
return this.player.getCurrentTrackSelections();
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player
public Timeline getCurrentTimeline() {
return this.player.getCurrentTimeline();
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player
public Object getCurrentManifest() {
return this.player.getCurrentManifest();
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player
public int getCurrentPeriodIndex() {
return this.player.getCurrentPeriodIndex();
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player
public int getCurrentWindowIndex() {
return this.player.getCurrentWindowIndex();
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player
public int getNextWindowIndex() {
return this.player.getNextWindowIndex();
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player
public int getPreviousWindowIndex() {
return this.player.getPreviousWindowIndex();
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player
public long getDuration() {
return this.player.getDuration();
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player
public long getCurrentPosition() {
return this.player.getCurrentPosition();
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player
public long getBufferedPosition() {
return this.player.getBufferedPosition();
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player
public int getBufferedPercentage() {
return this.player.getBufferedPercentage();
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player
public boolean isCurrentWindowDynamic() {
return this.player.isCurrentWindowDynamic();
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player
public boolean isCurrentWindowSeekable() {
return this.player.isCurrentWindowSeekable();
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player
public boolean isPlayingAd() {
return this.player.isPlayingAd();
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player
public int getCurrentAdGroupIndex() {
return this.player.getCurrentAdGroupIndex();
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player
public int getCurrentAdIndexInAdGroup() {
return this.player.getCurrentAdIndexInAdGroup();
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.Player
public long getContentPosition() {
return this.player.getContentPosition();
}
public ExoPlayer createExoPlayerImpl(Renderer[] rendererArr, TrackSelector trackSelector, LoadControl loadControl, Clock clock) {
return new ExoPlayerImpl(rendererArr, trackSelector, loadControl, clock);
}
private void removeSurfaceCallbacks() {
TextureView textureView = this.textureView;
if (textureView != null) {
if (textureView.getSurfaceTextureListener() != this.componentListener) {
Log.w(TAG, "SurfaceTextureListener already unset or replaced.");
} else {
this.textureView.setSurfaceTextureListener(null);
}
this.textureView = null;
}
SurfaceHolder surfaceHolder = this.surfaceHolder;
if (surfaceHolder != null) {
surfaceHolder.removeCallback(this.componentListener);
this.surfaceHolder = null;
}
}
/* JADX INFO: Access modifiers changed from: private */
public void setVideoSurfaceInternal(Surface surface, boolean z) {
ArrayList arrayList = new ArrayList();
for (Renderer renderer : this.renderers) {
if (renderer.getTrackType() == 2) {
arrayList.add(this.player.createMessage(renderer).setType(1).setPayload(surface).send());
}
}
Surface surface2 = this.surface;
if (surface2 != null && surface2 != surface) {
try {
Iterator it = arrayList.iterator();
while (it.hasNext()) {
((PlayerMessage) it.next()).blockUntilDelivered();
}
} catch (InterruptedException unused) {
Thread.currentThread().interrupt();
} catch (TimeoutException unused2) {
this.player.stop(false);
}
if (this.ownsSurface) {
this.surface.release();
}
}
this.surface = surface;
this.ownsSurface = z;
}
public final class ComponentListener implements SurfaceHolder.Callback, TextureView.SurfaceTextureListener, AudioRendererEventListener, MetadataOutput, TextOutput, VideoRendererEventListener {
@Override // android.view.TextureView.SurfaceTextureListener
public final void onSurfaceTextureSizeChanged(SurfaceTexture surfaceTexture, int i, int i2) {
}
@Override // android.view.TextureView.SurfaceTextureListener
public final void onSurfaceTextureUpdated(SurfaceTexture surfaceTexture) {
}
@Override // android.view.SurfaceHolder.Callback
public final void surfaceChanged(SurfaceHolder surfaceHolder, int i, int i2, int i3) {
}
private ComponentListener() {
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.video.VideoRendererEventListener
public final void onVideoEnabled(DecoderCounters decoderCounters) {
SimpleExoPlayer.this.videoDecoderCounters = decoderCounters;
Iterator it = SimpleExoPlayer.this.videoDebugListeners.iterator();
while (it.hasNext()) {
((VideoRendererEventListener) it.next()).onVideoEnabled(decoderCounters);
}
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.video.VideoRendererEventListener
public final void onVideoDecoderInitialized(String str, long j, long j2) {
Iterator it = SimpleExoPlayer.this.videoDebugListeners.iterator();
while (it.hasNext()) {
((VideoRendererEventListener) it.next()).onVideoDecoderInitialized(str, j, j2);
}
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.video.VideoRendererEventListener
public final void onVideoInputFormatChanged(Format format) {
SimpleExoPlayer.this.videoFormat = format;
Iterator it = SimpleExoPlayer.this.videoDebugListeners.iterator();
while (it.hasNext()) {
((VideoRendererEventListener) it.next()).onVideoInputFormatChanged(format);
}
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.video.VideoRendererEventListener
public final void onDroppedFrames(int i, long j) {
Iterator it = SimpleExoPlayer.this.videoDebugListeners.iterator();
while (it.hasNext()) {
((VideoRendererEventListener) it.next()).onDroppedFrames(i, j);
}
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.video.VideoRendererEventListener
public final void onVideoSizeChanged(int i, int i2, int i3, float f) {
Iterator it = SimpleExoPlayer.this.videoListeners.iterator();
while (it.hasNext()) {
((com.mbridge.msdk.playercommon.exoplayer2.video.VideoListener) it.next()).onVideoSizeChanged(i, i2, i3, f);
}
Iterator it2 = SimpleExoPlayer.this.videoDebugListeners.iterator();
while (it2.hasNext()) {
((VideoRendererEventListener) it2.next()).onVideoSizeChanged(i, i2, i3, f);
}
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.video.VideoRendererEventListener
public final void onRenderedFirstFrame(Surface surface) {
if (SimpleExoPlayer.this.surface == surface) {
Iterator it = SimpleExoPlayer.this.videoListeners.iterator();
while (it.hasNext()) {
((com.mbridge.msdk.playercommon.exoplayer2.video.VideoListener) it.next()).onRenderedFirstFrame();
}
}
Iterator it2 = SimpleExoPlayer.this.videoDebugListeners.iterator();
while (it2.hasNext()) {
((VideoRendererEventListener) it2.next()).onRenderedFirstFrame(surface);
}
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.video.VideoRendererEventListener
public final void onVideoDisabled(DecoderCounters decoderCounters) {
Iterator it = SimpleExoPlayer.this.videoDebugListeners.iterator();
while (it.hasNext()) {
((VideoRendererEventListener) it.next()).onVideoDisabled(decoderCounters);
}
SimpleExoPlayer.this.videoFormat = null;
SimpleExoPlayer.this.videoDecoderCounters = null;
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.audio.AudioRendererEventListener
public final void onAudioEnabled(DecoderCounters decoderCounters) {
SimpleExoPlayer.this.audioDecoderCounters = decoderCounters;
Iterator it = SimpleExoPlayer.this.audioDebugListeners.iterator();
while (it.hasNext()) {
((AudioRendererEventListener) it.next()).onAudioEnabled(decoderCounters);
}
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.audio.AudioRendererEventListener
public final void onAudioSessionId(int i) {
SimpleExoPlayer.this.audioSessionId = i;
Iterator it = SimpleExoPlayer.this.audioDebugListeners.iterator();
while (it.hasNext()) {
((AudioRendererEventListener) it.next()).onAudioSessionId(i);
}
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.audio.AudioRendererEventListener
public final void onAudioDecoderInitialized(String str, long j, long j2) {
Iterator it = SimpleExoPlayer.this.audioDebugListeners.iterator();
while (it.hasNext()) {
((AudioRendererEventListener) it.next()).onAudioDecoderInitialized(str, j, j2);
}
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.audio.AudioRendererEventListener
public final void onAudioInputFormatChanged(Format format) {
SimpleExoPlayer.this.audioFormat = format;
Iterator it = SimpleExoPlayer.this.audioDebugListeners.iterator();
while (it.hasNext()) {
((AudioRendererEventListener) it.next()).onAudioInputFormatChanged(format);
}
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.audio.AudioRendererEventListener
public final void onAudioSinkUnderrun(int i, long j, long j2) {
Iterator it = SimpleExoPlayer.this.audioDebugListeners.iterator();
while (it.hasNext()) {
((AudioRendererEventListener) it.next()).onAudioSinkUnderrun(i, j, j2);
}
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.audio.AudioRendererEventListener
public final void onAudioDisabled(DecoderCounters decoderCounters) {
Iterator it = SimpleExoPlayer.this.audioDebugListeners.iterator();
while (it.hasNext()) {
((AudioRendererEventListener) it.next()).onAudioDisabled(decoderCounters);
}
SimpleExoPlayer.this.audioFormat = null;
SimpleExoPlayer.this.audioDecoderCounters = null;
SimpleExoPlayer.this.audioSessionId = 0;
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.text.TextOutput
public final void onCues(List<Cue> list) {
SimpleExoPlayer.this.currentCues = list;
Iterator it = SimpleExoPlayer.this.textOutputs.iterator();
while (it.hasNext()) {
((TextOutput) it.next()).onCues(list);
}
}
@Override // com.mbridge.msdk.playercommon.exoplayer2.metadata.MetadataOutput
public final void onMetadata(Metadata metadata) {
Iterator it = SimpleExoPlayer.this.metadataOutputs.iterator();
while (it.hasNext()) {
((MetadataOutput) it.next()).onMetadata(metadata);
}
}
@Override // android.view.SurfaceHolder.Callback
public final void surfaceCreated(SurfaceHolder surfaceHolder) {
SimpleExoPlayer.this.setVideoSurfaceInternal(surfaceHolder.getSurface(), false);
}
@Override // android.view.SurfaceHolder.Callback
public final void surfaceDestroyed(SurfaceHolder surfaceHolder) {
SimpleExoPlayer.this.setVideoSurfaceInternal(null, false);
}
@Override // android.view.TextureView.SurfaceTextureListener
public final void onSurfaceTextureAvailable(SurfaceTexture surfaceTexture, int i, int i2) {
SimpleExoPlayer.this.setVideoSurfaceInternal(new Surface(surfaceTexture), true);
}
@Override // android.view.TextureView.SurfaceTextureListener
public final boolean onSurfaceTextureDestroyed(SurfaceTexture surfaceTexture) {
SimpleExoPlayer.this.setVideoSurfaceInternal(null, true);
return true;
}
}
public final boolean isPlaying() {
return getPlaybackState() == 3 && getPlayWhenReady();
}
}