mirror of
https://github.com/samsonjs/media.git
synced 2026-04-27 15:07:40 +00:00
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
This commit is contained in:
parent
ccc82cdb4a
commit
df81bd6a68
1 changed files with 6 additions and 15 deletions
|
|
@ -35,8 +35,7 @@ import java.io.IOException;
|
||||||
/** @deprecated Use {@link ProgressiveMediaSource} instead. */
|
/** @deprecated Use {@link ProgressiveMediaSource} instead. */
|
||||||
@Deprecated
|
@Deprecated
|
||||||
@SuppressWarnings("deprecation")
|
@SuppressWarnings("deprecation")
|
||||||
public final class ExtractorMediaSource extends BaseMediaSource
|
public final class ExtractorMediaSource extends CompositeMediaSource<Void> {
|
||||||
implements MediaSource.SourceInfoRefreshListener {
|
|
||||||
|
|
||||||
/** @deprecated Use {@link MediaSourceEventListener} instead. */
|
/** @deprecated Use {@link MediaSourceEventListener} instead. */
|
||||||
@Deprecated
|
@Deprecated
|
||||||
|
|
@ -340,12 +339,14 @@ public final class ExtractorMediaSource extends BaseMediaSource
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void prepareSourceInternal(@Nullable TransferListener mediaTransferListener) {
|
protected void prepareSourceInternal(@Nullable TransferListener mediaTransferListener) {
|
||||||
progressiveMediaSource.prepareSource(/* listener= */ this, mediaTransferListener);
|
super.prepareSourceInternal(mediaTransferListener);
|
||||||
|
prepareChildSource(/* id= */ null, progressiveMediaSource);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void maybeThrowSourceInfoRefreshError() throws IOException {
|
protected void onChildSourceInfoRefreshed(
|
||||||
progressiveMediaSource.maybeThrowSourceInfoRefreshError();
|
@Nullable Void id, MediaSource mediaSource, Timeline timeline) {
|
||||||
|
refreshSourceInfo(timeline);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -358,16 +359,6 @@ public final class ExtractorMediaSource extends BaseMediaSource
|
||||||
progressiveMediaSource.releasePeriod(mediaPeriod);
|
progressiveMediaSource.releasePeriod(mediaPeriod);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void releaseSourceInternal() {
|
|
||||||
progressiveMediaSource.releaseSource(/* listener= */ this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onSourceInfoRefreshed(MediaSource source, Timeline timeline) {
|
|
||||||
refreshSourceInfo(timeline);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Deprecated
|
@Deprecated
|
||||||
private static final class EventListenerWrapper extends DefaultMediaSourceEventListener {
|
private static final class EventListenerWrapper extends DefaultMediaSourceEventListener {
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue