Commit df81bd6a by tonihei Committed by Oliver Woodman

Make ExtractorMediaSource a CompositeMediaSource instead of just wrapping.

It's easy to forget to forward methods when using basic wrapping. For example,
ExtractorMediaSource.addEventListener is currently a no-op because it's not
forwarded.

PiperOrigin-RevId: 257757556
parent ccc82cdb
......@@ -35,8 +35,7 @@ import java.io.IOException;
/** @deprecated Use {@link ProgressiveMediaSource} instead. */
@Deprecated
@SuppressWarnings("deprecation")
public final class ExtractorMediaSource extends BaseMediaSource
implements MediaSource.SourceInfoRefreshListener {
public final class ExtractorMediaSource extends CompositeMediaSource<Void> {
/** @deprecated Use {@link MediaSourceEventListener} instead. */
@Deprecated
......@@ -340,12 +339,14 @@ public final class ExtractorMediaSource extends BaseMediaSource
@Override
protected void prepareSourceInternal(@Nullable TransferListener mediaTransferListener) {
progressiveMediaSource.prepareSource(/* listener= */ this, mediaTransferListener);
super.prepareSourceInternal(mediaTransferListener);
prepareChildSource(/* id= */ null, progressiveMediaSource);
}
@Override
public void maybeThrowSourceInfoRefreshError() throws IOException {
progressiveMediaSource.maybeThrowSourceInfoRefreshError();
protected void onChildSourceInfoRefreshed(
@Nullable Void id, MediaSource mediaSource, Timeline timeline) {
refreshSourceInfo(timeline);
}
@Override
......@@ -358,16 +359,6 @@ public final class ExtractorMediaSource extends BaseMediaSource
progressiveMediaSource.releasePeriod(mediaPeriod);
}
@Override
protected void releaseSourceInternal() {
progressiveMediaSource.releaseSource(/* listener= */ this);
}
@Override
public void onSourceInfoRefreshed(MediaSource source, Timeline timeline) {
refreshSourceInfo(timeline);
}
@Deprecated
private static final class EventListenerWrapper extends DefaultMediaSourceEventListener {
......
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