Deprecate add/remove video/audio debug listener in SimpleExoPlayer.

Using addAnalyticsListener provides the same functionality with additional
information.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=194071893
This commit is contained in:
tonihei 2018-04-24 05:21:06 -07:00 committed by Oliver Woodman
parent 1f3adacac3
commit f320d9e0ab

View File

@ -47,6 +47,7 @@ import com.google.android.exoplayer2.util.Clock;
import com.google.android.exoplayer2.util.Util; import com.google.android.exoplayer2.util.Util;
import com.google.android.exoplayer2.video.VideoRendererEventListener; import com.google.android.exoplayer2.video.VideoRendererEventListener;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.concurrent.CopyOnWriteArraySet; import java.util.concurrent.CopyOnWriteArraySet;
@ -181,8 +182,8 @@ public class SimpleExoPlayer implements ExoPlayer, Player.VideoComponent, Player
player = createExoPlayerImpl(renderers, trackSelector, loadControl, clock); player = createExoPlayerImpl(renderers, trackSelector, loadControl, clock);
analyticsCollector = analyticsCollectorFactory.createAnalyticsCollector(player, clock); analyticsCollector = analyticsCollectorFactory.createAnalyticsCollector(player, clock);
addListener(analyticsCollector); addListener(analyticsCollector);
addVideoDebugListener(analyticsCollector); videoDebugListeners.add(analyticsCollector);
addAudioDebugListener(analyticsCollector); audioDebugListeners.add(analyticsCollector);
addMetadataOutput(analyticsCollector); addMetadataOutput(analyticsCollector);
if (drmSessionManager instanceof DefaultDrmSessionManager) { if (drmSessionManager instanceof DefaultDrmSessionManager) {
((DefaultDrmSessionManager) drmSessionManager).addListener(eventHandler, analyticsCollector); ((DefaultDrmSessionManager) drmSessionManager).addListener(eventHandler, analyticsCollector);
@ -534,10 +535,20 @@ public class SimpleExoPlayer implements ExoPlayer, Player.VideoComponent, Player
removeTextOutput(output); removeTextOutput(output);
} }
/**
* Adds a {@link MetadataOutput} to receive metadata.
*
* @param listener The output to register.
*/
public void addMetadataOutput(MetadataOutput listener) { public void addMetadataOutput(MetadataOutput listener) {
metadataOutputs.add(listener); metadataOutputs.add(listener);
} }
/**
* Removes a {@link MetadataOutput}.
*
* @param listener The output to remove.
*/
public void removeMetadataOutput(MetadataOutput listener) { public void removeMetadataOutput(MetadataOutput listener) {
metadataOutputs.remove(listener); metadataOutputs.remove(listener);
} }
@ -550,7 +561,7 @@ public class SimpleExoPlayer implements ExoPlayer, Player.VideoComponent, Player
*/ */
@Deprecated @Deprecated
public void setMetadataOutput(MetadataOutput output) { public void setMetadataOutput(MetadataOutput output) {
metadataOutputs.clear(); metadataOutputs.retainAll(Collections.singleton(analyticsCollector));
if (output != null) { if (output != null) {
addMetadataOutput(output); addMetadataOutput(output);
} }
@ -568,65 +579,61 @@ public class SimpleExoPlayer implements ExoPlayer, Player.VideoComponent, Player
} }
/** /**
* Sets a listener to receive debug events from the video renderer. * @deprecated Use {@link #addAnalyticsListener(AnalyticsListener)} to get more detailed debug
* * information.
* @param listener The listener.
* @deprecated Use {@link #addVideoDebugListener(VideoRendererEventListener)}.
*/ */
@Deprecated @Deprecated
public void setVideoDebugListener(VideoRendererEventListener listener) { public void setVideoDebugListener(VideoRendererEventListener listener) {
videoDebugListeners.clear(); videoDebugListeners.retainAll(Collections.singleton(analyticsCollector));
if (listener != null) { if (listener != null) {
addVideoDebugListener(listener); addVideoDebugListener(listener);
} }
} }
/** /**
* Adds a listener to receive debug events from the video renderer. * @deprecated Use {@link #addAnalyticsListener(AnalyticsListener)} to get more detailed debug
* * information.
* @param listener The listener.
*/ */
@Deprecated
public void addVideoDebugListener(VideoRendererEventListener listener) { public void addVideoDebugListener(VideoRendererEventListener listener) {
videoDebugListeners.add(listener); videoDebugListeners.add(listener);
} }
/** /**
* Removes a listener to receive debug events from the video renderer. * @deprecated Use {@link #addAnalyticsListener(AnalyticsListener)} and {@link
* * #removeAnalyticsListener(AnalyticsListener)} to get more detailed debug information.
* @param listener The listener.
*/ */
@Deprecated
public void removeVideoDebugListener(VideoRendererEventListener listener) { public void removeVideoDebugListener(VideoRendererEventListener listener) {
videoDebugListeners.remove(listener); videoDebugListeners.remove(listener);
} }
/** /**
* Sets a listener to receive debug events from the audio renderer. * @deprecated Use {@link #addAnalyticsListener(AnalyticsListener)} to get more detailed debug
* * information.
* @param listener The listener.
* @deprecated Use {@link #addAudioDebugListener(AudioRendererEventListener)}.
*/ */
@Deprecated @Deprecated
public void setAudioDebugListener(AudioRendererEventListener listener) { public void setAudioDebugListener(AudioRendererEventListener listener) {
audioDebugListeners.clear(); audioDebugListeners.retainAll(Collections.singleton(analyticsCollector));
if (listener != null) { if (listener != null) {
addAudioDebugListener(listener); addAudioDebugListener(listener);
} }
} }
/** /**
* Adds a listener to receive debug events from the audio renderer. * @deprecated Use {@link #addAnalyticsListener(AnalyticsListener)} to get more detailed debug
* * information.
* @param listener The listener.
*/ */
@Deprecated
public void addAudioDebugListener(AudioRendererEventListener listener) { public void addAudioDebugListener(AudioRendererEventListener listener) {
audioDebugListeners.add(listener); audioDebugListeners.add(listener);
} }
/** /**
* Removes a listener to receive debug events from the audio renderer. * @deprecated Use {@link #addAnalyticsListener(AnalyticsListener)} and {@link
* * #removeAnalyticsListener(AnalyticsListener)} to get more detailed debug information.
* @param listener The listener.
*/ */
@Deprecated
public void removeAudioDebugListener(AudioRendererEventListener listener) { public void removeAudioDebugListener(AudioRendererEventListener listener) {
audioDebugListeners.remove(listener); audioDebugListeners.remove(listener);
} }