Merge pull request #5187 from BrainCrumbz:feat/get-tag

PiperOrigin-RevId: 224166374
This commit is contained in:
Oliver Woodman 2018-12-05 17:49:05 +00:00
parent ddda2eef7e
commit 5f33c7fcf5
13 changed files with 87 additions and 0 deletions

View File

@ -76,6 +76,12 @@ public final class ImaAdsMediaSource extends BaseMediaSource implements SourceIn
adUiViewGroup, eventHandler, eventListener);
}
@Override
@Nullable
public Object getTag() {
return adsMediaSource.getTag();
}
@Override
public void prepareSourceInternal(
final ExoPlayer player,

View File

@ -216,6 +216,12 @@ public final class ClippingMediaSource extends CompositeMediaSource<Void> {
window = new Timeline.Window();
}
@Override
@Nullable
public Object getTag() {
return mediaSource.getTag();
}
@Override
public void prepareSourceInternal(
ExoPlayer player,

View File

@ -453,6 +453,12 @@ public class ConcatenatingMediaSource extends CompositeMediaSource<MediaSourceHo
}
}
@Override
@Nullable
public Object getTag() {
return null;
}
@Override
public final synchronized void prepareSourceInternal(
ExoPlayer player,
@ -1069,6 +1075,12 @@ public class ConcatenatingMediaSource extends CompositeMediaSource<MediaSourceHo
// Do nothing.
}
@Override
@Nullable
public Object getTag() {
return null;
}
@Override
protected void releaseSourceInternal() {
// Do nothing.

View File

@ -358,6 +358,12 @@ public final class ExtractorMediaSource extends BaseMediaSource
this.tag = tag;
}
@Override
@Nullable
public Object getTag() {
return tag;
}
@Override
public void prepareSourceInternal(
ExoPlayer player,

View File

@ -64,6 +64,12 @@ public final class LoopingMediaSource extends CompositeMediaSource<Void> {
mediaPeriodToChildMediaPeriodId = new HashMap<>();
}
@Override
@Nullable
public Object getTag() {
return childSource.getTag();
}
@Override
public void prepareSourceInternal(
ExoPlayer player,

View File

@ -220,6 +220,12 @@ public interface MediaSource {
*/
void removeEventListener(MediaSourceEventListener eventListener);
/** Returns the tag set on the media source, or null if none was set. */
@Nullable
default Object getTag() {
return null;
}
/** @deprecated Will be removed in the next release. */
@Deprecated
void prepareSource(

View File

@ -98,6 +98,12 @@ public final class MergingMediaSource extends CompositeMediaSource<Integer> {
timelines = new Timeline[mediaSources.length];
}
@Override
@Nullable
public Object getTag() {
return mediaSources.length > 0 ? mediaSources[0].getTag() : null;
}
@Override
public void prepareSourceInternal(
ExoPlayer player,

View File

@ -185,6 +185,7 @@ public final class SingleSampleMediaSource extends BaseMediaSource {
private final LoadErrorHandlingPolicy loadErrorHandlingPolicy;
private final boolean treatLoadErrorsAsEndOfStream;
private final Timeline timeline;
@Nullable private final Object tag;
private @Nullable TransferListener transferListener;
@ -287,6 +288,7 @@ public final class SingleSampleMediaSource extends BaseMediaSource {
this.durationUs = durationUs;
this.loadErrorHandlingPolicy = loadErrorHandlingPolicy;
this.treatLoadErrorsAsEndOfStream = treatLoadErrorsAsEndOfStream;
this.tag = tag;
dataSpec =
new DataSpec(uri, DataSpec.FLAG_ALLOW_GZIP | DataSpec.FLAG_ALLOW_CACHING_UNKNOWN_LENGTH);
timeline =
@ -295,6 +297,12 @@ public final class SingleSampleMediaSource extends BaseMediaSource {
// MediaSource implementation.
@Override
@Nullable
public Object getTag() {
return tag;
}
@Override
public void prepareSourceInternal(
ExoPlayer player,

View File

@ -319,6 +319,12 @@ public final class AdsMediaSource extends CompositeMediaSource<MediaPeriodId> {
adsLoader.setSupportedContentTypes(adMediaSourceFactory.getSupportedTypes());
}
@Override
@Nullable
public Object getTag() {
return contentMediaSource.getTag();
}
@Override
public void prepareSourceInternal(
final ExoPlayer player,

View File

@ -607,6 +607,12 @@ public final class DashMediaSource extends BaseMediaSource {
// MediaSource implementation.
@Override
@Nullable
public Object getTag() {
return tag;
}
@Override
public void prepareSourceInternal(
ExoPlayer player,

View File

@ -390,6 +390,12 @@ public final class HlsMediaSource extends BaseMediaSource
this.tag = tag;
}
@Override
@Nullable
public Object getTag() {
return tag;
}
@Override
public void prepareSourceInternal(
ExoPlayer player,

View File

@ -503,6 +503,12 @@ public final class SsMediaSource extends BaseMediaSource
// MediaSource implementation.
@Override
@Nullable
public Object getTag() {
return tag;
}
@Override
public void prepareSourceInternal(
ExoPlayer player,

View File

@ -88,6 +88,13 @@ public class FakeMediaSource extends BaseMediaSource {
this.trackGroupArray = trackGroupArray;
}
@Override
@Nullable
public Object getTag() {
boolean hasTimeline = timeline != null && !timeline.isEmpty();
return hasTimeline ? timeline.getWindow(0, new Timeline.Window()).tag : null;
}
@Override
public synchronized void prepareSourceInternal(
ExoPlayer player,