@Override public void clearVideoSurface() { verifyApplicationThread(); setVideoSurface(null); }
@Override public void clearVideoSurfaceHolder(SurfaceHolder surfaceHolder) { verifyApplicationThread(); if (surfaceHolder != null && surfaceHolder == this.surfaceHolder) { setVideoSurfaceHolder(null); } }
@Override public void clearVideoTextureView(TextureView textureView) { verifyApplicationThread(); if (textureView != null && textureView == this.textureView) { setVideoTextureView(null); } }
@Override public void setSeekParameters(@Nullable SeekParameters seekParameters) { verifyApplicationThread(); player.setSeekParameters(seekParameters); }
@Override public SeekParameters getSeekParameters() { verifyApplicationThread(); return player.getSeekParameters(); }
@Override public PlayerMessage createMessage(PlayerMessage.Target target) { verifyApplicationThread(); return player.createMessage(target); }
@Override public long getTotalBufferedDuration() { verifyApplicationThread(); return player.getTotalBufferedDuration(); }
@Override public int getCurrentAdGroupIndex() { verifyApplicationThread(); return player.getCurrentAdGroupIndex(); }
@Override public void clearVideoSurface(Surface surface) { verifyApplicationThread(); if (surface != null && surface == this.surface) { setVideoSurface(null); } }
@Override public @Nullable ExoPlaybackException getPlaybackError() { verifyApplicationThread(); return player.getPlaybackError(); }
@Override public void setRepeatMode(@RepeatMode int repeatMode) { verifyApplicationThread(); player.setRepeatMode(repeatMode); }
@Override public void setShuffleModeEnabled(boolean shuffleModeEnabled) { verifyApplicationThread(); player.setShuffleModeEnabled(shuffleModeEnabled); }
@Override public boolean isLoading() { verifyApplicationThread(); return player.isLoading(); }
@Override public int getRendererCount() { verifyApplicationThread(); return player.getRendererCount(); }
@Override public long getCurrentPosition() { verifyApplicationThread(); return player.getCurrentPosition(); }
/** * Adds an {@link AnalyticsListener} to receive analytics events. * * @param listener The listener to be added. */ public void addAnalyticsListener(AnalyticsListener listener) { verifyApplicationThread(); analyticsCollector.addListener(listener); }
/** * Removes an {@link AnalyticsListener}. * * @param listener The listener to be removed. */ public void removeAnalyticsListener(AnalyticsListener listener) { verifyApplicationThread(); analyticsCollector.removeListener(listener); }
@Override public int getRendererType(int index) { verifyApplicationThread(); return player.getRendererType(index); }
@Override public long getBufferedPosition() { verifyApplicationThread(); return player.getBufferedPosition(); }
@Override public void setPlayWhenReady(boolean playWhenReady) { verifyApplicationThread(); @AudioFocusManager.PlayerCommand int playerCommand = audioFocusManager.handleSetPlayWhenReady(playWhenReady, getPlaybackState()); updatePlayWhenReady(playWhenReady, playerCommand); }