Update internal usages of deprecated AdaptiveMediaSourceEventListener

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=177786580
This commit is contained in:
andrewlewis 2017-12-04 02:06:42 -08:00 committed by Oliver Woodman
parent fbccdf594a
commit fd938fb454
15 changed files with 170 additions and 136 deletions

View file

@ -38,7 +38,7 @@ import com.google.android.exoplayer2.metadata.id3.Id3Frame;
import com.google.android.exoplayer2.metadata.id3.PrivFrame; import com.google.android.exoplayer2.metadata.id3.PrivFrame;
import com.google.android.exoplayer2.metadata.id3.TextInformationFrame; import com.google.android.exoplayer2.metadata.id3.TextInformationFrame;
import com.google.android.exoplayer2.metadata.id3.UrlLinkFrame; import com.google.android.exoplayer2.metadata.id3.UrlLinkFrame;
import com.google.android.exoplayer2.source.AdaptiveMediaSourceEventListener; import com.google.android.exoplayer2.source.MediaSourceEventListener;
import com.google.android.exoplayer2.source.TrackGroup; import com.google.android.exoplayer2.source.TrackGroup;
import com.google.android.exoplayer2.source.TrackGroupArray; import com.google.android.exoplayer2.source.TrackGroupArray;
import com.google.android.exoplayer2.source.ads.AdsMediaSource; import com.google.android.exoplayer2.source.ads.AdsMediaSource;
@ -58,7 +58,7 @@ import java.util.Locale;
MetadataOutput, MetadataOutput,
AudioRendererEventListener, AudioRendererEventListener,
VideoRendererEventListener, VideoRendererEventListener,
AdaptiveMediaSourceEventListener, MediaSourceEventListener,
AdsMediaSource.EventListener, AdsMediaSource.EventListener,
DefaultDrmSessionManager.EventListener { DefaultDrmSessionManager.EventListener {
@ -325,12 +325,19 @@ import java.util.Locale;
Log.d(TAG, "drmKeysLoaded [" + getSessionTimeString() + "]"); Log.d(TAG, "drmKeysLoaded [" + getSessionTimeString() + "]");
} }
// AdaptiveMediaSourceEventListener // MediaSourceEventListener
@Override @Override
public void onLoadStarted(DataSpec dataSpec, int dataType, int trackType, Format trackFormat, public void onLoadStarted(
int trackSelectionReason, Object trackSelectionData, long mediaStartTimeMs, DataSpec dataSpec,
long mediaEndTimeMs, long elapsedRealtimeMs) { int dataType,
int trackType,
Format trackFormat,
int trackSelectionReason,
Object trackSelectionData,
long mediaStartTimeMs,
long mediaEndTimeMs,
long elapsedRealtimeMs) {
// Do nothing. // Do nothing.
} }
@ -371,7 +378,7 @@ import java.util.Locale;
@Override @Override
public void onAdLoadError(IOException error) { public void onAdLoadError(IOException error) {
printInternalError("loadError", error); printInternalError("adLoadError", error);
} }
@Override @Override

View file

@ -15,42 +15,10 @@
*/ */
package com.google.android.exoplayer2.source; package com.google.android.exoplayer2.source;
import android.os.Handler;
import android.support.annotation.Nullable;
/** /**
* Interface for callbacks to be notified of {@link MediaSource} events. * Interface for callbacks to be notified of {@link MediaSource} events.
* *
* @deprecated Use {@link MediaSourceEventListener} * @deprecated Use {@link MediaSourceEventListener}.
*/ */
@Deprecated @Deprecated
public interface AdaptiveMediaSourceEventListener extends MediaSourceEventListener { public interface AdaptiveMediaSourceEventListener extends MediaSourceEventListener {}
/** Dispatches events to a {@link MediaSourceEventListener}. */
final class EventDispatcher extends MediaSourceEventListener.EventDispatcher {
private final Handler handler;
private final MediaSourceEventListener listener;
public EventDispatcher(@Nullable Handler handler, @Nullable MediaSourceEventListener listener) {
this(handler, listener, 0);
}
public EventDispatcher(
@Nullable Handler handler,
@Nullable MediaSourceEventListener listener,
long mediaTimeOffsetMs) {
super(handler, listener, mediaTimeOffsetMs);
this.handler = handler;
this.listener = listener;
}
public AdaptiveMediaSourceEventListener.EventDispatcher copyWithMediaTimeOffsetMs(
long mediaTimeOffsetMs) {
return new AdaptiveMediaSourceEventListener.EventDispatcher(
handler, listener, mediaTimeOffsetMs);
}
}
}

View file

@ -25,7 +25,7 @@ import com.google.android.exoplayer2.Player;
import com.google.android.exoplayer2.extractor.DefaultExtractorsFactory; import com.google.android.exoplayer2.extractor.DefaultExtractorsFactory;
import com.google.android.exoplayer2.extractor.Extractor; import com.google.android.exoplayer2.extractor.Extractor;
import com.google.android.exoplayer2.extractor.ExtractorsFactory; import com.google.android.exoplayer2.extractor.ExtractorsFactory;
import com.google.android.exoplayer2.source.AdaptiveMediaSourceEventListener.EventDispatcher; import com.google.android.exoplayer2.source.MediaSourceEventListener.EventDispatcher;
import com.google.android.exoplayer2.upstream.Allocator; import com.google.android.exoplayer2.upstream.Allocator;
import com.google.android.exoplayer2.upstream.DataSource; import com.google.android.exoplayer2.upstream.DataSource;
import com.google.android.exoplayer2.upstream.DataSpec; import com.google.android.exoplayer2.upstream.DataSpec;

View file

@ -211,7 +211,7 @@ public interface MediaSourceEventListener {
long mediaTimeMs); long mediaTimeMs);
/** Dispatches events to a {@link MediaSourceEventListener}. */ /** Dispatches events to a {@link MediaSourceEventListener}. */
class EventDispatcher { final class EventDispatcher {
@Nullable private final Handler handler; @Nullable private final Handler handler;
@Nullable private final MediaSourceEventListener listener; @Nullable private final MediaSourceEventListener listener;
@ -230,6 +230,10 @@ public interface MediaSourceEventListener {
this.mediaTimeOffsetMs = mediaTimeOffsetMs; this.mediaTimeOffsetMs = mediaTimeOffsetMs;
} }
public EventDispatcher copyWithMediaTimeOffsetMs(long mediaTimeOffsetMs) {
return new EventDispatcher(handler, listener, mediaTimeOffsetMs);
}
public void loadStarted(DataSpec dataSpec, int dataType, long elapsedRealtimeMs) { public void loadStarted(DataSpec dataSpec, int dataType, long elapsedRealtimeMs) {
loadStarted( loadStarted(
dataSpec, dataSpec,

View file

@ -16,12 +16,11 @@
package com.google.android.exoplayer2.source.chunk; package com.google.android.exoplayer2.source.chunk;
import android.util.Log; import android.util.Log;
import com.google.android.exoplayer2.C; import com.google.android.exoplayer2.C;
import com.google.android.exoplayer2.Format; import com.google.android.exoplayer2.Format;
import com.google.android.exoplayer2.FormatHolder; import com.google.android.exoplayer2.FormatHolder;
import com.google.android.exoplayer2.decoder.DecoderInputBuffer; import com.google.android.exoplayer2.decoder.DecoderInputBuffer;
import com.google.android.exoplayer2.source.AdaptiveMediaSourceEventListener.EventDispatcher; import com.google.android.exoplayer2.source.MediaSourceEventListener.EventDispatcher;
import com.google.android.exoplayer2.source.SampleQueue; import com.google.android.exoplayer2.source.SampleQueue;
import com.google.android.exoplayer2.source.SampleStream; import com.google.android.exoplayer2.source.SampleStream;
import com.google.android.exoplayer2.source.SequenceableLoader; import com.google.android.exoplayer2.source.SequenceableLoader;

View file

@ -20,10 +20,10 @@ import android.util.Pair;
import android.util.SparseIntArray; import android.util.SparseIntArray;
import com.google.android.exoplayer2.C; import com.google.android.exoplayer2.C;
import com.google.android.exoplayer2.Format; import com.google.android.exoplayer2.Format;
import com.google.android.exoplayer2.source.AdaptiveMediaSourceEventListener.EventDispatcher;
import com.google.android.exoplayer2.source.CompositeSequenceableLoaderFactory; import com.google.android.exoplayer2.source.CompositeSequenceableLoaderFactory;
import com.google.android.exoplayer2.source.EmptySampleStream; import com.google.android.exoplayer2.source.EmptySampleStream;
import com.google.android.exoplayer2.source.MediaPeriod; import com.google.android.exoplayer2.source.MediaPeriod;
import com.google.android.exoplayer2.source.MediaSourceEventListener.EventDispatcher;
import com.google.android.exoplayer2.source.SampleStream; import com.google.android.exoplayer2.source.SampleStream;
import com.google.android.exoplayer2.source.SequenceableLoader; import com.google.android.exoplayer2.source.SequenceableLoader;
import com.google.android.exoplayer2.source.TrackGroup; import com.google.android.exoplayer2.source.TrackGroup;

View file

@ -26,12 +26,12 @@ import com.google.android.exoplayer2.ExoPlayer;
import com.google.android.exoplayer2.ExoPlayerLibraryInfo; import com.google.android.exoplayer2.ExoPlayerLibraryInfo;
import com.google.android.exoplayer2.ParserException; import com.google.android.exoplayer2.ParserException;
import com.google.android.exoplayer2.Timeline; import com.google.android.exoplayer2.Timeline;
import com.google.android.exoplayer2.source.AdaptiveMediaSourceEventListener;
import com.google.android.exoplayer2.source.AdaptiveMediaSourceEventListener.EventDispatcher;
import com.google.android.exoplayer2.source.CompositeSequenceableLoaderFactory; import com.google.android.exoplayer2.source.CompositeSequenceableLoaderFactory;
import com.google.android.exoplayer2.source.DefaultCompositeSequenceableLoaderFactory; import com.google.android.exoplayer2.source.DefaultCompositeSequenceableLoaderFactory;
import com.google.android.exoplayer2.source.MediaPeriod; import com.google.android.exoplayer2.source.MediaPeriod;
import com.google.android.exoplayer2.source.MediaSource; import com.google.android.exoplayer2.source.MediaSource;
import com.google.android.exoplayer2.source.MediaSourceEventListener;
import com.google.android.exoplayer2.source.MediaSourceEventListener.EventDispatcher;
import com.google.android.exoplayer2.source.SequenceableLoader; import com.google.android.exoplayer2.source.SequenceableLoader;
import com.google.android.exoplayer2.source.dash.manifest.DashManifest; import com.google.android.exoplayer2.source.dash.manifest.DashManifest;
import com.google.android.exoplayer2.source.dash.manifest.DashManifestParser; import com.google.android.exoplayer2.source.dash.manifest.DashManifestParser;
@ -72,7 +72,7 @@ public final class DashMediaSource implements MediaSource {
private final DashChunkSource.Factory chunkSourceFactory; private final DashChunkSource.Factory chunkSourceFactory;
private ParsingLoadable.Parser<? extends DashManifest> manifestParser; private ParsingLoadable.Parser<? extends DashManifest> manifestParser;
private AdaptiveMediaSourceEventListener eventListener; private MediaSourceEventListener eventListener;
private Handler eventHandler; private Handler eventHandler;
private CompositeSequenceableLoaderFactory compositeSequenceableLoaderFactory; private CompositeSequenceableLoaderFactory compositeSequenceableLoaderFactory;
@ -155,8 +155,7 @@ public final class DashMediaSource implements MediaSource {
* @param eventListener A listener of events. * @param eventListener A listener of events.
* @return This builder. * @return This builder.
*/ */
public Builder setEventListener(Handler eventHandler, public Builder setEventListener(Handler eventHandler, MediaSourceEventListener eventListener) {
AdaptiveMediaSourceEventListener eventListener) {
this.eventHandler = eventHandler; this.eventHandler = eventHandler;
this.eventListener = eventListener; this.eventListener = eventListener;
return this; return this;
@ -284,8 +283,11 @@ public final class DashMediaSource implements MediaSource {
* @deprecated Use {@link Builder} instead. * @deprecated Use {@link Builder} instead.
*/ */
@Deprecated @Deprecated
public DashMediaSource(DashManifest manifest, DashChunkSource.Factory chunkSourceFactory, public DashMediaSource(
Handler eventHandler, AdaptiveMediaSourceEventListener eventListener) { DashManifest manifest,
DashChunkSource.Factory chunkSourceFactory,
Handler eventHandler,
MediaSourceEventListener eventListener) {
this(manifest, chunkSourceFactory, DEFAULT_MIN_LOADABLE_RETRY_COUNT, eventHandler, this(manifest, chunkSourceFactory, DEFAULT_MIN_LOADABLE_RETRY_COUNT, eventHandler,
eventListener); eventListener);
} }
@ -301,9 +303,12 @@ public final class DashMediaSource implements MediaSource {
* @deprecated Use {@link Builder} instead. * @deprecated Use {@link Builder} instead.
*/ */
@Deprecated @Deprecated
public DashMediaSource(DashManifest manifest, DashChunkSource.Factory chunkSourceFactory, public DashMediaSource(
int minLoadableRetryCount, Handler eventHandler, AdaptiveMediaSourceEventListener DashManifest manifest,
eventListener) { DashChunkSource.Factory chunkSourceFactory,
int minLoadableRetryCount,
Handler eventHandler,
MediaSourceEventListener eventListener) {
this(manifest, null, null, null, chunkSourceFactory, this(manifest, null, null, null, chunkSourceFactory,
new DefaultCompositeSequenceableLoaderFactory(), minLoadableRetryCount, new DefaultCompositeSequenceableLoaderFactory(), minLoadableRetryCount,
DEFAULT_LIVE_PRESENTATION_DELAY_PREFER_MANIFEST_MS, eventHandler, eventListener); DEFAULT_LIVE_PRESENTATION_DELAY_PREFER_MANIFEST_MS, eventHandler, eventListener);
@ -322,9 +327,12 @@ public final class DashMediaSource implements MediaSource {
* @deprecated Use {@link Builder} instead. * @deprecated Use {@link Builder} instead.
*/ */
@Deprecated @Deprecated
public DashMediaSource(Uri manifestUri, DataSource.Factory manifestDataSourceFactory, public DashMediaSource(
DashChunkSource.Factory chunkSourceFactory, Handler eventHandler, Uri manifestUri,
AdaptiveMediaSourceEventListener eventListener) { DataSource.Factory manifestDataSourceFactory,
DashChunkSource.Factory chunkSourceFactory,
Handler eventHandler,
MediaSourceEventListener eventListener) {
this(manifestUri, manifestDataSourceFactory, chunkSourceFactory, this(manifestUri, manifestDataSourceFactory, chunkSourceFactory,
DEFAULT_MIN_LOADABLE_RETRY_COUNT, DEFAULT_LIVE_PRESENTATION_DELAY_PREFER_MANIFEST_MS, DEFAULT_MIN_LOADABLE_RETRY_COUNT, DEFAULT_LIVE_PRESENTATION_DELAY_PREFER_MANIFEST_MS,
eventHandler, eventListener); eventHandler, eventListener);
@ -340,18 +348,22 @@ public final class DashMediaSource implements MediaSource {
* @param chunkSourceFactory A factory for {@link DashChunkSource} instances. * @param chunkSourceFactory A factory for {@link DashChunkSource} instances.
* @param minLoadableRetryCount The minimum number of times to retry if a loading error occurs. * @param minLoadableRetryCount The minimum number of times to retry if a loading error occurs.
* @param livePresentationDelayMs For live playbacks, the duration in milliseconds by which the * @param livePresentationDelayMs For live playbacks, the duration in milliseconds by which the
* default start position should precede the end of the live window. Use * default start position should precede the end of the live window. Use {@link
* {@link #DEFAULT_LIVE_PRESENTATION_DELAY_PREFER_MANIFEST_MS} to use the value specified by * #DEFAULT_LIVE_PRESENTATION_DELAY_PREFER_MANIFEST_MS} to use the value specified by the
* the manifest, if present. * manifest, if present.
* @param eventHandler A handler for events. May be null if delivery of events is not required. * @param eventHandler A handler for events. May be null if delivery of events is not required.
* @param eventListener A listener of events. May be null if delivery of events is not required. * @param eventListener A listener of events. May be null if delivery of events is not required.
* @deprecated Use {@link Builder} instead. * @deprecated Use {@link Builder} instead.
*/ */
@Deprecated @Deprecated
public DashMediaSource(Uri manifestUri, DataSource.Factory manifestDataSourceFactory, public DashMediaSource(
DashChunkSource.Factory chunkSourceFactory, int minLoadableRetryCount, Uri manifestUri,
long livePresentationDelayMs, Handler eventHandler, DataSource.Factory manifestDataSourceFactory,
AdaptiveMediaSourceEventListener eventListener) { DashChunkSource.Factory chunkSourceFactory,
int minLoadableRetryCount,
long livePresentationDelayMs,
Handler eventHandler,
MediaSourceEventListener eventListener) {
this(manifestUri, manifestDataSourceFactory, new DashManifestParser(), chunkSourceFactory, this(manifestUri, manifestDataSourceFactory, new DashManifestParser(), chunkSourceFactory,
minLoadableRetryCount, livePresentationDelayMs, eventHandler, eventListener); minLoadableRetryCount, livePresentationDelayMs, eventHandler, eventListener);
} }
@ -367,31 +379,39 @@ public final class DashMediaSource implements MediaSource {
* @param chunkSourceFactory A factory for {@link DashChunkSource} instances. * @param chunkSourceFactory A factory for {@link DashChunkSource} instances.
* @param minLoadableRetryCount The minimum number of times to retry if a loading error occurs. * @param minLoadableRetryCount The minimum number of times to retry if a loading error occurs.
* @param livePresentationDelayMs For live playbacks, the duration in milliseconds by which the * @param livePresentationDelayMs For live playbacks, the duration in milliseconds by which the
* default start position should precede the end of the live window. Use * default start position should precede the end of the live window. Use {@link
* {@link #DEFAULT_LIVE_PRESENTATION_DELAY_PREFER_MANIFEST_MS} to use the value specified by * #DEFAULT_LIVE_PRESENTATION_DELAY_PREFER_MANIFEST_MS} to use the value specified by the
* the manifest, if present. * manifest, if present.
* @param eventHandler A handler for events. May be null if delivery of events is not required. * @param eventHandler A handler for events. May be null if delivery of events is not required.
* @param eventListener A listener of events. May be null if delivery of events is not required. * @param eventListener A listener of events. May be null if delivery of events is not required.
* @deprecated Use {@link Builder} instead. * @deprecated Use {@link Builder} instead.
*/ */
@Deprecated @Deprecated
public DashMediaSource(Uri manifestUri, DataSource.Factory manifestDataSourceFactory, public DashMediaSource(
Uri manifestUri,
DataSource.Factory manifestDataSourceFactory,
ParsingLoadable.Parser<? extends DashManifest> manifestParser, ParsingLoadable.Parser<? extends DashManifest> manifestParser,
DashChunkSource.Factory chunkSourceFactory, int minLoadableRetryCount, DashChunkSource.Factory chunkSourceFactory,
long livePresentationDelayMs, Handler eventHandler, int minLoadableRetryCount,
AdaptiveMediaSourceEventListener eventListener) { long livePresentationDelayMs,
Handler eventHandler,
MediaSourceEventListener eventListener) {
this(null, manifestUri, manifestDataSourceFactory, manifestParser, chunkSourceFactory, this(null, manifestUri, manifestDataSourceFactory, manifestParser, chunkSourceFactory,
new DefaultCompositeSequenceableLoaderFactory(), minLoadableRetryCount, new DefaultCompositeSequenceableLoaderFactory(), minLoadableRetryCount,
livePresentationDelayMs, eventHandler, eventListener); livePresentationDelayMs, eventHandler, eventListener);
} }
private DashMediaSource(DashManifest manifest, Uri manifestUri, private DashMediaSource(
DashManifest manifest,
Uri manifestUri,
DataSource.Factory manifestDataSourceFactory, DataSource.Factory manifestDataSourceFactory,
ParsingLoadable.Parser<? extends DashManifest> manifestParser, ParsingLoadable.Parser<? extends DashManifest> manifestParser,
DashChunkSource.Factory chunkSourceFactory, DashChunkSource.Factory chunkSourceFactory,
CompositeSequenceableLoaderFactory compositeSequenceableLoaderFactory, CompositeSequenceableLoaderFactory compositeSequenceableLoaderFactory,
int minLoadableRetryCount, long livePresentationDelayMs, Handler eventHandler, int minLoadableRetryCount,
AdaptiveMediaSourceEventListener eventListener) { long livePresentationDelayMs,
Handler eventHandler,
MediaSourceEventListener eventListener) {
this.manifest = manifest; this.manifest = manifest;
this.manifestUri = manifestUri; this.manifestUri = manifestUri;
this.manifestDataSourceFactory = manifestDataSourceFactory; this.manifestDataSourceFactory = manifestDataSourceFactory;

View file

@ -19,9 +19,9 @@ import android.os.Handler;
import android.text.TextUtils; import android.text.TextUtils;
import com.google.android.exoplayer2.C; import com.google.android.exoplayer2.C;
import com.google.android.exoplayer2.Format; import com.google.android.exoplayer2.Format;
import com.google.android.exoplayer2.source.AdaptiveMediaSourceEventListener.EventDispatcher;
import com.google.android.exoplayer2.source.CompositeSequenceableLoaderFactory; import com.google.android.exoplayer2.source.CompositeSequenceableLoaderFactory;
import com.google.android.exoplayer2.source.MediaPeriod; import com.google.android.exoplayer2.source.MediaPeriod;
import com.google.android.exoplayer2.source.MediaSourceEventListener.EventDispatcher;
import com.google.android.exoplayer2.source.SampleStream; import com.google.android.exoplayer2.source.SampleStream;
import com.google.android.exoplayer2.source.SequenceableLoader; import com.google.android.exoplayer2.source.SequenceableLoader;
import com.google.android.exoplayer2.source.TrackGroup; import com.google.android.exoplayer2.source.TrackGroup;

View file

@ -21,12 +21,12 @@ import com.google.android.exoplayer2.C;
import com.google.android.exoplayer2.ExoPlayer; import com.google.android.exoplayer2.ExoPlayer;
import com.google.android.exoplayer2.ExoPlayerLibraryInfo; import com.google.android.exoplayer2.ExoPlayerLibraryInfo;
import com.google.android.exoplayer2.extractor.Extractor; import com.google.android.exoplayer2.extractor.Extractor;
import com.google.android.exoplayer2.source.AdaptiveMediaSourceEventListener;
import com.google.android.exoplayer2.source.AdaptiveMediaSourceEventListener.EventDispatcher;
import com.google.android.exoplayer2.source.CompositeSequenceableLoaderFactory; import com.google.android.exoplayer2.source.CompositeSequenceableLoaderFactory;
import com.google.android.exoplayer2.source.DefaultCompositeSequenceableLoaderFactory; import com.google.android.exoplayer2.source.DefaultCompositeSequenceableLoaderFactory;
import com.google.android.exoplayer2.source.MediaPeriod; import com.google.android.exoplayer2.source.MediaPeriod;
import com.google.android.exoplayer2.source.MediaSource; import com.google.android.exoplayer2.source.MediaSource;
import com.google.android.exoplayer2.source.MediaSourceEventListener;
import com.google.android.exoplayer2.source.MediaSourceEventListener.EventDispatcher;
import com.google.android.exoplayer2.source.SequenceableLoader; import com.google.android.exoplayer2.source.SequenceableLoader;
import com.google.android.exoplayer2.source.SinglePeriodTimeline; import com.google.android.exoplayer2.source.SinglePeriodTimeline;
import com.google.android.exoplayer2.source.hls.playlist.HlsMediaPlaylist; import com.google.android.exoplayer2.source.hls.playlist.HlsMediaPlaylist;
@ -60,7 +60,7 @@ public final class HlsMediaSource implements MediaSource,
private HlsExtractorFactory extractorFactory; private HlsExtractorFactory extractorFactory;
private ParsingLoadable.Parser<HlsPlaylist> playlistParser; private ParsingLoadable.Parser<HlsPlaylist> playlistParser;
private AdaptiveMediaSourceEventListener eventListener; private MediaSourceEventListener eventListener;
private Handler eventHandler; private Handler eventHandler;
private CompositeSequenceableLoaderFactory compositeSequenceableLoaderFactory; private CompositeSequenceableLoaderFactory compositeSequenceableLoaderFactory;
@ -136,8 +136,7 @@ public final class HlsMediaSource implements MediaSource,
* @param eventListener A listener of events. * @param eventListener A listener of events.
* @return This builder. * @return This builder.
*/ */
public Builder setEventListener(Handler eventHandler, public Builder setEventListener(Handler eventHandler, MediaSourceEventListener eventListener) {
AdaptiveMediaSourceEventListener eventListener) {
this.eventHandler = eventHandler; this.eventHandler = eventHandler;
this.eventListener = eventListener; this.eventListener = eventListener;
return this; return this;
@ -219,13 +218,16 @@ public final class HlsMediaSource implements MediaSource,
* @param dataSourceFactory An {@link HlsDataSourceFactory} for {@link DataSource}s for manifests, * @param dataSourceFactory An {@link HlsDataSourceFactory} for {@link DataSource}s for manifests,
* segments and keys. * segments and keys.
* @param eventHandler A handler for events. May be null if delivery of events is not required. * @param eventHandler A handler for events. May be null if delivery of events is not required.
* @param eventListener An {@link AdaptiveMediaSourceEventListener}. May be null if delivery of * @param eventListener A {@link MediaSourceEventListener}. May be null if delivery of events is
* events is not required. * not required.
* @deprecated Use {@link Builder} instead. * @deprecated Use {@link Builder} instead.
*/ */
@Deprecated @Deprecated
public HlsMediaSource(Uri manifestUri, DataSource.Factory dataSourceFactory, Handler eventHandler, public HlsMediaSource(
AdaptiveMediaSourceEventListener eventListener) { Uri manifestUri,
DataSource.Factory dataSourceFactory,
Handler eventHandler,
MediaSourceEventListener eventListener) {
this(manifestUri, dataSourceFactory, DEFAULT_MIN_LOADABLE_RETRY_COUNT, eventHandler, this(manifestUri, dataSourceFactory, DEFAULT_MIN_LOADABLE_RETRY_COUNT, eventHandler,
eventListener); eventListener);
} }
@ -234,17 +236,20 @@ public final class HlsMediaSource implements MediaSource,
* @param manifestUri The {@link Uri} of the HLS manifest. * @param manifestUri The {@link Uri} of the HLS manifest.
* @param dataSourceFactory An {@link HlsDataSourceFactory} for {@link DataSource}s for manifests, * @param dataSourceFactory An {@link HlsDataSourceFactory} for {@link DataSource}s for manifests,
* segments and keys. * segments and keys.
* @param minLoadableRetryCount The minimum number of times loads must be retried before * @param minLoadableRetryCount The minimum number of times loads must be retried before errors
* errors are propagated. * are propagated.
* @param eventHandler A handler for events. May be null if delivery of events is not required. * @param eventHandler A handler for events. May be null if delivery of events is not required.
* @param eventListener An {@link AdaptiveMediaSourceEventListener}. May be null if delivery of * @param eventListener A {@link MediaSourceEventListener}. May be null if delivery of events is
* events is not required. * not required.
* @deprecated Use {@link Builder} instead. * @deprecated Use {@link Builder} instead.
*/ */
@Deprecated @Deprecated
public HlsMediaSource(Uri manifestUri, DataSource.Factory dataSourceFactory, public HlsMediaSource(
int minLoadableRetryCount, Handler eventHandler, Uri manifestUri,
AdaptiveMediaSourceEventListener eventListener) { DataSource.Factory dataSourceFactory,
int minLoadableRetryCount,
Handler eventHandler,
MediaSourceEventListener eventListener) {
this(manifestUri, new DefaultHlsDataSourceFactory(dataSourceFactory), this(manifestUri, new DefaultHlsDataSourceFactory(dataSourceFactory),
HlsExtractorFactory.DEFAULT, minLoadableRetryCount, eventHandler, eventListener, HlsExtractorFactory.DEFAULT, minLoadableRetryCount, eventHandler, eventListener,
new HlsPlaylistParser()); new HlsPlaylistParser());
@ -255,29 +260,36 @@ public final class HlsMediaSource implements MediaSource,
* @param dataSourceFactory An {@link HlsDataSourceFactory} for {@link DataSource}s for manifests, * @param dataSourceFactory An {@link HlsDataSourceFactory} for {@link DataSource}s for manifests,
* segments and keys. * segments and keys.
* @param extractorFactory An {@link HlsExtractorFactory} for {@link Extractor}s for the segments. * @param extractorFactory An {@link HlsExtractorFactory} for {@link Extractor}s for the segments.
* @param minLoadableRetryCount The minimum number of times loads must be retried before * @param minLoadableRetryCount The minimum number of times loads must be retried before errors
* errors are propagated. * are propagated.
* @param eventHandler A handler for events. May be null if delivery of events is not required. * @param eventHandler A handler for events. May be null if delivery of events is not required.
* @param eventListener An {@link AdaptiveMediaSourceEventListener}. May be null if delivery of * @param eventListener A {@link MediaSourceEventListener}. May be null if delivery of events is
* events is not required. * not required.
* @param playlistParser A {@link ParsingLoadable.Parser} for HLS playlists. * @param playlistParser A {@link ParsingLoadable.Parser} for HLS playlists.
* @deprecated Use {@link Builder} instead. * @deprecated Use {@link Builder} instead.
*/ */
@Deprecated @Deprecated
public HlsMediaSource(Uri manifestUri, HlsDataSourceFactory dataSourceFactory, public HlsMediaSource(
HlsExtractorFactory extractorFactory, int minLoadableRetryCount, Handler eventHandler, Uri manifestUri,
AdaptiveMediaSourceEventListener eventListener, HlsDataSourceFactory dataSourceFactory,
HlsExtractorFactory extractorFactory,
int minLoadableRetryCount,
Handler eventHandler,
MediaSourceEventListener eventListener,
ParsingLoadable.Parser<HlsPlaylist> playlistParser) { ParsingLoadable.Parser<HlsPlaylist> playlistParser) {
this(manifestUri, dataSourceFactory, extractorFactory, this(manifestUri, dataSourceFactory, extractorFactory,
new DefaultCompositeSequenceableLoaderFactory(), minLoadableRetryCount, eventHandler, new DefaultCompositeSequenceableLoaderFactory(), minLoadableRetryCount, eventHandler,
eventListener, playlistParser); eventListener, playlistParser);
} }
private HlsMediaSource(Uri manifestUri, HlsDataSourceFactory dataSourceFactory, private HlsMediaSource(
Uri manifestUri,
HlsDataSourceFactory dataSourceFactory,
HlsExtractorFactory extractorFactory, HlsExtractorFactory extractorFactory,
CompositeSequenceableLoaderFactory compositeSequenceableLoaderFactory, CompositeSequenceableLoaderFactory compositeSequenceableLoaderFactory,
int minLoadableRetryCount, Handler eventHandler, int minLoadableRetryCount,
AdaptiveMediaSourceEventListener eventListener, Handler eventHandler,
MediaSourceEventListener eventListener,
ParsingLoadable.Parser<HlsPlaylist> playlistParser) { ParsingLoadable.Parser<HlsPlaylist> playlistParser) {
this.manifestUri = manifestUri; this.manifestUri = manifestUri;
this.dataSourceFactory = dataSourceFactory; this.dataSourceFactory = dataSourceFactory;

View file

@ -25,7 +25,7 @@ import com.google.android.exoplayer2.extractor.DummyTrackOutput;
import com.google.android.exoplayer2.extractor.ExtractorOutput; import com.google.android.exoplayer2.extractor.ExtractorOutput;
import com.google.android.exoplayer2.extractor.SeekMap; import com.google.android.exoplayer2.extractor.SeekMap;
import com.google.android.exoplayer2.extractor.TrackOutput; import com.google.android.exoplayer2.extractor.TrackOutput;
import com.google.android.exoplayer2.source.AdaptiveMediaSourceEventListener.EventDispatcher; import com.google.android.exoplayer2.source.MediaSourceEventListener.EventDispatcher;
import com.google.android.exoplayer2.source.SampleQueue; import com.google.android.exoplayer2.source.SampleQueue;
import com.google.android.exoplayer2.source.SampleQueue.UpstreamFormatChangedListener; import com.google.android.exoplayer2.source.SampleQueue.UpstreamFormatChangedListener;
import com.google.android.exoplayer2.source.SampleStream; import com.google.android.exoplayer2.source.SampleStream;

View file

@ -20,7 +20,7 @@ import android.os.Handler;
import android.os.SystemClock; import android.os.SystemClock;
import com.google.android.exoplayer2.C; import com.google.android.exoplayer2.C;
import com.google.android.exoplayer2.ParserException; import com.google.android.exoplayer2.ParserException;
import com.google.android.exoplayer2.source.AdaptiveMediaSourceEventListener.EventDispatcher; import com.google.android.exoplayer2.source.MediaSourceEventListener.EventDispatcher;
import com.google.android.exoplayer2.source.chunk.ChunkedTrackBlacklistUtil; import com.google.android.exoplayer2.source.chunk.ChunkedTrackBlacklistUtil;
import com.google.android.exoplayer2.source.hls.HlsDataSourceFactory; import com.google.android.exoplayer2.source.hls.HlsDataSourceFactory;
import com.google.android.exoplayer2.source.hls.playlist.HlsMasterPlaylist.HlsUrl; import com.google.android.exoplayer2.source.hls.playlist.HlsMasterPlaylist.HlsUrl;

View file

@ -18,9 +18,9 @@ package com.google.android.exoplayer2.source.smoothstreaming;
import android.util.Base64; import android.util.Base64;
import com.google.android.exoplayer2.C; import com.google.android.exoplayer2.C;
import com.google.android.exoplayer2.extractor.mp4.TrackEncryptionBox; import com.google.android.exoplayer2.extractor.mp4.TrackEncryptionBox;
import com.google.android.exoplayer2.source.AdaptiveMediaSourceEventListener.EventDispatcher;
import com.google.android.exoplayer2.source.CompositeSequenceableLoaderFactory; import com.google.android.exoplayer2.source.CompositeSequenceableLoaderFactory;
import com.google.android.exoplayer2.source.MediaPeriod; import com.google.android.exoplayer2.source.MediaPeriod;
import com.google.android.exoplayer2.source.MediaSourceEventListener.EventDispatcher;
import com.google.android.exoplayer2.source.SampleStream; import com.google.android.exoplayer2.source.SampleStream;
import com.google.android.exoplayer2.source.SequenceableLoader; import com.google.android.exoplayer2.source.SequenceableLoader;
import com.google.android.exoplayer2.source.TrackGroup; import com.google.android.exoplayer2.source.TrackGroup;

View file

@ -24,12 +24,12 @@ import com.google.android.exoplayer2.ExoPlayer;
import com.google.android.exoplayer2.ExoPlayerLibraryInfo; import com.google.android.exoplayer2.ExoPlayerLibraryInfo;
import com.google.android.exoplayer2.ParserException; import com.google.android.exoplayer2.ParserException;
import com.google.android.exoplayer2.Timeline; import com.google.android.exoplayer2.Timeline;
import com.google.android.exoplayer2.source.AdaptiveMediaSourceEventListener;
import com.google.android.exoplayer2.source.AdaptiveMediaSourceEventListener.EventDispatcher;
import com.google.android.exoplayer2.source.CompositeSequenceableLoaderFactory; import com.google.android.exoplayer2.source.CompositeSequenceableLoaderFactory;
import com.google.android.exoplayer2.source.DefaultCompositeSequenceableLoaderFactory; import com.google.android.exoplayer2.source.DefaultCompositeSequenceableLoaderFactory;
import com.google.android.exoplayer2.source.MediaPeriod; import com.google.android.exoplayer2.source.MediaPeriod;
import com.google.android.exoplayer2.source.MediaSource; import com.google.android.exoplayer2.source.MediaSource;
import com.google.android.exoplayer2.source.MediaSourceEventListener;
import com.google.android.exoplayer2.source.MediaSourceEventListener.EventDispatcher;
import com.google.android.exoplayer2.source.SequenceableLoader; import com.google.android.exoplayer2.source.SequenceableLoader;
import com.google.android.exoplayer2.source.SinglePeriodTimeline; import com.google.android.exoplayer2.source.SinglePeriodTimeline;
import com.google.android.exoplayer2.source.smoothstreaming.manifest.SsManifest; import com.google.android.exoplayer2.source.smoothstreaming.manifest.SsManifest;
@ -66,7 +66,7 @@ public final class SsMediaSource implements MediaSource,
private final SsChunkSource.Factory chunkSourceFactory; private final SsChunkSource.Factory chunkSourceFactory;
private ParsingLoadable.Parser<? extends SsManifest> manifestParser; private ParsingLoadable.Parser<? extends SsManifest> manifestParser;
private AdaptiveMediaSourceEventListener eventListener; private MediaSourceEventListener eventListener;
private Handler eventHandler; private Handler eventHandler;
private CompositeSequenceableLoaderFactory compositeSequenceableLoaderFactory; private CompositeSequenceableLoaderFactory compositeSequenceableLoaderFactory;
@ -147,8 +147,7 @@ public final class SsMediaSource implements MediaSource,
* @param eventListener A listener of events. * @param eventListener A listener of events.
* @return This builder. * @return This builder.
*/ */
public Builder setEventListener(Handler eventHandler, public Builder setEventListener(Handler eventHandler, MediaSourceEventListener eventListener) {
AdaptiveMediaSourceEventListener eventListener) {
this.eventHandler = eventHandler; this.eventHandler = eventHandler;
this.eventListener = eventListener; this.eventListener = eventListener;
return this; return this;
@ -256,8 +255,11 @@ public final class SsMediaSource implements MediaSource,
* @deprecated Use {@link Builder} instead. * @deprecated Use {@link Builder} instead.
*/ */
@Deprecated @Deprecated
public SsMediaSource(SsManifest manifest, SsChunkSource.Factory chunkSourceFactory, public SsMediaSource(
Handler eventHandler, AdaptiveMediaSourceEventListener eventListener) { SsManifest manifest,
SsChunkSource.Factory chunkSourceFactory,
Handler eventHandler,
MediaSourceEventListener eventListener) {
this(manifest, chunkSourceFactory, DEFAULT_MIN_LOADABLE_RETRY_COUNT, this(manifest, chunkSourceFactory, DEFAULT_MIN_LOADABLE_RETRY_COUNT,
eventHandler, eventListener); eventHandler, eventListener);
} }
@ -273,9 +275,12 @@ public final class SsMediaSource implements MediaSource,
* @deprecated Use {@link Builder} instead. * @deprecated Use {@link Builder} instead.
*/ */
@Deprecated @Deprecated
public SsMediaSource(SsManifest manifest, SsChunkSource.Factory chunkSourceFactory, public SsMediaSource(
int minLoadableRetryCount, Handler eventHandler, SsManifest manifest,
AdaptiveMediaSourceEventListener eventListener) { SsChunkSource.Factory chunkSourceFactory,
int minLoadableRetryCount,
Handler eventHandler,
MediaSourceEventListener eventListener) {
this(manifest, null, null, null, chunkSourceFactory, this(manifest, null, null, null, chunkSourceFactory,
new DefaultCompositeSequenceableLoaderFactory(), minLoadableRetryCount, new DefaultCompositeSequenceableLoaderFactory(), minLoadableRetryCount,
DEFAULT_LIVE_PRESENTATION_DELAY_MS, eventHandler, eventListener); DEFAULT_LIVE_PRESENTATION_DELAY_MS, eventHandler, eventListener);
@ -294,9 +299,12 @@ public final class SsMediaSource implements MediaSource,
* @deprecated Use {@link Builder} instead. * @deprecated Use {@link Builder} instead.
*/ */
@Deprecated @Deprecated
public SsMediaSource(Uri manifestUri, DataSource.Factory manifestDataSourceFactory, public SsMediaSource(
SsChunkSource.Factory chunkSourceFactory, Handler eventHandler, Uri manifestUri,
AdaptiveMediaSourceEventListener eventListener) { DataSource.Factory manifestDataSourceFactory,
SsChunkSource.Factory chunkSourceFactory,
Handler eventHandler,
MediaSourceEventListener eventListener) {
this(manifestUri, manifestDataSourceFactory, chunkSourceFactory, this(manifestUri, manifestDataSourceFactory, chunkSourceFactory,
DEFAULT_MIN_LOADABLE_RETRY_COUNT, DEFAULT_LIVE_PRESENTATION_DELAY_MS, eventHandler, DEFAULT_MIN_LOADABLE_RETRY_COUNT, DEFAULT_LIVE_PRESENTATION_DELAY_MS, eventHandler,
eventListener); eventListener);
@ -318,10 +326,14 @@ public final class SsMediaSource implements MediaSource,
* @deprecated Use {@link Builder} instead. * @deprecated Use {@link Builder} instead.
*/ */
@Deprecated @Deprecated
public SsMediaSource(Uri manifestUri, DataSource.Factory manifestDataSourceFactory, public SsMediaSource(
SsChunkSource.Factory chunkSourceFactory, int minLoadableRetryCount, Uri manifestUri,
long livePresentationDelayMs, Handler eventHandler, DataSource.Factory manifestDataSourceFactory,
AdaptiveMediaSourceEventListener eventListener) { SsChunkSource.Factory chunkSourceFactory,
int minLoadableRetryCount,
long livePresentationDelayMs,
Handler eventHandler,
MediaSourceEventListener eventListener) {
this(manifestUri, manifestDataSourceFactory, new SsManifestParser(), chunkSourceFactory, this(manifestUri, manifestDataSourceFactory, new SsManifestParser(), chunkSourceFactory,
minLoadableRetryCount, livePresentationDelayMs, eventHandler, eventListener); minLoadableRetryCount, livePresentationDelayMs, eventHandler, eventListener);
} }
@ -343,23 +355,31 @@ public final class SsMediaSource implements MediaSource,
* @deprecated Use {@link Builder} instead. * @deprecated Use {@link Builder} instead.
*/ */
@Deprecated @Deprecated
public SsMediaSource(Uri manifestUri, DataSource.Factory manifestDataSourceFactory, public SsMediaSource(
Uri manifestUri,
DataSource.Factory manifestDataSourceFactory,
ParsingLoadable.Parser<? extends SsManifest> manifestParser, ParsingLoadable.Parser<? extends SsManifest> manifestParser,
SsChunkSource.Factory chunkSourceFactory, int minLoadableRetryCount, SsChunkSource.Factory chunkSourceFactory,
long livePresentationDelayMs, Handler eventHandler, int minLoadableRetryCount,
AdaptiveMediaSourceEventListener eventListener) { long livePresentationDelayMs,
Handler eventHandler,
MediaSourceEventListener eventListener) {
this(null, manifestUri, manifestDataSourceFactory, manifestParser, chunkSourceFactory, this(null, manifestUri, manifestDataSourceFactory, manifestParser, chunkSourceFactory,
new DefaultCompositeSequenceableLoaderFactory(), minLoadableRetryCount, new DefaultCompositeSequenceableLoaderFactory(), minLoadableRetryCount,
livePresentationDelayMs, eventHandler, eventListener); livePresentationDelayMs, eventHandler, eventListener);
} }
private SsMediaSource(SsManifest manifest, Uri manifestUri, private SsMediaSource(
SsManifest manifest,
Uri manifestUri,
DataSource.Factory manifestDataSourceFactory, DataSource.Factory manifestDataSourceFactory,
ParsingLoadable.Parser<? extends SsManifest> manifestParser, ParsingLoadable.Parser<? extends SsManifest> manifestParser,
SsChunkSource.Factory chunkSourceFactory, SsChunkSource.Factory chunkSourceFactory,
CompositeSequenceableLoaderFactory compositeSequenceableLoaderFactory, CompositeSequenceableLoaderFactory compositeSequenceableLoaderFactory,
int minLoadableRetryCount, long livePresentationDelayMs, Handler eventHandler, int minLoadableRetryCount,
AdaptiveMediaSourceEventListener eventListener) { long livePresentationDelayMs,
Handler eventHandler,
MediaSourceEventListener eventListener) {
Assertions.checkState(manifest == null || !manifest.isLive); Assertions.checkState(manifest == null || !manifest.isLive);
this.manifest = manifest; this.manifest = manifest;
this.manifestUri = manifestUri == null ? null this.manifestUri = manifestUri == null ? null

View file

@ -15,9 +15,9 @@
*/ */
package com.google.android.exoplayer2.testutil; package com.google.android.exoplayer2.testutil;
import com.google.android.exoplayer2.source.AdaptiveMediaSourceEventListener.EventDispatcher;
import com.google.android.exoplayer2.source.CompositeSequenceableLoader; import com.google.android.exoplayer2.source.CompositeSequenceableLoader;
import com.google.android.exoplayer2.source.MediaPeriod; import com.google.android.exoplayer2.source.MediaPeriod;
import com.google.android.exoplayer2.source.MediaSourceEventListener.EventDispatcher;
import com.google.android.exoplayer2.source.SampleStream; import com.google.android.exoplayer2.source.SampleStream;
import com.google.android.exoplayer2.source.SequenceableLoader; import com.google.android.exoplayer2.source.SequenceableLoader;
import com.google.android.exoplayer2.source.TrackGroupArray; import com.google.android.exoplayer2.source.TrackGroupArray;

View file

@ -18,9 +18,9 @@ package com.google.android.exoplayer2.testutil;
import android.os.Handler; import android.os.Handler;
import com.google.android.exoplayer2.Timeline; import com.google.android.exoplayer2.Timeline;
import com.google.android.exoplayer2.Timeline.Period; import com.google.android.exoplayer2.Timeline.Period;
import com.google.android.exoplayer2.source.AdaptiveMediaSourceEventListener;
import com.google.android.exoplayer2.source.AdaptiveMediaSourceEventListener.EventDispatcher;
import com.google.android.exoplayer2.source.MediaSource; import com.google.android.exoplayer2.source.MediaSource;
import com.google.android.exoplayer2.source.MediaSourceEventListener;
import com.google.android.exoplayer2.source.MediaSourceEventListener.EventDispatcher;
import com.google.android.exoplayer2.source.TrackGroupArray; import com.google.android.exoplayer2.source.TrackGroupArray;
import com.google.android.exoplayer2.upstream.Allocator; import com.google.android.exoplayer2.upstream.Allocator;
@ -33,9 +33,13 @@ public class FakeAdaptiveMediaSource extends FakeMediaSource {
private final EventDispatcher eventDispatcher; private final EventDispatcher eventDispatcher;
private final FakeChunkSource.Factory chunkSourceFactory; private final FakeChunkSource.Factory chunkSourceFactory;
public FakeAdaptiveMediaSource(Timeline timeline, Object manifest, public FakeAdaptiveMediaSource(
TrackGroupArray trackGroupArray, Handler eventHandler, Timeline timeline,
AdaptiveMediaSourceEventListener eventListener, FakeChunkSource.Factory chunkSourceFactory) { Object manifest,
TrackGroupArray trackGroupArray,
Handler eventHandler,
MediaSourceEventListener eventListener,
FakeChunkSource.Factory chunkSourceFactory) {
super(timeline, manifest, trackGroupArray); super(timeline, manifest, trackGroupArray);
this.eventDispatcher = new EventDispatcher(eventHandler, eventListener); this.eventDispatcher = new EventDispatcher(eventHandler, eventListener);
this.chunkSourceFactory = chunkSourceFactory; this.chunkSourceFactory = chunkSourceFactory;