mirror of
https://github.com/androidx/media.git
synced 2025-05-07 07:30:22 +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(
|
||||
final ExoPlayer player,
|
||||
boolean isTopLevelSource,
|
||||
@Nullable TransferListener<?> mediaTransferListener) {
|
||||
@Nullable TransferListener<? super DataSource> mediaTransferListener) {
|
||||
adsMediaSource.prepareSource(
|
||||
player, isTopLevelSource, /* listener= */ this, mediaTransferListener);
|
||||
}
|
||||
|
@ -19,6 +19,7 @@ import android.os.Handler;
|
||||
import android.support.annotation.Nullable;
|
||||
import com.google.android.exoplayer2.ExoPlayer;
|
||||
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.util.Assertions;
|
||||
import java.util.ArrayList;
|
||||
@ -60,7 +61,7 @@ public abstract class BaseMediaSource implements MediaSource {
|
||||
protected abstract void prepareSourceInternal(
|
||||
ExoPlayer player,
|
||||
boolean isTopLevelSource,
|
||||
@Nullable TransferListener<?> mediaTransferListener);
|
||||
@Nullable TransferListener<? super DataSource> mediaTransferListener);
|
||||
|
||||
/**
|
||||
* 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,
|
||||
boolean isTopLevelSource,
|
||||
SourceInfoRefreshListener listener,
|
||||
@Nullable TransferListener<?> mediaTransferListener) {
|
||||
@Nullable TransferListener<? super DataSource> mediaTransferListener) {
|
||||
Assertions.checkArgument(this.player == null || this.player == player);
|
||||
sourceInfoListeners.add(listener);
|
||||
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.Timeline;
|
||||
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.util.Assertions;
|
||||
import java.io.IOException;
|
||||
@ -215,7 +216,7 @@ public final class ClippingMediaSource extends CompositeMediaSource<Void> {
|
||||
public void prepareSourceInternal(
|
||||
ExoPlayer player,
|
||||
boolean isTopLevelSource,
|
||||
@Nullable TransferListener<?> mediaTransferListener) {
|
||||
@Nullable TransferListener<? super DataSource> mediaTransferListener) {
|
||||
super.prepareSourceInternal(player, isTopLevelSource, mediaTransferListener);
|
||||
prepareChildSource(/* id= */ null, mediaSource);
|
||||
}
|
||||
|
@ -20,7 +20,7 @@ import android.support.annotation.CallSuper;
|
||||
import android.support.annotation.Nullable;
|
||||
import com.google.android.exoplayer2.ExoPlayer;
|
||||
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.util.Assertions;
|
||||
import com.google.android.exoplayer2.util.Util;
|
||||
@ -38,7 +38,7 @@ public abstract class CompositeMediaSource<T> extends BaseMediaSource {
|
||||
|
||||
private @Nullable ExoPlayer player;
|
||||
private @Nullable Handler eventHandler;
|
||||
private @Nullable TransferListener<?> mediaTransferListener;
|
||||
private @Nullable TransferListener<? super DataSource> mediaTransferListener;
|
||||
|
||||
/** Create composite media source without child sources. */
|
||||
protected CompositeMediaSource() {
|
||||
@ -50,7 +50,7 @@ public abstract class CompositeMediaSource<T> extends BaseMediaSource {
|
||||
public void prepareSourceInternal(
|
||||
ExoPlayer player,
|
||||
boolean isTopLevelSource,
|
||||
@Nullable TransferListener<?> mediaTransferListener) {
|
||||
@Nullable TransferListener<? super DataSource> mediaTransferListener) {
|
||||
this.player = player;
|
||||
this.mediaTransferListener = mediaTransferListener;
|
||||
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.ShuffleOrder.DefaultShuffleOrder;
|
||||
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.util.Assertions;
|
||||
import com.google.android.exoplayer2.util.Util;
|
||||
@ -377,7 +378,7 @@ public class ConcatenatingMediaSource extends CompositeMediaSource<MediaSourceHo
|
||||
public final synchronized void prepareSourceInternal(
|
||||
ExoPlayer player,
|
||||
boolean isTopLevelSource,
|
||||
@Nullable TransferListener<?> mediaTransferListener) {
|
||||
@Nullable TransferListener<? super DataSource> mediaTransferListener) {
|
||||
super.prepareSourceInternal(player, isTopLevelSource, mediaTransferListener);
|
||||
this.player = player;
|
||||
playerApplicationHandler = new Handler(player.getApplicationLooper());
|
||||
|
@ -348,7 +348,7 @@ public final class ExtractorMediaSource extends BaseMediaSource
|
||||
public void prepareSourceInternal(
|
||||
ExoPlayer player,
|
||||
boolean isTopLevelSource,
|
||||
@Nullable TransferListener<?> mediaTransferListener) {
|
||||
@Nullable TransferListener<? super DataSource> mediaTransferListener) {
|
||||
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.source.ShuffleOrder.UnshuffledShuffleOrder;
|
||||
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.util.Assertions;
|
||||
|
||||
@ -64,7 +65,7 @@ public final class LoopingMediaSource extends CompositeMediaSource<Void> {
|
||||
public void prepareSourceInternal(
|
||||
ExoPlayer player,
|
||||
boolean isTopLevelSource,
|
||||
@Nullable TransferListener<?> mediaTransferListener) {
|
||||
@Nullable TransferListener<? super DataSource> mediaTransferListener) {
|
||||
super.prepareSourceInternal(player, isTopLevelSource, mediaTransferListener);
|
||||
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.Timeline;
|
||||
import com.google.android.exoplayer2.upstream.Allocator;
|
||||
import com.google.android.exoplayer2.upstream.DataSource;
|
||||
import com.google.android.exoplayer2.upstream.TransferListener;
|
||||
import java.io.IOException;
|
||||
|
||||
@ -221,7 +222,7 @@ public interface MediaSource {
|
||||
ExoPlayer player,
|
||||
boolean isTopLevelSource,
|
||||
SourceInfoRefreshListener listener,
|
||||
@Nullable TransferListener<?> mediaTransferListener);
|
||||
@Nullable TransferListener<? super DataSource> mediaTransferListener);
|
||||
|
||||
/**
|
||||
* 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.Timeline;
|
||||
import com.google.android.exoplayer2.upstream.Allocator;
|
||||
import com.google.android.exoplayer2.upstream.DataSource;
|
||||
import com.google.android.exoplayer2.upstream.TransferListener;
|
||||
import java.io.IOException;
|
||||
import java.lang.annotation.Retention;
|
||||
@ -101,7 +102,7 @@ public final class MergingMediaSource extends CompositeMediaSource<Integer> {
|
||||
public void prepareSourceInternal(
|
||||
ExoPlayer player,
|
||||
boolean isTopLevelSource,
|
||||
@Nullable TransferListener<?> mediaTransferListener) {
|
||||
@Nullable TransferListener<? super DataSource> mediaTransferListener) {
|
||||
super.prepareSourceInternal(player, isTopLevelSource, mediaTransferListener);
|
||||
for (int i = 0; i < mediaSources.length; i++) {
|
||||
prepareChildSource(i, mediaSources[i]);
|
||||
|
@ -272,7 +272,7 @@ public final class SingleSampleMediaSource extends BaseMediaSource {
|
||||
public void prepareSourceInternal(
|
||||
ExoPlayer player,
|
||||
boolean isTopLevelSource,
|
||||
@Nullable TransferListener<?> mediaTransferListener) {
|
||||
@Nullable TransferListener<? super DataSource> mediaTransferListener) {
|
||||
refreshSourceInfo(timeline, /* manifest= */ null);
|
||||
}
|
||||
|
||||
|
@ -309,7 +309,7 @@ public final class AdsMediaSource extends CompositeMediaSource<MediaPeriodId> {
|
||||
public void prepareSourceInternal(
|
||||
final ExoPlayer player,
|
||||
boolean isTopLevelSource,
|
||||
@Nullable TransferListener<?> mediaTransferListener) {
|
||||
@Nullable TransferListener<? super DataSource> mediaTransferListener) {
|
||||
super.prepareSourceInternal(player, isTopLevelSource, mediaTransferListener);
|
||||
Assertions.checkArgument(isTopLevelSource);
|
||||
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.RobolectricUtil;
|
||||
import com.google.android.exoplayer2.upstream.Allocator;
|
||||
import com.google.android.exoplayer2.upstream.DataSource;
|
||||
import com.google.android.exoplayer2.upstream.TransferListener;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
@ -233,7 +234,7 @@ public final class ExoPlayerTest {
|
||||
public synchronized void prepareSourceInternal(
|
||||
ExoPlayer player,
|
||||
boolean isTopLevelSource,
|
||||
@Nullable TransferListener<?> mediaTransferListener) {
|
||||
@Nullable TransferListener<? super DataSource> mediaTransferListener) {
|
||||
super.prepareSourceInternal(player, isTopLevelSource, mediaTransferListener);
|
||||
// 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
|
||||
|
@ -549,7 +549,7 @@ public final class DashMediaSource extends BaseMediaSource {
|
||||
public void prepareSourceInternal(
|
||||
ExoPlayer player,
|
||||
boolean isTopLevelSource,
|
||||
@Nullable TransferListener<?> mediaTransferListener) {
|
||||
@Nullable TransferListener<? super DataSource> mediaTransferListener) {
|
||||
if (sideloadedManifest) {
|
||||
processManifest(false);
|
||||
} else {
|
||||
|
@ -371,7 +371,7 @@ public final class HlsMediaSource extends BaseMediaSource
|
||||
public void prepareSourceInternal(
|
||||
ExoPlayer player,
|
||||
boolean isTopLevelSource,
|
||||
@Nullable TransferListener<?> mediaTransferListener) {
|
||||
@Nullable TransferListener<? super DataSource> mediaTransferListener) {
|
||||
EventDispatcher eventDispatcher = createEventDispatcher(/* mediaPeriodId= */ null);
|
||||
playlistTracker.start(manifestUri, eventDispatcher, /* listener= */ this);
|
||||
}
|
||||
|
@ -466,7 +466,7 @@ public final class SsMediaSource extends BaseMediaSource
|
||||
public void prepareSourceInternal(
|
||||
ExoPlayer player,
|
||||
boolean isTopLevelSource,
|
||||
@Nullable TransferListener<?> mediaTransferListener) {
|
||||
@Nullable TransferListener<? super DataSource> mediaTransferListener) {
|
||||
if (sideloadedManifest) {
|
||||
manifestLoaderErrorThrower = new LoaderErrorThrower.Dummy();
|
||||
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.TrackGroupArray;
|
||||
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.TransferListener;
|
||||
import com.google.android.exoplayer2.util.Assertions;
|
||||
@ -90,7 +91,7 @@ public class FakeMediaSource extends BaseMediaSource {
|
||||
public synchronized void prepareSourceInternal(
|
||||
ExoPlayer player,
|
||||
boolean isTopLevelSource,
|
||||
@Nullable TransferListener<?> mediaTransferListener) {
|
||||
@Nullable TransferListener<? super DataSource> mediaTransferListener) {
|
||||
assertThat(preparedSource).isFalse();
|
||||
preparedSource = true;
|
||||
releasedSource = false;
|
||||
|
Loading…
x
Reference in New Issue
Block a user