mirror of
https://github.com/samsonjs/media.git
synced 2026-03-28 09:55:48 +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
|
||||
@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 {
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue