mirror of
https://github.com/androidx/media.git
synced 2025-05-04 06:00:37 +08:00
Reorder SimpleExoPlayer constructor calls.
We currently call the old (deprecated) from the new one and not the other way round. Also remove a duplicated method. PiperOrigin-RevId: 309702752
This commit is contained in:
parent
bb744e5f9b
commit
3100f5938d
@ -388,40 +388,8 @@ public class SimpleExoPlayer extends BasePlayer
|
|||||||
private boolean playerReleased;
|
private boolean playerReleased;
|
||||||
private DeviceInfo deviceInfo;
|
private DeviceInfo deviceInfo;
|
||||||
|
|
||||||
/** @param builder The {@link Builder} to obtain all construction parameters. */
|
/** @deprecated Use the {@link Builder} and pass it to {@link #SimpleExoPlayer(Builder)}. */
|
||||||
protected SimpleExoPlayer(Builder builder) {
|
@Deprecated
|
||||||
this(
|
|
||||||
builder.context,
|
|
||||||
builder.renderersFactory,
|
|
||||||
builder.trackSelector,
|
|
||||||
builder.mediaSourceFactory,
|
|
||||||
builder.loadControl,
|
|
||||||
builder.bandwidthMeter,
|
|
||||||
builder.analyticsCollector,
|
|
||||||
builder.useLazyPreparation,
|
|
||||||
builder.clock,
|
|
||||||
builder.looper);
|
|
||||||
if (builder.throwWhenStuckBuffering) {
|
|
||||||
player.experimental_throwWhenStuckBuffering();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param context A {@link Context}.
|
|
||||||
* @param renderersFactory A factory for creating {@link Renderer}s to be used by the instance.
|
|
||||||
* @param trackSelector The {@link TrackSelector} that will be used by the instance.
|
|
||||||
* @param loadControl The {@link LoadControl} that will be used by the instance.
|
|
||||||
* @param bandwidthMeter The {@link BandwidthMeter} that will be used by the instance.
|
|
||||||
* @param analyticsCollector A factory for creating the {@link AnalyticsCollector} that will
|
|
||||||
* collect and forward all player events.
|
|
||||||
* @param useLazyPreparation Whether playlist items are prepared lazily. If false, all manifest
|
|
||||||
* loads and other initial preparation steps happen immediately. If true, these initial
|
|
||||||
* preparations are triggered only when the player starts buffering the media.
|
|
||||||
* @param clock The {@link Clock} that will be used by the instance. Should always be {@link
|
|
||||||
* Clock#DEFAULT}, unless the player is being used from a test.
|
|
||||||
* @param applicationLooper The {@link Looper} which must be used for all calls to the player and
|
|
||||||
* which is used to call listeners on.
|
|
||||||
*/
|
|
||||||
protected SimpleExoPlayer(
|
protected SimpleExoPlayer(
|
||||||
Context context,
|
Context context,
|
||||||
RenderersFactory renderersFactory,
|
RenderersFactory renderersFactory,
|
||||||
@ -433,8 +401,22 @@ public class SimpleExoPlayer extends BasePlayer
|
|||||||
boolean useLazyPreparation,
|
boolean useLazyPreparation,
|
||||||
Clock clock,
|
Clock clock,
|
||||||
Looper applicationLooper) {
|
Looper applicationLooper) {
|
||||||
this.bandwidthMeter = bandwidthMeter;
|
this(
|
||||||
this.analyticsCollector = analyticsCollector;
|
new Builder(context, renderersFactory)
|
||||||
|
.setTrackSelector(trackSelector)
|
||||||
|
.setMediaSourceFactory(mediaSourceFactory)
|
||||||
|
.setLoadControl(loadControl)
|
||||||
|
.setBandwidthMeter(bandwidthMeter)
|
||||||
|
.setAnalyticsCollector(analyticsCollector)
|
||||||
|
.setUseLazyPreparation(useLazyPreparation)
|
||||||
|
.setClock(clock)
|
||||||
|
.setLooper(applicationLooper));
|
||||||
|
}
|
||||||
|
|
||||||
|
/** @param builder The {@link Builder} to obtain all construction parameters. */
|
||||||
|
protected SimpleExoPlayer(Builder builder) {
|
||||||
|
bandwidthMeter = builder.bandwidthMeter;
|
||||||
|
analyticsCollector = builder.analyticsCollector;
|
||||||
componentListener = new ComponentListener();
|
componentListener = new ComponentListener();
|
||||||
videoListeners = new CopyOnWriteArraySet<>();
|
videoListeners = new CopyOnWriteArraySet<>();
|
||||||
audioListeners = new CopyOnWriteArraySet<>();
|
audioListeners = new CopyOnWriteArraySet<>();
|
||||||
@ -443,9 +425,9 @@ public class SimpleExoPlayer extends BasePlayer
|
|||||||
deviceListeners = new CopyOnWriteArraySet<>();
|
deviceListeners = new CopyOnWriteArraySet<>();
|
||||||
videoDebugListeners = new CopyOnWriteArraySet<>();
|
videoDebugListeners = new CopyOnWriteArraySet<>();
|
||||||
audioDebugListeners = new CopyOnWriteArraySet<>();
|
audioDebugListeners = new CopyOnWriteArraySet<>();
|
||||||
Handler eventHandler = new Handler(applicationLooper);
|
Handler eventHandler = new Handler(builder.looper);
|
||||||
renderers =
|
renderers =
|
||||||
renderersFactory.createRenderers(
|
builder.renderersFactory.createRenderers(
|
||||||
eventHandler,
|
eventHandler,
|
||||||
componentListener,
|
componentListener,
|
||||||
componentListener,
|
componentListener,
|
||||||
@ -463,14 +445,14 @@ public class SimpleExoPlayer extends BasePlayer
|
|||||||
player =
|
player =
|
||||||
new ExoPlayerImpl(
|
new ExoPlayerImpl(
|
||||||
renderers,
|
renderers,
|
||||||
trackSelector,
|
builder.trackSelector,
|
||||||
mediaSourceFactory,
|
builder.mediaSourceFactory,
|
||||||
loadControl,
|
builder.loadControl,
|
||||||
bandwidthMeter,
|
bandwidthMeter,
|
||||||
analyticsCollector,
|
analyticsCollector,
|
||||||
useLazyPreparation,
|
builder.useLazyPreparation,
|
||||||
clock,
|
builder.clock,
|
||||||
applicationLooper);
|
builder.looper);
|
||||||
analyticsCollector.setPlayer(player);
|
analyticsCollector.setPlayer(player);
|
||||||
player.addListener(analyticsCollector);
|
player.addListener(analyticsCollector);
|
||||||
player.addListener(componentListener);
|
player.addListener(componentListener);
|
||||||
@ -481,12 +463,15 @@ public class SimpleExoPlayer extends BasePlayer
|
|||||||
addMetadataOutput(analyticsCollector);
|
addMetadataOutput(analyticsCollector);
|
||||||
bandwidthMeter.addEventListener(eventHandler, analyticsCollector);
|
bandwidthMeter.addEventListener(eventHandler, analyticsCollector);
|
||||||
audioBecomingNoisyManager =
|
audioBecomingNoisyManager =
|
||||||
new AudioBecomingNoisyManager(context, eventHandler, componentListener);
|
new AudioBecomingNoisyManager(builder.context, eventHandler, componentListener);
|
||||||
audioFocusManager = new AudioFocusManager(context, eventHandler, componentListener);
|
audioFocusManager = new AudioFocusManager(builder.context, eventHandler, componentListener);
|
||||||
streamVolumeManager = new StreamVolumeManager(context, eventHandler, componentListener);
|
streamVolumeManager = new StreamVolumeManager(builder.context, eventHandler, componentListener);
|
||||||
wakeLockManager = new WakeLockManager(context);
|
wakeLockManager = new WakeLockManager(builder.context);
|
||||||
wifiLockManager = new WifiLockManager(context);
|
wifiLockManager = new WifiLockManager(builder.context);
|
||||||
deviceInfo = createDeviceInfo(streamVolumeManager);
|
deviceInfo = createDeviceInfo(streamVolumeManager);
|
||||||
|
if (builder.throwWhenStuckBuffering) {
|
||||||
|
player.experimental_throwWhenStuckBuffering();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -1032,11 +1017,6 @@ public class SimpleExoPlayer extends BasePlayer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Returns whether skipping silences in the audio stream is enabled. */
|
|
||||||
public boolean isSkipSilenceEnabled() {
|
|
||||||
return skipSilenceEnabled;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets a listener to receive video events, removing all existing listeners.
|
* Sets a listener to receive video events, removing all existing listeners.
|
||||||
*
|
*
|
||||||
|
Loading…
x
Reference in New Issue
Block a user