mirror of
https://github.com/androidx/media.git
synced 2025-05-07 23:50:44 +08:00
Use correct generics type bounds for TransferListener in MediaSources.
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=203260699
This commit is contained in:
parent
2237603a4d
commit
abb4d6ff70
@ -80,7 +80,7 @@ public final class ImaAdsMediaSource extends BaseMediaSource implements SourceIn
|
|||||||
public void prepareSourceInternal(
|
public void prepareSourceInternal(
|
||||||
final ExoPlayer player,
|
final ExoPlayer player,
|
||||||
boolean isTopLevelSource,
|
boolean isTopLevelSource,
|
||||||
@Nullable TransferListener<?> mediaTransferListener) {
|
@Nullable TransferListener<? super DataSource> mediaTransferListener) {
|
||||||
adsMediaSource.prepareSource(
|
adsMediaSource.prepareSource(
|
||||||
player, isTopLevelSource, /* listener= */ this, mediaTransferListener);
|
player, isTopLevelSource, /* listener= */ this, mediaTransferListener);
|
||||||
}
|
}
|
||||||
|
@ -19,6 +19,7 @@ import android.os.Handler;
|
|||||||
import android.support.annotation.Nullable;
|
import android.support.annotation.Nullable;
|
||||||
import com.google.android.exoplayer2.ExoPlayer;
|
import com.google.android.exoplayer2.ExoPlayer;
|
||||||
import com.google.android.exoplayer2.Timeline;
|
import com.google.android.exoplayer2.Timeline;
|
||||||
|
import com.google.android.exoplayer2.upstream.DataSource;
|
||||||
import com.google.android.exoplayer2.upstream.TransferListener;
|
import com.google.android.exoplayer2.upstream.TransferListener;
|
||||||
import com.google.android.exoplayer2.util.Assertions;
|
import com.google.android.exoplayer2.util.Assertions;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@ -60,7 +61,7 @@ public abstract class BaseMediaSource implements MediaSource {
|
|||||||
protected abstract void prepareSourceInternal(
|
protected abstract void prepareSourceInternal(
|
||||||
ExoPlayer player,
|
ExoPlayer player,
|
||||||
boolean isTopLevelSource,
|
boolean isTopLevelSource,
|
||||||
@Nullable TransferListener<?> mediaTransferListener);
|
@Nullable TransferListener<? super DataSource> mediaTransferListener);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Releases the source. This method is called exactly once after each call to {@link
|
* Releases the source. This method is called exactly once after each call to {@link
|
||||||
@ -146,7 +147,7 @@ public abstract class BaseMediaSource implements MediaSource {
|
|||||||
ExoPlayer player,
|
ExoPlayer player,
|
||||||
boolean isTopLevelSource,
|
boolean isTopLevelSource,
|
||||||
SourceInfoRefreshListener listener,
|
SourceInfoRefreshListener listener,
|
||||||
@Nullable TransferListener<?> mediaTransferListener) {
|
@Nullable TransferListener<? super DataSource> mediaTransferListener) {
|
||||||
Assertions.checkArgument(this.player == null || this.player == player);
|
Assertions.checkArgument(this.player == null || this.player == player);
|
||||||
sourceInfoListeners.add(listener);
|
sourceInfoListeners.add(listener);
|
||||||
if (this.player == null) {
|
if (this.player == null) {
|
||||||
|
@ -21,6 +21,7 @@ import com.google.android.exoplayer2.C;
|
|||||||
import com.google.android.exoplayer2.ExoPlayer;
|
import com.google.android.exoplayer2.ExoPlayer;
|
||||||
import com.google.android.exoplayer2.Timeline;
|
import com.google.android.exoplayer2.Timeline;
|
||||||
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.TransferListener;
|
import com.google.android.exoplayer2.upstream.TransferListener;
|
||||||
import com.google.android.exoplayer2.util.Assertions;
|
import com.google.android.exoplayer2.util.Assertions;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
@ -215,7 +216,7 @@ public final class ClippingMediaSource extends CompositeMediaSource<Void> {
|
|||||||
public void prepareSourceInternal(
|
public void prepareSourceInternal(
|
||||||
ExoPlayer player,
|
ExoPlayer player,
|
||||||
boolean isTopLevelSource,
|
boolean isTopLevelSource,
|
||||||
@Nullable TransferListener<?> mediaTransferListener) {
|
@Nullable TransferListener<? super DataSource> mediaTransferListener) {
|
||||||
super.prepareSourceInternal(player, isTopLevelSource, mediaTransferListener);
|
super.prepareSourceInternal(player, isTopLevelSource, mediaTransferListener);
|
||||||
prepareChildSource(/* id= */ null, mediaSource);
|
prepareChildSource(/* id= */ null, mediaSource);
|
||||||
}
|
}
|
||||||
|
@ -20,7 +20,7 @@ import android.support.annotation.CallSuper;
|
|||||||
import android.support.annotation.Nullable;
|
import android.support.annotation.Nullable;
|
||||||
import com.google.android.exoplayer2.ExoPlayer;
|
import com.google.android.exoplayer2.ExoPlayer;
|
||||||
import com.google.android.exoplayer2.Timeline;
|
import com.google.android.exoplayer2.Timeline;
|
||||||
import com.google.android.exoplayer2.source.MediaSourceEventListener.MediaLoadData;
|
import com.google.android.exoplayer2.upstream.DataSource;
|
||||||
import com.google.android.exoplayer2.upstream.TransferListener;
|
import com.google.android.exoplayer2.upstream.TransferListener;
|
||||||
import com.google.android.exoplayer2.util.Assertions;
|
import com.google.android.exoplayer2.util.Assertions;
|
||||||
import com.google.android.exoplayer2.util.Util;
|
import com.google.android.exoplayer2.util.Util;
|
||||||
@ -38,7 +38,7 @@ public abstract class CompositeMediaSource<T> extends BaseMediaSource {
|
|||||||
|
|
||||||
private @Nullable ExoPlayer player;
|
private @Nullable ExoPlayer player;
|
||||||
private @Nullable Handler eventHandler;
|
private @Nullable Handler eventHandler;
|
||||||
private @Nullable TransferListener<?> mediaTransferListener;
|
private @Nullable TransferListener<? super DataSource> mediaTransferListener;
|
||||||
|
|
||||||
/** Create composite media source without child sources. */
|
/** Create composite media source without child sources. */
|
||||||
protected CompositeMediaSource() {
|
protected CompositeMediaSource() {
|
||||||
@ -50,7 +50,7 @@ public abstract class CompositeMediaSource<T> extends BaseMediaSource {
|
|||||||
public void prepareSourceInternal(
|
public void prepareSourceInternal(
|
||||||
ExoPlayer player,
|
ExoPlayer player,
|
||||||
boolean isTopLevelSource,
|
boolean isTopLevelSource,
|
||||||
@Nullable TransferListener<?> mediaTransferListener) {
|
@Nullable TransferListener<? super DataSource> mediaTransferListener) {
|
||||||
this.player = player;
|
this.player = player;
|
||||||
this.mediaTransferListener = mediaTransferListener;
|
this.mediaTransferListener = mediaTransferListener;
|
||||||
eventHandler = new Handler();
|
eventHandler = new Handler();
|
||||||
|
@ -26,6 +26,7 @@ import com.google.android.exoplayer2.Timeline;
|
|||||||
import com.google.android.exoplayer2.source.ConcatenatingMediaSource.MediaSourceHolder;
|
import com.google.android.exoplayer2.source.ConcatenatingMediaSource.MediaSourceHolder;
|
||||||
import com.google.android.exoplayer2.source.ShuffleOrder.DefaultShuffleOrder;
|
import com.google.android.exoplayer2.source.ShuffleOrder.DefaultShuffleOrder;
|
||||||
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.TransferListener;
|
import com.google.android.exoplayer2.upstream.TransferListener;
|
||||||
import com.google.android.exoplayer2.util.Assertions;
|
import com.google.android.exoplayer2.util.Assertions;
|
||||||
import com.google.android.exoplayer2.util.Util;
|
import com.google.android.exoplayer2.util.Util;
|
||||||
@ -377,7 +378,7 @@ public class ConcatenatingMediaSource extends CompositeMediaSource<MediaSourceHo
|
|||||||
public final synchronized void prepareSourceInternal(
|
public final synchronized void prepareSourceInternal(
|
||||||
ExoPlayer player,
|
ExoPlayer player,
|
||||||
boolean isTopLevelSource,
|
boolean isTopLevelSource,
|
||||||
@Nullable TransferListener<?> mediaTransferListener) {
|
@Nullable TransferListener<? super DataSource> mediaTransferListener) {
|
||||||
super.prepareSourceInternal(player, isTopLevelSource, mediaTransferListener);
|
super.prepareSourceInternal(player, isTopLevelSource, mediaTransferListener);
|
||||||
this.player = player;
|
this.player = player;
|
||||||
playerApplicationHandler = new Handler(player.getApplicationLooper());
|
playerApplicationHandler = new Handler(player.getApplicationLooper());
|
||||||
|
@ -348,7 +348,7 @@ public final class ExtractorMediaSource extends BaseMediaSource
|
|||||||
public void prepareSourceInternal(
|
public void prepareSourceInternal(
|
||||||
ExoPlayer player,
|
ExoPlayer player,
|
||||||
boolean isTopLevelSource,
|
boolean isTopLevelSource,
|
||||||
@Nullable TransferListener<?> mediaTransferListener) {
|
@Nullable TransferListener<? super DataSource> mediaTransferListener) {
|
||||||
notifySourceInfoRefreshed(timelineDurationUs, /* isSeekable= */ false);
|
notifySourceInfoRefreshed(timelineDurationUs, /* isSeekable= */ false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -22,6 +22,7 @@ import com.google.android.exoplayer2.Player;
|
|||||||
import com.google.android.exoplayer2.Timeline;
|
import com.google.android.exoplayer2.Timeline;
|
||||||
import com.google.android.exoplayer2.source.ShuffleOrder.UnshuffledShuffleOrder;
|
import com.google.android.exoplayer2.source.ShuffleOrder.UnshuffledShuffleOrder;
|
||||||
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.TransferListener;
|
import com.google.android.exoplayer2.upstream.TransferListener;
|
||||||
import com.google.android.exoplayer2.util.Assertions;
|
import com.google.android.exoplayer2.util.Assertions;
|
||||||
|
|
||||||
@ -64,7 +65,7 @@ public final class LoopingMediaSource extends CompositeMediaSource<Void> {
|
|||||||
public void prepareSourceInternal(
|
public void prepareSourceInternal(
|
||||||
ExoPlayer player,
|
ExoPlayer player,
|
||||||
boolean isTopLevelSource,
|
boolean isTopLevelSource,
|
||||||
@Nullable TransferListener<?> mediaTransferListener) {
|
@Nullable TransferListener<? super DataSource> mediaTransferListener) {
|
||||||
super.prepareSourceInternal(player, isTopLevelSource, mediaTransferListener);
|
super.prepareSourceInternal(player, isTopLevelSource, mediaTransferListener);
|
||||||
prepareChildSource(/* id= */ null, childSource);
|
prepareChildSource(/* id= */ null, childSource);
|
||||||
}
|
}
|
||||||
|
@ -21,6 +21,7 @@ import com.google.android.exoplayer2.C;
|
|||||||
import com.google.android.exoplayer2.ExoPlayer;
|
import com.google.android.exoplayer2.ExoPlayer;
|
||||||
import com.google.android.exoplayer2.Timeline;
|
import com.google.android.exoplayer2.Timeline;
|
||||||
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.TransferListener;
|
import com.google.android.exoplayer2.upstream.TransferListener;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
@ -221,7 +222,7 @@ public interface MediaSource {
|
|||||||
ExoPlayer player,
|
ExoPlayer player,
|
||||||
boolean isTopLevelSource,
|
boolean isTopLevelSource,
|
||||||
SourceInfoRefreshListener listener,
|
SourceInfoRefreshListener listener,
|
||||||
@Nullable TransferListener<?> mediaTransferListener);
|
@Nullable TransferListener<? super DataSource> mediaTransferListener);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Throws any pending error encountered while loading or refreshing source information.
|
* Throws any pending error encountered while loading or refreshing source information.
|
||||||
|
@ -20,6 +20,7 @@ import android.support.annotation.Nullable;
|
|||||||
import com.google.android.exoplayer2.ExoPlayer;
|
import com.google.android.exoplayer2.ExoPlayer;
|
||||||
import com.google.android.exoplayer2.Timeline;
|
import com.google.android.exoplayer2.Timeline;
|
||||||
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.TransferListener;
|
import com.google.android.exoplayer2.upstream.TransferListener;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.lang.annotation.Retention;
|
import java.lang.annotation.Retention;
|
||||||
@ -101,7 +102,7 @@ public final class MergingMediaSource extends CompositeMediaSource<Integer> {
|
|||||||
public void prepareSourceInternal(
|
public void prepareSourceInternal(
|
||||||
ExoPlayer player,
|
ExoPlayer player,
|
||||||
boolean isTopLevelSource,
|
boolean isTopLevelSource,
|
||||||
@Nullable TransferListener<?> mediaTransferListener) {
|
@Nullable TransferListener<? super DataSource> mediaTransferListener) {
|
||||||
super.prepareSourceInternal(player, isTopLevelSource, mediaTransferListener);
|
super.prepareSourceInternal(player, isTopLevelSource, mediaTransferListener);
|
||||||
for (int i = 0; i < mediaSources.length; i++) {
|
for (int i = 0; i < mediaSources.length; i++) {
|
||||||
prepareChildSource(i, mediaSources[i]);
|
prepareChildSource(i, mediaSources[i]);
|
||||||
|
@ -272,7 +272,7 @@ public final class SingleSampleMediaSource extends BaseMediaSource {
|
|||||||
public void prepareSourceInternal(
|
public void prepareSourceInternal(
|
||||||
ExoPlayer player,
|
ExoPlayer player,
|
||||||
boolean isTopLevelSource,
|
boolean isTopLevelSource,
|
||||||
@Nullable TransferListener<?> mediaTransferListener) {
|
@Nullable TransferListener<? super DataSource> mediaTransferListener) {
|
||||||
refreshSourceInfo(timeline, /* manifest= */ null);
|
refreshSourceInfo(timeline, /* manifest= */ null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -309,7 +309,7 @@ public final class AdsMediaSource extends CompositeMediaSource<MediaPeriodId> {
|
|||||||
public void prepareSourceInternal(
|
public void prepareSourceInternal(
|
||||||
final ExoPlayer player,
|
final ExoPlayer player,
|
||||||
boolean isTopLevelSource,
|
boolean isTopLevelSource,
|
||||||
@Nullable TransferListener<?> mediaTransferListener) {
|
@Nullable TransferListener<? super DataSource> mediaTransferListener) {
|
||||||
super.prepareSourceInternal(player, isTopLevelSource, mediaTransferListener);
|
super.prepareSourceInternal(player, isTopLevelSource, mediaTransferListener);
|
||||||
Assertions.checkArgument(isTopLevelSource);
|
Assertions.checkArgument(isTopLevelSource);
|
||||||
final ComponentListener componentListener = new ComponentListener();
|
final ComponentListener componentListener = new ComponentListener();
|
||||||
|
@ -45,6 +45,7 @@ import com.google.android.exoplayer2.testutil.FakeTrackSelection;
|
|||||||
import com.google.android.exoplayer2.testutil.FakeTrackSelector;
|
import com.google.android.exoplayer2.testutil.FakeTrackSelector;
|
||||||
import com.google.android.exoplayer2.testutil.RobolectricUtil;
|
import com.google.android.exoplayer2.testutil.RobolectricUtil;
|
||||||
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.TransferListener;
|
import com.google.android.exoplayer2.upstream.TransferListener;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@ -233,7 +234,7 @@ public final class ExoPlayerTest {
|
|||||||
public synchronized void prepareSourceInternal(
|
public synchronized void prepareSourceInternal(
|
||||||
ExoPlayer player,
|
ExoPlayer player,
|
||||||
boolean isTopLevelSource,
|
boolean isTopLevelSource,
|
||||||
@Nullable TransferListener<?> mediaTransferListener) {
|
@Nullable TransferListener<? super DataSource> mediaTransferListener) {
|
||||||
super.prepareSourceInternal(player, isTopLevelSource, mediaTransferListener);
|
super.prepareSourceInternal(player, isTopLevelSource, mediaTransferListener);
|
||||||
// We've queued a source info refresh on the playback thread's event queue. Allow the
|
// We've queued a source info refresh on the playback thread's event queue. Allow the
|
||||||
// test thread to prepare the player with the third source, and block this thread (the
|
// test thread to prepare the player with the third source, and block this thread (the
|
||||||
|
@ -549,7 +549,7 @@ public final class DashMediaSource extends BaseMediaSource {
|
|||||||
public void prepareSourceInternal(
|
public void prepareSourceInternal(
|
||||||
ExoPlayer player,
|
ExoPlayer player,
|
||||||
boolean isTopLevelSource,
|
boolean isTopLevelSource,
|
||||||
@Nullable TransferListener<?> mediaTransferListener) {
|
@Nullable TransferListener<? super DataSource> mediaTransferListener) {
|
||||||
if (sideloadedManifest) {
|
if (sideloadedManifest) {
|
||||||
processManifest(false);
|
processManifest(false);
|
||||||
} else {
|
} else {
|
||||||
|
@ -371,7 +371,7 @@ public final class HlsMediaSource extends BaseMediaSource
|
|||||||
public void prepareSourceInternal(
|
public void prepareSourceInternal(
|
||||||
ExoPlayer player,
|
ExoPlayer player,
|
||||||
boolean isTopLevelSource,
|
boolean isTopLevelSource,
|
||||||
@Nullable TransferListener<?> mediaTransferListener) {
|
@Nullable TransferListener<? super DataSource> mediaTransferListener) {
|
||||||
EventDispatcher eventDispatcher = createEventDispatcher(/* mediaPeriodId= */ null);
|
EventDispatcher eventDispatcher = createEventDispatcher(/* mediaPeriodId= */ null);
|
||||||
playlistTracker.start(manifestUri, eventDispatcher, /* listener= */ this);
|
playlistTracker.start(manifestUri, eventDispatcher, /* listener= */ this);
|
||||||
}
|
}
|
||||||
|
@ -466,7 +466,7 @@ public final class SsMediaSource extends BaseMediaSource
|
|||||||
public void prepareSourceInternal(
|
public void prepareSourceInternal(
|
||||||
ExoPlayer player,
|
ExoPlayer player,
|
||||||
boolean isTopLevelSource,
|
boolean isTopLevelSource,
|
||||||
@Nullable TransferListener<?> mediaTransferListener) {
|
@Nullable TransferListener<? super DataSource> mediaTransferListener) {
|
||||||
if (sideloadedManifest) {
|
if (sideloadedManifest) {
|
||||||
manifestLoaderErrorThrower = new LoaderErrorThrower.Dummy();
|
manifestLoaderErrorThrower = new LoaderErrorThrower.Dummy();
|
||||||
processManifest();
|
processManifest();
|
||||||
|
@ -35,6 +35,7 @@ import com.google.android.exoplayer2.source.MediaSourceEventListener.MediaLoadDa
|
|||||||
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.upstream.Allocator;
|
import com.google.android.exoplayer2.upstream.Allocator;
|
||||||
|
import com.google.android.exoplayer2.upstream.DataSource;
|
||||||
import com.google.android.exoplayer2.upstream.DataSpec;
|
import com.google.android.exoplayer2.upstream.DataSpec;
|
||||||
import com.google.android.exoplayer2.upstream.TransferListener;
|
import com.google.android.exoplayer2.upstream.TransferListener;
|
||||||
import com.google.android.exoplayer2.util.Assertions;
|
import com.google.android.exoplayer2.util.Assertions;
|
||||||
@ -90,7 +91,7 @@ public class FakeMediaSource extends BaseMediaSource {
|
|||||||
public synchronized void prepareSourceInternal(
|
public synchronized void prepareSourceInternal(
|
||||||
ExoPlayer player,
|
ExoPlayer player,
|
||||||
boolean isTopLevelSource,
|
boolean isTopLevelSource,
|
||||||
@Nullable TransferListener<?> mediaTransferListener) {
|
@Nullable TransferListener<? super DataSource> mediaTransferListener) {
|
||||||
assertThat(preparedSource).isFalse();
|
assertThat(preparedSource).isFalse();
|
||||||
preparedSource = true;
|
preparedSource = true;
|
||||||
releasedSource = false;
|
releasedSource = false;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user