Add getRenderer method to ExoPlayer.
This allows access to custom renderers, for example to send messages or to access custom fields and methods. PiperOrigin-RevId: 424878963
This commit is contained in:
parent
596d98a048
commit
2521ee6d9f
@ -1135,6 +1135,15 @@ public interface ExoPlayer extends Player {
|
||||
@C.TrackType
|
||||
int getRendererType(int index);
|
||||
|
||||
/**
|
||||
* Returns the renderer at the given index.
|
||||
*
|
||||
* @param index The index of the renderer.
|
||||
* @return The renderer at this index.
|
||||
*/
|
||||
@UnstableApi
|
||||
Renderer getRenderer(int index);
|
||||
|
||||
/**
|
||||
* Returns the track selector that this player uses, or null if track selection is not supported.
|
||||
*/
|
||||
|
@ -955,6 +955,10 @@ import java.util.concurrent.CopyOnWriteArraySet;
|
||||
return renderers[index].getTrackType();
|
||||
}
|
||||
|
||||
public Renderer getRenderer(int index) {
|
||||
return renderers[index];
|
||||
}
|
||||
|
||||
public TrackSelector getTrackSelector() {
|
||||
return trackSelector;
|
||||
}
|
||||
|
@ -358,8 +358,7 @@ public class SimpleExoPlayer extends BasePlayer
|
||||
|
||||
private static final String TAG = "SimpleExoPlayer";
|
||||
|
||||
protected final Renderer[] renderers;
|
||||
|
||||
private final Renderer[] renderers;
|
||||
private final ConditionVariable constructorFinished;
|
||||
private final Context applicationContext;
|
||||
private final ExoPlayerImpl player;
|
||||
@ -1360,6 +1359,12 @@ public class SimpleExoPlayer extends BasePlayer
|
||||
return player.getRendererType(index);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Renderer getRenderer(int index) {
|
||||
verifyApplicationThread();
|
||||
return player.getRenderer(index);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TrackSelector getTrackSelector() {
|
||||
verifyApplicationThread();
|
||||
|
@ -28,6 +28,7 @@ import androidx.media3.exoplayer.DecoderCounters;
|
||||
import androidx.media3.exoplayer.ExoPlaybackException;
|
||||
import androidx.media3.exoplayer.ExoPlayer;
|
||||
import androidx.media3.exoplayer.PlayerMessage;
|
||||
import androidx.media3.exoplayer.Renderer;
|
||||
import androidx.media3.exoplayer.SeekParameters;
|
||||
import androidx.media3.exoplayer.analytics.AnalyticsCollector;
|
||||
import androidx.media3.exoplayer.analytics.AnalyticsListener;
|
||||
@ -293,6 +294,11 @@ public class StubExoPlayer extends StubPlayer implements ExoPlayer {
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Renderer getRenderer(int index) {
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
@Override
|
||||
@Nullable
|
||||
public TrackSelector getTrackSelector() {
|
||||
|
Loading…
x
Reference in New Issue
Block a user