Merge pull request #3887 from CoryCharlton/dev-v2

Add abstract logging methods to EventLogger
This commit is contained in:
ojw28 2018-02-27 11:24:12 +00:00 committed by GitHub
commit 932abaf0bc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -89,33 +89,33 @@ public class EventLogger
@Override @Override
public void onLoadingChanged(boolean isLoading) { public void onLoadingChanged(boolean isLoading) {
Log.d(TAG, "loading [" + isLoading + "]"); logd(TAG, "loading [" + isLoading + "]");
} }
@Override @Override
public void onPlayerStateChanged(boolean playWhenReady, int state) { public void onPlayerStateChanged(boolean playWhenReady, int state) {
Log.d(TAG, "state [" + getSessionTimeString() + ", " + playWhenReady + ", " logd(TAG, "state [" + getSessionTimeString() + ", " + playWhenReady + ", "
+ getStateString(state) + "]"); + getStateString(state) + "]");
} }
@Override @Override
public void onRepeatModeChanged(@Player.RepeatMode int repeatMode) { public void onRepeatModeChanged(@Player.RepeatMode int repeatMode) {
Log.d(TAG, "repeatMode [" + getRepeatModeString(repeatMode) + "]"); logd(TAG, "repeatMode [" + getRepeatModeString(repeatMode) + "]");
} }
@Override @Override
public void onShuffleModeEnabledChanged(boolean shuffleModeEnabled) { public void onShuffleModeEnabledChanged(boolean shuffleModeEnabled) {
Log.d(TAG, "shuffleModeEnabled [" + shuffleModeEnabled + "]"); logd(TAG, "shuffleModeEnabled [" + shuffleModeEnabled + "]");
} }
@Override @Override
public void onPositionDiscontinuity(@Player.DiscontinuityReason int reason) { public void onPositionDiscontinuity(@Player.DiscontinuityReason int reason) {
Log.d(TAG, "positionDiscontinuity [" + getDiscontinuityReasonString(reason) + "]"); logd(TAG, "positionDiscontinuity [" + getDiscontinuityReasonString(reason) + "]");
} }
@Override @Override
public void onPlaybackParametersChanged(PlaybackParameters playbackParameters) { public void onPlaybackParametersChanged(PlaybackParameters playbackParameters) {
Log.d(TAG, "playbackParameters " + String.format( logd(TAG, "playbackParameters " + String.format(
"[speed=%.2f, pitch=%.2f]", playbackParameters.speed, playbackParameters.pitch)); "[speed=%.2f, pitch=%.2f]", playbackParameters.speed, playbackParameters.pitch));
} }
@ -124,138 +124,138 @@ public class EventLogger
@Player.TimelineChangeReason int reason) { @Player.TimelineChangeReason int reason) {
int periodCount = timeline.getPeriodCount(); int periodCount = timeline.getPeriodCount();
int windowCount = timeline.getWindowCount(); int windowCount = timeline.getWindowCount();
Log.d(TAG, "timelineChanged [periodCount=" + periodCount + ", windowCount=" + windowCount logd(TAG, "timelineChanged [periodCount=" + periodCount + ", windowCount=" + windowCount
+ ", reason=" + getTimelineChangeReasonString(reason)); + ", reason=" + getTimelineChangeReasonString(reason));
for (int i = 0; i < Math.min(periodCount, MAX_TIMELINE_ITEM_LINES); i++) { for (int i = 0; i < Math.min(periodCount, MAX_TIMELINE_ITEM_LINES); i++) {
timeline.getPeriod(i, period); timeline.getPeriod(i, period);
Log.d(TAG, " " + "period [" + getTimeString(period.getDurationMs()) + "]"); logd(TAG, " " + "period [" + getTimeString(period.getDurationMs()) + "]");
} }
if (periodCount > MAX_TIMELINE_ITEM_LINES) { if (periodCount > MAX_TIMELINE_ITEM_LINES) {
Log.d(TAG, " ..."); logd(TAG, " ...");
} }
for (int i = 0; i < Math.min(windowCount, MAX_TIMELINE_ITEM_LINES); i++) { for (int i = 0; i < Math.min(windowCount, MAX_TIMELINE_ITEM_LINES); i++) {
timeline.getWindow(i, window); timeline.getWindow(i, window);
Log.d(TAG, " " + "window [" + getTimeString(window.getDurationMs()) + ", " logd(TAG, " " + "window [" + getTimeString(window.getDurationMs()) + ", "
+ window.isSeekable + ", " + window.isDynamic + "]"); + window.isSeekable + ", " + window.isDynamic + "]");
} }
if (windowCount > MAX_TIMELINE_ITEM_LINES) { if (windowCount > MAX_TIMELINE_ITEM_LINES) {
Log.d(TAG, " ..."); logd(TAG, " ...");
} }
Log.d(TAG, "]"); logd(TAG, "]");
} }
@Override @Override
public void onPlayerError(ExoPlaybackException e) { public void onPlayerError(ExoPlaybackException e) {
Log.e(TAG, "playerFailed [" + getSessionTimeString() + "]", e); loge(TAG, "playerFailed [" + getSessionTimeString() + "]", e);
} }
@Override @Override
public void onTracksChanged(TrackGroupArray ignored, TrackSelectionArray trackSelections) { public void onTracksChanged(TrackGroupArray ignored, TrackSelectionArray trackSelections) {
MappedTrackInfo mappedTrackInfo = trackSelector.getCurrentMappedTrackInfo(); MappedTrackInfo mappedTrackInfo = trackSelector.getCurrentMappedTrackInfo();
if (mappedTrackInfo == null) { if (mappedTrackInfo == null) {
Log.d(TAG, "Tracks []"); logd(TAG, "Tracks []");
return; return;
} }
Log.d(TAG, "Tracks ["); logd(TAG, "Tracks [");
// Log tracks associated to renderers. // Log tracks associated to renderers.
for (int rendererIndex = 0; rendererIndex < mappedTrackInfo.length; rendererIndex++) { for (int rendererIndex = 0; rendererIndex < mappedTrackInfo.length; rendererIndex++) {
TrackGroupArray rendererTrackGroups = mappedTrackInfo.getTrackGroups(rendererIndex); TrackGroupArray rendererTrackGroups = mappedTrackInfo.getTrackGroups(rendererIndex);
TrackSelection trackSelection = trackSelections.get(rendererIndex); TrackSelection trackSelection = trackSelections.get(rendererIndex);
if (rendererTrackGroups.length > 0) { if (rendererTrackGroups.length > 0) {
Log.d(TAG, " Renderer:" + rendererIndex + " ["); logd(TAG, " Renderer:" + rendererIndex + " [");
for (int groupIndex = 0; groupIndex < rendererTrackGroups.length; groupIndex++) { for (int groupIndex = 0; groupIndex < rendererTrackGroups.length; groupIndex++) {
TrackGroup trackGroup = rendererTrackGroups.get(groupIndex); TrackGroup trackGroup = rendererTrackGroups.get(groupIndex);
String adaptiveSupport = getAdaptiveSupportString(trackGroup.length, String adaptiveSupport = getAdaptiveSupportString(trackGroup.length,
mappedTrackInfo.getAdaptiveSupport(rendererIndex, groupIndex, false)); mappedTrackInfo.getAdaptiveSupport(rendererIndex, groupIndex, false));
Log.d(TAG, " Group:" + groupIndex + ", adaptive_supported=" + adaptiveSupport + " ["); logd(TAG, " Group:" + groupIndex + ", adaptive_supported=" + adaptiveSupport + " [");
for (int trackIndex = 0; trackIndex < trackGroup.length; trackIndex++) { for (int trackIndex = 0; trackIndex < trackGroup.length; trackIndex++) {
String status = getTrackStatusString(trackSelection, trackGroup, trackIndex); String status = getTrackStatusString(trackSelection, trackGroup, trackIndex);
String formatSupport = getFormatSupportString( String formatSupport = getFormatSupportString(
mappedTrackInfo.getTrackFormatSupport(rendererIndex, groupIndex, trackIndex)); mappedTrackInfo.getTrackFormatSupport(rendererIndex, groupIndex, trackIndex));
Log.d(TAG, " " + status + " Track:" + trackIndex + ", " logd(TAG, " " + status + " Track:" + trackIndex + ", "
+ Format.toLogString(trackGroup.getFormat(trackIndex)) + Format.toLogString(trackGroup.getFormat(trackIndex))
+ ", supported=" + formatSupport); + ", supported=" + formatSupport);
} }
Log.d(TAG, " ]"); logd(TAG, " ]");
} }
// Log metadata for at most one of the tracks selected for the renderer. // Log metadata for at most one of the tracks selected for the renderer.
if (trackSelection != null) { if (trackSelection != null) {
for (int selectionIndex = 0; selectionIndex < trackSelection.length(); selectionIndex++) { for (int selectionIndex = 0; selectionIndex < trackSelection.length(); selectionIndex++) {
Metadata metadata = trackSelection.getFormat(selectionIndex).metadata; Metadata metadata = trackSelection.getFormat(selectionIndex).metadata;
if (metadata != null) { if (metadata != null) {
Log.d(TAG, " Metadata ["); logd(TAG, " Metadata [");
printMetadata(metadata, " "); printMetadata(metadata, " ");
Log.d(TAG, " ]"); logd(TAG, " ]");
break; break;
} }
} }
} }
Log.d(TAG, " ]"); logd(TAG, " ]");
} }
} }
// Log tracks not associated with a renderer. // Log tracks not associated with a renderer.
TrackGroupArray unassociatedTrackGroups = mappedTrackInfo.getUnassociatedTrackGroups(); TrackGroupArray unassociatedTrackGroups = mappedTrackInfo.getUnassociatedTrackGroups();
if (unassociatedTrackGroups.length > 0) { if (unassociatedTrackGroups.length > 0) {
Log.d(TAG, " Renderer:None ["); logd(TAG, " Renderer:None [");
for (int groupIndex = 0; groupIndex < unassociatedTrackGroups.length; groupIndex++) { for (int groupIndex = 0; groupIndex < unassociatedTrackGroups.length; groupIndex++) {
Log.d(TAG, " Group:" + groupIndex + " ["); logd(TAG, " Group:" + groupIndex + " [");
TrackGroup trackGroup = unassociatedTrackGroups.get(groupIndex); TrackGroup trackGroup = unassociatedTrackGroups.get(groupIndex);
for (int trackIndex = 0; trackIndex < trackGroup.length; trackIndex++) { for (int trackIndex = 0; trackIndex < trackGroup.length; trackIndex++) {
String status = getTrackStatusString(false); String status = getTrackStatusString(false);
String formatSupport = getFormatSupportString( String formatSupport = getFormatSupportString(
RendererCapabilities.FORMAT_UNSUPPORTED_TYPE); RendererCapabilities.FORMAT_UNSUPPORTED_TYPE);
Log.d(TAG, " " + status + " Track:" + trackIndex + ", " logd(TAG, " " + status + " Track:" + trackIndex + ", "
+ Format.toLogString(trackGroup.getFormat(trackIndex)) + Format.toLogString(trackGroup.getFormat(trackIndex))
+ ", supported=" + formatSupport); + ", supported=" + formatSupport);
} }
Log.d(TAG, " ]"); logd(TAG, " ]");
} }
Log.d(TAG, " ]"); logd(TAG, " ]");
} }
Log.d(TAG, "]"); logd(TAG, "]");
} }
@Override @Override
public void onSeekProcessed() { public void onSeekProcessed() {
Log.d(TAG, "seekProcessed"); logd(TAG, "seekProcessed");
} }
// MetadataOutput // MetadataOutput
@Override @Override
public void onMetadata(Metadata metadata) { public void onMetadata(Metadata metadata) {
Log.d(TAG, "onMetadata ["); logd(TAG, "onMetadata [");
printMetadata(metadata, " "); printMetadata(metadata, " ");
Log.d(TAG, "]"); logd(TAG, "]");
} }
// AudioRendererEventListener // AudioRendererEventListener
@Override @Override
public void onAudioEnabled(DecoderCounters counters) { public void onAudioEnabled(DecoderCounters counters) {
Log.d(TAG, "audioEnabled [" + getSessionTimeString() + "]"); logd(TAG, "audioEnabled [" + getSessionTimeString() + "]");
} }
@Override @Override
public void onAudioSessionId(int audioSessionId) { public void onAudioSessionId(int audioSessionId) {
Log.d(TAG, "audioSessionId [" + audioSessionId + "]"); logd(TAG, "audioSessionId [" + audioSessionId + "]");
} }
@Override @Override
public void onAudioDecoderInitialized(String decoderName, long elapsedRealtimeMs, public void onAudioDecoderInitialized(String decoderName, long elapsedRealtimeMs,
long initializationDurationMs) { long initializationDurationMs) {
Log.d(TAG, "audioDecoderInitialized [" + getSessionTimeString() + ", " + decoderName + "]"); logd(TAG, "audioDecoderInitialized [" + getSessionTimeString() + ", " + decoderName + "]");
} }
@Override @Override
public void onAudioInputFormatChanged(Format format) { public void onAudioInputFormatChanged(Format format) {
Log.d(TAG, "audioFormatChanged [" + getSessionTimeString() + ", " + Format.toLogString(format) logd(TAG, "audioFormatChanged [" + getSessionTimeString() + ", " + Format.toLogString(format)
+ "]"); + "]");
} }
@Override @Override
public void onAudioDisabled(DecoderCounters counters) { public void onAudioDisabled(DecoderCounters counters) {
Log.d(TAG, "audioDisabled [" + getSessionTimeString() + "]"); logd(TAG, "audioDisabled [" + getSessionTimeString() + "]");
} }
@Override @Override
@ -268,40 +268,40 @@ public class EventLogger
@Override @Override
public void onVideoEnabled(DecoderCounters counters) { public void onVideoEnabled(DecoderCounters counters) {
Log.d(TAG, "videoEnabled [" + getSessionTimeString() + "]"); logd(TAG, "videoEnabled [" + getSessionTimeString() + "]");
} }
@Override @Override
public void onVideoDecoderInitialized(String decoderName, long elapsedRealtimeMs, public void onVideoDecoderInitialized(String decoderName, long elapsedRealtimeMs,
long initializationDurationMs) { long initializationDurationMs) {
Log.d(TAG, "videoDecoderInitialized [" + getSessionTimeString() + ", " + decoderName + "]"); logd(TAG, "videoDecoderInitialized [" + getSessionTimeString() + ", " + decoderName + "]");
} }
@Override @Override
public void onVideoInputFormatChanged(Format format) { public void onVideoInputFormatChanged(Format format) {
Log.d(TAG, "videoFormatChanged [" + getSessionTimeString() + ", " + Format.toLogString(format) logd(TAG, "videoFormatChanged [" + getSessionTimeString() + ", " + Format.toLogString(format)
+ "]"); + "]");
} }
@Override @Override
public void onVideoDisabled(DecoderCounters counters) { public void onVideoDisabled(DecoderCounters counters) {
Log.d(TAG, "videoDisabled [" + getSessionTimeString() + "]"); logd(TAG, "videoDisabled [" + getSessionTimeString() + "]");
} }
@Override @Override
public void onDroppedFrames(int count, long elapsed) { public void onDroppedFrames(int count, long elapsed) {
Log.d(TAG, "droppedFrames [" + getSessionTimeString() + ", " + count + "]"); logd(TAG, "droppedFrames [" + getSessionTimeString() + ", " + count + "]");
} }
@Override @Override
public void onVideoSizeChanged(int width, int height, int unappliedRotationDegrees, public void onVideoSizeChanged(int width, int height, int unappliedRotationDegrees,
float pixelWidthHeightRatio) { float pixelWidthHeightRatio) {
Log.d(TAG, "videoSizeChanged [" + width + ", " + height + "]"); logd(TAG, "videoSizeChanged [" + width + ", " + height + "]");
} }
@Override @Override
public void onRenderedFirstFrame(Surface surface) { public void onRenderedFirstFrame(Surface surface) {
Log.d(TAG, "renderedFirstFrame [" + surface + "]"); logd(TAG, "renderedFirstFrame [" + surface + "]");
} }
// DefaultDrmSessionManager.EventListener // DefaultDrmSessionManager.EventListener
@ -313,17 +313,17 @@ public class EventLogger
@Override @Override
public void onDrmKeysRestored() { public void onDrmKeysRestored() {
Log.d(TAG, "drmKeysRestored [" + getSessionTimeString() + "]"); logd(TAG, "drmKeysRestored [" + getSessionTimeString() + "]");
} }
@Override @Override
public void onDrmKeysRemoved() { public void onDrmKeysRemoved() {
Log.d(TAG, "drmKeysRemoved [" + getSessionTimeString() + "]"); logd(TAG, "drmKeysRemoved [" + getSessionTimeString() + "]");
} }
@Override @Override
public void onDrmKeysLoaded() { public void onDrmKeysLoaded() {
Log.d(TAG, "drmKeysLoaded [" + getSessionTimeString() + "]"); logd(TAG, "drmKeysLoaded [" + getSessionTimeString() + "]");
} }
// MediaSourceEventListener // MediaSourceEventListener
@ -400,7 +400,7 @@ public class EventLogger
// Internal methods // Internal methods
private void printInternalError(String type, Exception e) { private void printInternalError(String type, Exception e) {
Log.e(TAG, "internalError [" + getSessionTimeString() + ", " + type + "]", e); loge(TAG, "internalError [" + getSessionTimeString() + ", " + type + "]", e);
} }
private void printMetadata(Metadata metadata, String prefix) { private void printMetadata(Metadata metadata, String prefix) {
@ -408,37 +408,37 @@ public class EventLogger
Metadata.Entry entry = metadata.get(i); Metadata.Entry entry = metadata.get(i);
if (entry instanceof TextInformationFrame) { if (entry instanceof TextInformationFrame) {
TextInformationFrame textInformationFrame = (TextInformationFrame) entry; TextInformationFrame textInformationFrame = (TextInformationFrame) entry;
Log.d(TAG, prefix + String.format("%s: value=%s", textInformationFrame.id, logd(TAG, prefix + String.format("%s: value=%s", textInformationFrame.id,
textInformationFrame.value)); textInformationFrame.value));
} else if (entry instanceof UrlLinkFrame) { } else if (entry instanceof UrlLinkFrame) {
UrlLinkFrame urlLinkFrame = (UrlLinkFrame) entry; UrlLinkFrame urlLinkFrame = (UrlLinkFrame) entry;
Log.d(TAG, prefix + String.format("%s: url=%s", urlLinkFrame.id, urlLinkFrame.url)); logd(TAG, prefix + String.format("%s: url=%s", urlLinkFrame.id, urlLinkFrame.url));
} else if (entry instanceof PrivFrame) { } else if (entry instanceof PrivFrame) {
PrivFrame privFrame = (PrivFrame) entry; PrivFrame privFrame = (PrivFrame) entry;
Log.d(TAG, prefix + String.format("%s: owner=%s", privFrame.id, privFrame.owner)); logd(TAG, prefix + String.format("%s: owner=%s", privFrame.id, privFrame.owner));
} else if (entry instanceof GeobFrame) { } else if (entry instanceof GeobFrame) {
GeobFrame geobFrame = (GeobFrame) entry; GeobFrame geobFrame = (GeobFrame) entry;
Log.d(TAG, prefix + String.format("%s: mimeType=%s, filename=%s, description=%s", logd(TAG, prefix + String.format("%s: mimeType=%s, filename=%s, description=%s",
geobFrame.id, geobFrame.mimeType, geobFrame.filename, geobFrame.description)); geobFrame.id, geobFrame.mimeType, geobFrame.filename, geobFrame.description));
} else if (entry instanceof ApicFrame) { } else if (entry instanceof ApicFrame) {
ApicFrame apicFrame = (ApicFrame) entry; ApicFrame apicFrame = (ApicFrame) entry;
Log.d(TAG, prefix + String.format("%s: mimeType=%s, description=%s", logd(TAG, prefix + String.format("%s: mimeType=%s, description=%s",
apicFrame.id, apicFrame.mimeType, apicFrame.description)); apicFrame.id, apicFrame.mimeType, apicFrame.description));
} else if (entry instanceof CommentFrame) { } else if (entry instanceof CommentFrame) {
CommentFrame commentFrame = (CommentFrame) entry; CommentFrame commentFrame = (CommentFrame) entry;
Log.d(TAG, prefix + String.format("%s: language=%s, description=%s", commentFrame.id, logd(TAG, prefix + String.format("%s: language=%s, description=%s", commentFrame.id,
commentFrame.language, commentFrame.description)); commentFrame.language, commentFrame.description));
} else if (entry instanceof Id3Frame) { } else if (entry instanceof Id3Frame) {
Id3Frame id3Frame = (Id3Frame) entry; Id3Frame id3Frame = (Id3Frame) entry;
Log.d(TAG, prefix + String.format("%s", id3Frame.id)); logd(TAG, prefix + String.format("%s", id3Frame.id));
} else if (entry instanceof EventMessage) { } else if (entry instanceof EventMessage) {
EventMessage eventMessage = (EventMessage) entry; EventMessage eventMessage = (EventMessage) entry;
Log.d(TAG, prefix + String.format("EMSG: scheme=%s, id=%d, value=%s", logd(TAG, prefix + String.format("EMSG: scheme=%s, id=%d, value=%s",
eventMessage.schemeIdUri, eventMessage.id, eventMessage.value)); eventMessage.schemeIdUri, eventMessage.id, eventMessage.value));
} else if (entry instanceof SpliceCommand) { } else if (entry instanceof SpliceCommand) {
String description = String description =
String.format("SCTE-35 splice command: type=%s.", entry.getClass().getSimpleName()); String.format("SCTE-35 splice command: type=%s.", entry.getClass().getSimpleName());
Log.d(TAG, prefix + description); logd(TAG, prefix + description);
} }
} }
} }
@ -555,4 +555,11 @@ public class EventLogger
} }
} }
protected void logd(String tag, String msg) {
Log.d(tag, msg);
}
protected void loge(String tag, String msg, Throwable tr) {
Log.e(tag, msg, tr);
}
} }