Commit 3eaab9e2 by tonihei Committed by Oliver Woodman

Group arguments in MediaSourceEventListener.

There is a large number of repeated arguments in the callback methods of
MediaSourceEventListener. Grouping them into load related data and media
related data allows to significantly reduce the amount of boiler plate code
and also simplifies future extensions of either set of data.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=187857252
parent 5fb6fc12
/*
* Copyright (C) 2018 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.google.android.exoplayer2.source;
import java.io.IOException;
/**
* A {@link MediaSourceEventListener} allowing selective overrides. All methods are implemented as
* no-ops.
*/
public abstract class DefaultMediaSourceEventListener implements MediaSourceEventListener {
@Override
public void onLoadStarted(LoadEventInfo loadEventInfo, MediaLoadData mediaLoadData) {
// Do nothing.
}
@Override
public void onLoadCompleted(LoadEventInfo loadEventInfo, MediaLoadData mediaLoadData) {
// Do nothing.
}
@Override
public void onLoadCanceled(LoadEventInfo loadEventInfo, MediaLoadData mediaLoadData) {
// Do nothing.
}
@Override
public void onLoadError(
LoadEventInfo loadEventInfo,
MediaLoadData mediaLoadData,
IOException error,
boolean wasCanceled) {
// Do nothing.
}
@Override
public void onUpstreamDiscarded(MediaLoadData mediaLoadData) {
// Do nothing.
}
@Override
public void onDownstreamFormatChanged(MediaLoadData mediaLoadData) {
// Do nothing.
}
}
...@@ -20,7 +20,6 @@ import android.os.Handler; ...@@ -20,7 +20,6 @@ import android.os.Handler;
import android.support.annotation.Nullable; import android.support.annotation.Nullable;
import com.google.android.exoplayer2.C; import com.google.android.exoplayer2.C;
import com.google.android.exoplayer2.ExoPlayer; import com.google.android.exoplayer2.ExoPlayer;
import com.google.android.exoplayer2.Format;
import com.google.android.exoplayer2.Player; import com.google.android.exoplayer2.Player;
import com.google.android.exoplayer2.extractor.DefaultExtractorsFactory; import com.google.android.exoplayer2.extractor.DefaultExtractorsFactory;
import com.google.android.exoplayer2.extractor.Extractor; import com.google.android.exoplayer2.extractor.Extractor;
...@@ -29,7 +28,6 @@ import com.google.android.exoplayer2.source.MediaSourceEventListener.EventDispat ...@@ -29,7 +28,6 @@ import com.google.android.exoplayer2.source.MediaSourceEventListener.EventDispat
import com.google.android.exoplayer2.source.ads.AdsMediaSource; import com.google.android.exoplayer2.source.ads.AdsMediaSource;
import com.google.android.exoplayer2.upstream.Allocator; import com.google.android.exoplayer2.upstream.Allocator;
import com.google.android.exoplayer2.upstream.DataSource; import com.google.android.exoplayer2.upstream.DataSource;
import com.google.android.exoplayer2.upstream.DataSpec;
import com.google.android.exoplayer2.util.Assertions; import com.google.android.exoplayer2.util.Assertions;
import java.io.IOException; import java.io.IOException;
...@@ -386,7 +384,7 @@ public final class ExtractorMediaSource extends BaseMediaSource ...@@ -386,7 +384,7 @@ public final class ExtractorMediaSource extends BaseMediaSource
* Wraps a deprecated {@link EventListener}, invoking its callback from the equivalent callback in * Wraps a deprecated {@link EventListener}, invoking its callback from the equivalent callback in
* {@link MediaSourceEventListener}. * {@link MediaSourceEventListener}.
*/ */
private static final class EventListenerWrapper implements MediaSourceEventListener { private static final class EventListenerWrapper extends DefaultMediaSourceEventListener {
private final EventListener eventListener; private final EventListener eventListener;
public EventListenerWrapper(EventListener eventListener) { public EventListenerWrapper(EventListener eventListener) {
...@@ -394,82 +392,12 @@ public final class ExtractorMediaSource extends BaseMediaSource ...@@ -394,82 +392,12 @@ public final class ExtractorMediaSource extends BaseMediaSource
} }
@Override @Override
public void onLoadStarted(
DataSpec dataSpec,
int dataType,
int trackType,
Format trackFormat,
int trackSelectionReason,
Object trackSelectionData,
long mediaStartTimeMs,
long mediaEndTimeMs,
long elapsedRealtimeMs) {
// Do nothing.
}
@Override
public void onLoadCompleted(
DataSpec dataSpec,
int dataType,
int trackType,
Format trackFormat,
int trackSelectionReason,
Object trackSelectionData,
long mediaStartTimeMs,
long mediaEndTimeMs,
long elapsedRealtimeMs,
long loadDurationMs,
long bytesLoaded) {
// Do nothing.
}
@Override
public void onLoadCanceled(
DataSpec dataSpec,
int dataType,
int trackType,
Format trackFormat,
int trackSelectionReason,
Object trackSelectionData,
long mediaStartTimeMs,
long mediaEndTimeMs,
long elapsedRealtimeMs,
long loadDurationMs,
long bytesLoaded) {
// Do nothing.
}
@Override
public void onLoadError( public void onLoadError(
DataSpec dataSpec, LoadEventInfo loadEventInfo,
int dataType, MediaLoadData mediaLoadData,
int trackType,
Format trackFormat,
int trackSelectionReason,
Object trackSelectionData,
long mediaStartTimeMs,
long mediaEndTimeMs,
long elapsedRealtimeMs,
long loadDurationMs,
long bytesLoaded,
IOException error, IOException error,
boolean wasCanceled) { boolean wasCanceled) {
eventListener.onLoadError(error); eventListener.onLoadError(error);
} }
@Override
public void onUpstreamDiscarded(int trackType, long mediaStartTimeMs, long mediaEndTimeMs) {
// Do nothing.
}
@Override
public void onDownstreamFormatChanged(
int trackType,
Format trackFormat,
int trackSelectionReason,
Object trackSelectionData,
long mediaTimeMs) {
// Do nothing.
}
} }
} }
...@@ -286,7 +286,7 @@ public final class SingleSampleMediaSource extends BaseMediaSource { ...@@ -286,7 +286,7 @@ public final class SingleSampleMediaSource extends BaseMediaSource {
* Wraps a deprecated {@link EventListener}, invoking its callback from the equivalent callback in * Wraps a deprecated {@link EventListener}, invoking its callback from the equivalent callback in
* {@link MediaSourceEventListener}. * {@link MediaSourceEventListener}.
*/ */
private static final class EventListenerWrapper implements MediaSourceEventListener { private static final class EventListenerWrapper extends DefaultMediaSourceEventListener {
private final EventListener eventListener; private final EventListener eventListener;
private final int eventSourceId; private final int eventSourceId;
...@@ -297,82 +297,12 @@ public final class SingleSampleMediaSource extends BaseMediaSource { ...@@ -297,82 +297,12 @@ public final class SingleSampleMediaSource extends BaseMediaSource {
} }
@Override @Override
public void onLoadStarted(
DataSpec dataSpec,
int dataType,
int trackType,
Format trackFormat,
int trackSelectionReason,
Object trackSelectionData,
long mediaStartTimeMs,
long mediaEndTimeMs,
long elapsedRealtimeMs) {
// Do nothing.
}
@Override
public void onLoadCompleted(
DataSpec dataSpec,
int dataType,
int trackType,
Format trackFormat,
int trackSelectionReason,
Object trackSelectionData,
long mediaStartTimeMs,
long mediaEndTimeMs,
long elapsedRealtimeMs,
long loadDurationMs,
long bytesLoaded) {
// Do nothing.
}
@Override
public void onLoadCanceled(
DataSpec dataSpec,
int dataType,
int trackType,
Format trackFormat,
int trackSelectionReason,
Object trackSelectionData,
long mediaStartTimeMs,
long mediaEndTimeMs,
long elapsedRealtimeMs,
long loadDurationMs,
long bytesLoaded) {
// Do nothing.
}
@Override
public void onLoadError( public void onLoadError(
DataSpec dataSpec, LoadEventInfo loadEventInfo,
int dataType, MediaLoadData mediaLoadData,
int trackType,
Format trackFormat,
int trackSelectionReason,
Object trackSelectionData,
long mediaStartTimeMs,
long mediaEndTimeMs,
long elapsedRealtimeMs,
long loadDurationMs,
long bytesLoaded,
IOException error, IOException error,
boolean wasCanceled) { boolean wasCanceled) {
eventListener.onLoadError(eventSourceId, error); eventListener.onLoadError(eventSourceId, error);
} }
@Override
public void onUpstreamDiscarded(int trackType, long mediaStartTimeMs, long mediaEndTimeMs) {
// Do nothing.
}
@Override
public void onDownstreamFormatChanged(
int trackType,
Format trackFormat,
int trackSelectionReason,
Object trackSelectionData,
long mediaTimeMs) {
// Do nothing.
}
} }
} }
...@@ -47,7 +47,6 @@ import com.google.android.exoplayer2.trackselection.MappingTrackSelector; ...@@ -47,7 +47,6 @@ import com.google.android.exoplayer2.trackselection.MappingTrackSelector;
import com.google.android.exoplayer2.trackselection.MappingTrackSelector.MappedTrackInfo; import com.google.android.exoplayer2.trackselection.MappingTrackSelector.MappedTrackInfo;
import com.google.android.exoplayer2.trackselection.TrackSelection; import com.google.android.exoplayer2.trackselection.TrackSelection;
import com.google.android.exoplayer2.trackselection.TrackSelectionArray; import com.google.android.exoplayer2.trackselection.TrackSelectionArray;
import com.google.android.exoplayer2.upstream.DataSpec;
import com.google.android.exoplayer2.video.VideoRendererEventListener; import com.google.android.exoplayer2.video.VideoRendererEventListener;
import java.io.IOException; import java.io.IOException;
import java.text.NumberFormat; import java.text.NumberFormat;
...@@ -362,49 +361,36 @@ public class EventLogger ...@@ -362,49 +361,36 @@ public class EventLogger
// MediaSourceEventListener // MediaSourceEventListener
@Override @Override
public void onLoadStarted( public void onLoadStarted(LoadEventInfo loadEventInfo, MediaLoadData mediaLoadData) {
DataSpec dataSpec,
int dataType,
int trackType,
Format trackFormat,
int trackSelectionReason,
Object trackSelectionData,
long mediaStartTimeMs,
long mediaEndTimeMs,
long elapsedRealtimeMs) {
// Do nothing. // Do nothing.
} }
@Override @Override
public void onLoadError(DataSpec dataSpec, int dataType, int trackType, Format trackFormat, public void onLoadError(
int trackSelectionReason, Object trackSelectionData, long mediaStartTimeMs, LoadEventInfo loadEventInfo,
long mediaEndTimeMs, long elapsedRealtimeMs, long loadDurationMs, long bytesLoaded, MediaLoadData mediaLoadData,
IOException error, boolean wasCanceled) { IOException error,
boolean wasCanceled) {
printInternalError("loadError", error); printInternalError("loadError", error);
} }
@Override @Override
public void onLoadCanceled(DataSpec dataSpec, int dataType, int trackType, Format trackFormat, public void onLoadCanceled(LoadEventInfo loadEventInfo, MediaLoadData mediaLoadData) {
int trackSelectionReason, Object trackSelectionData, long mediaStartTimeMs,
long mediaEndTimeMs, long elapsedRealtimeMs, long loadDurationMs, long bytesLoaded) {
// Do nothing. // Do nothing.
} }
@Override @Override
public void onLoadCompleted(DataSpec dataSpec, int dataType, int trackType, Format trackFormat, public void onLoadCompleted(LoadEventInfo loadEventInfo, MediaLoadData mediaLoadData) {
int trackSelectionReason, Object trackSelectionData, long mediaStartTimeMs,
long mediaEndTimeMs, long elapsedRealtimeMs, long loadDurationMs, long bytesLoaded) {
// Do nothing. // Do nothing.
} }
@Override @Override
public void onUpstreamDiscarded(int trackType, long mediaStartTimeMs, long mediaEndTimeMs) { public void onUpstreamDiscarded(MediaLoadData mediaLoadData) {
// Do nothing. // Do nothing.
} }
@Override @Override
public void onDownstreamFormatChanged(int trackType, Format trackFormat, int trackSelectionReason, public void onDownstreamFormatChanged(MediaLoadData mediaLoadData) {
Object trackSelectionData, long mediaTimeMs) {
// Do nothing. // Do nothing.
} }
......
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