Commit b278b028 by GiuseppePiscopo

chore(MediaSource): move getTag after removeEventListener

parent 8a359bb1
......@@ -77,6 +77,12 @@ public final class ImaAdsMediaSource extends BaseMediaSource implements SourceIn
}
@Override
@Nullable
public Object getTag() {
return adsMediaSource.getTag();
}
@Override
public void prepareSourceInternal(
final ExoPlayer player,
boolean isTopLevelSource,
......@@ -101,12 +107,6 @@ public final class ImaAdsMediaSource extends BaseMediaSource implements SourceIn
}
@Override
@Nullable
public Object getTag() {
return adsMediaSource.getTag();
}
@Override
public void releaseSourceInternal() {
adsMediaSource.releaseSource(/* listener= */ this);
}
......
......@@ -187,6 +187,12 @@ public final class ClippingMediaSource extends CompositeMediaSource<Void> {
}
@Override
@Nullable
public Object getTag() {
return mediaSource.getTag();
}
@Override
public void prepareSourceInternal(
ExoPlayer player,
boolean isTopLevelSource,
......@@ -225,12 +231,6 @@ public final class ClippingMediaSource extends CompositeMediaSource<Void> {
}
@Override
@Nullable
public Object getTag() {
return mediaSource.getTag();
}
@Override
public void releaseSourceInternal() {
super.releaseSourceInternal();
clippingError = null;
......
......@@ -454,6 +454,12 @@ public class ConcatenatingMediaSource extends CompositeMediaSource<MediaSourceHo
}
@Override
@Nullable
public Object getTag() {
return null;
}
@Override
public final synchronized void prepareSourceInternal(
ExoPlayer player,
boolean isTopLevelSource,
......@@ -509,12 +515,6 @@ public class ConcatenatingMediaSource extends CompositeMediaSource<MediaSourceHo
}
@Override
@Nullable
public Object getTag() {
return null;
}
@Override
public final void releaseSourceInternal() {
super.releaseSourceInternal();
mediaSourceHolders.clear();
......
......@@ -359,6 +359,12 @@ public final class ExtractorMediaSource extends BaseMediaSource
}
@Override
@Nullable
public Object getTag() {
return tag;
}
@Override
public void prepareSourceInternal(
ExoPlayer player,
boolean isTopLevelSource,
......@@ -396,12 +402,6 @@ public final class ExtractorMediaSource extends BaseMediaSource
}
@Override
@Nullable
public Object getTag() {
return tag;
}
@Override
public void releaseSourceInternal() {
// Do nothing.
}
......
......@@ -65,6 +65,12 @@ public final class LoopingMediaSource extends CompositeMediaSource<Void> {
}
@Override
@Nullable
public Object getTag() {
return childSource.getTag();
}
@Override
public void prepareSourceInternal(
ExoPlayer player,
boolean isTopLevelSource,
......@@ -96,12 +102,6 @@ public final class LoopingMediaSource extends CompositeMediaSource<Void> {
}
@Override
@Nullable
public Object getTag() {
return childSource.getTag();
}
@Override
protected void onChildSourceInfoRefreshed(
Void id, MediaSource mediaSource, Timeline timeline, @Nullable Object manifest) {
Timeline loopingTimeline =
......
......@@ -220,6 +220,11 @@ public interface MediaSource {
void removeEventListener(MediaSourceEventListener eventListener);
/**
* Returns the tag set on the media source, or null when none was set.
*/
@Nullable Object getTag();
/**
* Starts source preparation if not yet started, and adds a listener for timeline and/or manifest
* updates.
*
......@@ -276,11 +281,6 @@ public interface MediaSource {
void releasePeriod(MediaPeriod mediaPeriod);
/**
* Returns the tag set on media source, or null when none was set.
*/
Object getTag();
/**
* Removes a listener for timeline and/or manifest updates and releases the source if no longer
* required.
*
......
......@@ -99,6 +99,12 @@ public final class MergingMediaSource extends CompositeMediaSource<Integer> {
}
@Override
@Nullable
public Object getTag() {
return mediaSources.length > 0 ? mediaSources[0].getTag() : null;
}
@Override
public void prepareSourceInternal(
ExoPlayer player,
boolean isTopLevelSource,
......@@ -138,12 +144,6 @@ public final class MergingMediaSource extends CompositeMediaSource<Integer> {
}
@Override
@Nullable
public Object getTag() {
return mediaSources.length > 0 ? mediaSources[0].getTag() : null;
}
@Override
public void releaseSourceInternal() {
super.releaseSourceInternal();
Arrays.fill(timelines, null);
......
......@@ -298,6 +298,12 @@ public final class SingleSampleMediaSource extends BaseMediaSource {
// MediaSource implementation.
@Override
@Nullable
public Object getTag() {
return tag;
}
@Override
public void prepareSourceInternal(
ExoPlayer player,
boolean isTopLevelSource,
......@@ -330,12 +336,6 @@ public final class SingleSampleMediaSource extends BaseMediaSource {
}
@Override
@Nullable
public Object getTag() {
return tag;
}
@Override
public void releaseSourceInternal() {
// Do nothing.
}
......
......@@ -320,6 +320,12 @@ public final class AdsMediaSource extends CompositeMediaSource<MediaPeriodId> {
}
@Override
@Nullable
public Object getTag() {
return contentMediaSource.getTag();
}
@Override
public void prepareSourceInternal(
final ExoPlayer player,
boolean isTopLevelSource,
......@@ -388,12 +394,6 @@ public final class AdsMediaSource extends CompositeMediaSource<MediaPeriodId> {
}
@Override
@Nullable
public Object getTag() {
return contentMediaSource.getTag();
}
@Override
public void releaseSourceInternal() {
super.releaseSourceInternal();
componentListener.release();
......
......@@ -608,6 +608,12 @@ public final class DashMediaSource extends BaseMediaSource {
// MediaSource implementation.
@Override
@Nullable
public Object getTag() {
return tag;
}
@Override
public void prepareSourceInternal(
ExoPlayer player,
boolean isTopLevelSource,
......@@ -659,12 +665,6 @@ public final class DashMediaSource extends BaseMediaSource {
}
@Override
@Nullable
public Object getTag() {
return tag;
}
@Override
public void releaseSourceInternal() {
manifestLoadPending = false;
dataSource = null;
......
......@@ -391,6 +391,12 @@ public final class HlsMediaSource extends BaseMediaSource
}
@Override
@Nullable
public Object getTag() {
return tag;
}
@Override
public void prepareSourceInternal(
ExoPlayer player,
boolean isTopLevelSource,
......@@ -426,12 +432,6 @@ public final class HlsMediaSource extends BaseMediaSource
}
@Override
@Nullable
public Object getTag() {
return tag;
}
@Override
public void releaseSourceInternal() {
playlistTracker.stop();
}
......
......@@ -504,6 +504,12 @@ public final class SsMediaSource extends BaseMediaSource
// MediaSource implementation.
@Override
@Nullable
public Object getTag() {
return tag;
}
@Override
public void prepareSourceInternal(
ExoPlayer player,
boolean isTopLevelSource,
......@@ -550,12 +556,6 @@ public final class SsMediaSource extends BaseMediaSource
}
@Override
@Nullable
public Object getTag() {
return tag;
}
@Override
public void releaseSourceInternal() {
manifest = sideloadedManifest ? manifest : null;
manifestDataSource = null;
......
......@@ -89,6 +89,14 @@ public class FakeMediaSource extends BaseMediaSource {
}
@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,
boolean isTopLevelSource,
......@@ -134,14 +142,6 @@ public class FakeMediaSource extends BaseMediaSource {
}
@Override
@Nullable
public Object getTag() {
boolean hasTimeline = timeline != null && !timeline.isEmpty();
return hasTimeline ? timeline.getWindow(0, new Timeline.Window()).tag : null;
}
@Override
public void releaseSourceInternal() {
assertThat(preparedSource).isTrue();
assertThat(releasedSource).isFalse();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment