Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
SDK
/
exoplayer
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
afd81146
authored
Feb 22, 2018
by
Cory Charlton
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
Add abstract logging methods to EventLogger
parent
e3d44646
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
63 additions
and
56 deletions
library/core/src/main/java/com/google/android/exoplayer2/util/EventLogger.java
library/core/src/main/java/com/google/android/exoplayer2/util/EventLogger.java
View file @
afd81146
...
...
@@ -89,33 +89,33 @@ public class EventLogger
@Override
public
void
onLoadingChanged
(
boolean
isLoading
)
{
Log
.
d
(
TAG
,
"loading ["
+
isLoading
+
"]"
);
log
d
(
TAG
,
"loading ["
+
isLoading
+
"]"
);
}
@Override
public
void
onPlayerStateChanged
(
boolean
playWhenReady
,
int
state
)
{
Log
.
d
(
TAG
,
"state ["
+
getSessionTimeString
()
+
", "
+
playWhenReady
+
", "
log
d
(
TAG
,
"state ["
+
getSessionTimeString
()
+
", "
+
playWhenReady
+
", "
+
getStateString
(
state
)
+
"]"
);
}
@Override
public
void
onRepeatModeChanged
(
@Player
.
RepeatMode
int
repeatMode
)
{
Log
.
d
(
TAG
,
"repeatMode ["
+
getRepeatModeString
(
repeatMode
)
+
"]"
);
log
d
(
TAG
,
"repeatMode ["
+
getRepeatModeString
(
repeatMode
)
+
"]"
);
}
@Override
public
void
onShuffleModeEnabledChanged
(
boolean
shuffleModeEnabled
)
{
Log
.
d
(
TAG
,
"shuffleModeEnabled ["
+
shuffleModeEnabled
+
"]"
);
log
d
(
TAG
,
"shuffleModeEnabled ["
+
shuffleModeEnabled
+
"]"
);
}
@Override
public
void
onPositionDiscontinuity
(
@Player
.
DiscontinuityReason
int
reason
)
{
Log
.
d
(
TAG
,
"positionDiscontinuity ["
+
getDiscontinuityReasonString
(
reason
)
+
"]"
);
log
d
(
TAG
,
"positionDiscontinuity ["
+
getDiscontinuityReasonString
(
reason
)
+
"]"
);
}
@Override
public
void
onPlaybackParametersChanged
(
PlaybackParameters
playbackParameters
)
{
Log
.
d
(
TAG
,
"playbackParameters "
+
String
.
format
(
log
d
(
TAG
,
"playbackParameters "
+
String
.
format
(
"[speed=%.2f, pitch=%.2f]"
,
playbackParameters
.
speed
,
playbackParameters
.
pitch
));
}
...
...
@@ -124,138 +124,138 @@ public class EventLogger
@Player
.
TimelineChangeReason
int
reason
)
{
int
periodCount
=
timeline
.
getPeriodCount
();
int
windowCount
=
timeline
.
getWindowCount
();
Log
.
d
(
TAG
,
"timelineChanged [periodCount="
+
periodCount
+
", windowCount="
+
windowCount
log
d
(
TAG
,
"timelineChanged [periodCount="
+
periodCount
+
", windowCount="
+
windowCount
+
", reason="
+
getTimelineChangeReasonString
(
reason
));
for
(
int
i
=
0
;
i
<
Math
.
min
(
periodCount
,
MAX_TIMELINE_ITEM_LINES
);
i
++)
{
timeline
.
getPeriod
(
i
,
period
);
Log
.
d
(
TAG
,
" "
+
"period ["
+
getTimeString
(
period
.
getDurationMs
())
+
"]"
);
log
d
(
TAG
,
" "
+
"period ["
+
getTimeString
(
period
.
getDurationMs
())
+
"]"
);
}
if
(
periodCount
>
MAX_TIMELINE_ITEM_LINES
)
{
Log
.
d
(
TAG
,
" ..."
);
log
d
(
TAG
,
" ..."
);
}
for
(
int
i
=
0
;
i
<
Math
.
min
(
windowCount
,
MAX_TIMELINE_ITEM_LINES
);
i
++)
{
timeline
.
getWindow
(
i
,
window
);
Log
.
d
(
TAG
,
" "
+
"window ["
+
getTimeString
(
window
.
getDurationMs
())
+
", "
log
d
(
TAG
,
" "
+
"window ["
+
getTimeString
(
window
.
getDurationMs
())
+
", "
+
window
.
isSeekable
+
", "
+
window
.
isDynamic
+
"]"
);
}
if
(
windowCount
>
MAX_TIMELINE_ITEM_LINES
)
{
Log
.
d
(
TAG
,
" ..."
);
log
d
(
TAG
,
" ..."
);
}
Log
.
d
(
TAG
,
"]"
);
log
d
(
TAG
,
"]"
);
}
@Override
public
void
onPlayerError
(
ExoPlaybackException
e
)
{
Log
.
e
(
TAG
,
"playerFailed ["
+
getSessionTimeString
()
+
"]"
,
e
);
log
e
(
TAG
,
"playerFailed ["
+
getSessionTimeString
()
+
"]"
,
e
);
}
@Override
public
void
onTracksChanged
(
TrackGroupArray
ignored
,
TrackSelectionArray
trackSelections
)
{
MappedTrackInfo
mappedTrackInfo
=
trackSelector
.
getCurrentMappedTrackInfo
();
if
(
mappedTrackInfo
==
null
)
{
Log
.
d
(
TAG
,
"Tracks []"
);
log
d
(
TAG
,
"Tracks []"
);
return
;
}
Log
.
d
(
TAG
,
"Tracks ["
);
log
d
(
TAG
,
"Tracks ["
);
// Log tracks associated to renderers.
for
(
int
rendererIndex
=
0
;
rendererIndex
<
mappedTrackInfo
.
length
;
rendererIndex
++)
{
TrackGroupArray
rendererTrackGroups
=
mappedTrackInfo
.
getTrackGroups
(
rendererIndex
);
TrackSelection
trackSelection
=
trackSelections
.
get
(
rendererIndex
);
if
(
rendererTrackGroups
.
length
>
0
)
{
Log
.
d
(
TAG
,
" Renderer:"
+
rendererIndex
+
" ["
);
log
d
(
TAG
,
" Renderer:"
+
rendererIndex
+
" ["
);
for
(
int
groupIndex
=
0
;
groupIndex
<
rendererTrackGroups
.
length
;
groupIndex
++)
{
TrackGroup
trackGroup
=
rendererTrackGroups
.
get
(
groupIndex
);
String
adaptiveSupport
=
getAdaptiveSupportString
(
trackGroup
.
length
,
mappedTrackInfo
.
getAdaptiveSupport
(
rendererIndex
,
groupIndex
,
false
));
Log
.
d
(
TAG
,
" Group:"
+
groupIndex
+
", adaptive_supported="
+
adaptiveSupport
+
" ["
);
log
d
(
TAG
,
" Group:"
+
groupIndex
+
", adaptive_supported="
+
adaptiveSupport
+
" ["
);
for
(
int
trackIndex
=
0
;
trackIndex
<
trackGroup
.
length
;
trackIndex
++)
{
String
status
=
getTrackStatusString
(
trackSelection
,
trackGroup
,
trackIndex
);
String
formatSupport
=
getFormatSupportString
(
mappedTrackInfo
.
getTrackFormatSupport
(
rendererIndex
,
groupIndex
,
trackIndex
));
Log
.
d
(
TAG
,
" "
+
status
+
" Track:"
+
trackIndex
+
", "
log
d
(
TAG
,
" "
+
status
+
" Track:"
+
trackIndex
+
", "
+
Format
.
toLogString
(
trackGroup
.
getFormat
(
trackIndex
))
+
", supported="
+
formatSupport
);
}
Log
.
d
(
TAG
,
" ]"
);
log
d
(
TAG
,
" ]"
);
}
// Log metadata for at most one of the tracks selected for the renderer.
if
(
trackSelection
!=
null
)
{
for
(
int
selectionIndex
=
0
;
selectionIndex
<
trackSelection
.
length
();
selectionIndex
++)
{
Metadata
metadata
=
trackSelection
.
getFormat
(
selectionIndex
).
metadata
;
if
(
metadata
!=
null
)
{
Log
.
d
(
TAG
,
" Metadata ["
);
log
d
(
TAG
,
" Metadata ["
);
printMetadata
(
metadata
,
" "
);
Log
.
d
(
TAG
,
" ]"
);
log
d
(
TAG
,
" ]"
);
break
;
}
}
}
Log
.
d
(
TAG
,
" ]"
);
log
d
(
TAG
,
" ]"
);
}
}
// Log tracks not associated with a renderer.
TrackGroupArray
unassociatedTrackGroups
=
mappedTrackInfo
.
getUnassociatedTrackGroups
();
if
(
unassociatedTrackGroups
.
length
>
0
)
{
Log
.
d
(
TAG
,
" Renderer:None ["
);
log
d
(
TAG
,
" Renderer:None ["
);
for
(
int
groupIndex
=
0
;
groupIndex
<
unassociatedTrackGroups
.
length
;
groupIndex
++)
{
Log
.
d
(
TAG
,
" Group:"
+
groupIndex
+
" ["
);
log
d
(
TAG
,
" Group:"
+
groupIndex
+
" ["
);
TrackGroup
trackGroup
=
unassociatedTrackGroups
.
get
(
groupIndex
);
for
(
int
trackIndex
=
0
;
trackIndex
<
trackGroup
.
length
;
trackIndex
++)
{
String
status
=
getTrackStatusString
(
false
);
String
formatSupport
=
getFormatSupportString
(
RendererCapabilities
.
FORMAT_UNSUPPORTED_TYPE
);
Log
.
d
(
TAG
,
" "
+
status
+
" Track:"
+
trackIndex
+
", "
log
d
(
TAG
,
" "
+
status
+
" Track:"
+
trackIndex
+
", "
+
Format
.
toLogString
(
trackGroup
.
getFormat
(
trackIndex
))
+
", supported="
+
formatSupport
);
}
Log
.
d
(
TAG
,
" ]"
);
log
d
(
TAG
,
" ]"
);
}
Log
.
d
(
TAG
,
" ]"
);
log
d
(
TAG
,
" ]"
);
}
Log
.
d
(
TAG
,
"]"
);
log
d
(
TAG
,
"]"
);
}
@Override
public
void
onSeekProcessed
()
{
Log
.
d
(
TAG
,
"seekProcessed"
);
log
d
(
TAG
,
"seekProcessed"
);
}
// MetadataOutput
@Override
public
void
onMetadata
(
Metadata
metadata
)
{
Log
.
d
(
TAG
,
"onMetadata ["
);
log
d
(
TAG
,
"onMetadata ["
);
printMetadata
(
metadata
,
" "
);
Log
.
d
(
TAG
,
"]"
);
log
d
(
TAG
,
"]"
);
}
// AudioRendererEventListener
@Override
public
void
onAudioEnabled
(
DecoderCounters
counters
)
{
Log
.
d
(
TAG
,
"audioEnabled ["
+
getSessionTimeString
()
+
"]"
);
log
d
(
TAG
,
"audioEnabled ["
+
getSessionTimeString
()
+
"]"
);
}
@Override
public
void
onAudioSessionId
(
int
audioSessionId
)
{
Log
.
d
(
TAG
,
"audioSessionId ["
+
audioSessionId
+
"]"
);
log
d
(
TAG
,
"audioSessionId ["
+
audioSessionId
+
"]"
);
}
@Override
public
void
onAudioDecoderInitialized
(
String
decoderName
,
long
elapsedRealtimeMs
,
long
initializationDurationMs
)
{
Log
.
d
(
TAG
,
"audioDecoderInitialized ["
+
getSessionTimeString
()
+
", "
+
decoderName
+
"]"
);
log
d
(
TAG
,
"audioDecoderInitialized ["
+
getSessionTimeString
()
+
", "
+
decoderName
+
"]"
);
}
@Override
public
void
onAudioInputFormatChanged
(
Format
format
)
{
Log
.
d
(
TAG
,
"audioFormatChanged ["
+
getSessionTimeString
()
+
", "
+
Format
.
toLogString
(
format
)
log
d
(
TAG
,
"audioFormatChanged ["
+
getSessionTimeString
()
+
", "
+
Format
.
toLogString
(
format
)
+
"]"
);
}
@Override
public
void
onAudioDisabled
(
DecoderCounters
counters
)
{
Log
.
d
(
TAG
,
"audioDisabled ["
+
getSessionTimeString
()
+
"]"
);
log
d
(
TAG
,
"audioDisabled ["
+
getSessionTimeString
()
+
"]"
);
}
@Override
...
...
@@ -268,40 +268,40 @@ public class EventLogger
@Override
public
void
onVideoEnabled
(
DecoderCounters
counters
)
{
Log
.
d
(
TAG
,
"videoEnabled ["
+
getSessionTimeString
()
+
"]"
);
log
d
(
TAG
,
"videoEnabled ["
+
getSessionTimeString
()
+
"]"
);
}
@Override
public
void
onVideoDecoderInitialized
(
String
decoderName
,
long
elapsedRealtimeMs
,
long
initializationDurationMs
)
{
Log
.
d
(
TAG
,
"videoDecoderInitialized ["
+
getSessionTimeString
()
+
", "
+
decoderName
+
"]"
);
log
d
(
TAG
,
"videoDecoderInitialized ["
+
getSessionTimeString
()
+
", "
+
decoderName
+
"]"
);
}
@Override
public
void
onVideoInputFormatChanged
(
Format
format
)
{
Log
.
d
(
TAG
,
"videoFormatChanged ["
+
getSessionTimeString
()
+
", "
+
Format
.
toLogString
(
format
)
log
d
(
TAG
,
"videoFormatChanged ["
+
getSessionTimeString
()
+
", "
+
Format
.
toLogString
(
format
)
+
"]"
);
}
@Override
public
void
onVideoDisabled
(
DecoderCounters
counters
)
{
Log
.
d
(
TAG
,
"videoDisabled ["
+
getSessionTimeString
()
+
"]"
);
log
d
(
TAG
,
"videoDisabled ["
+
getSessionTimeString
()
+
"]"
);
}
@Override
public
void
onDroppedFrames
(
int
count
,
long
elapsed
)
{
Log
.
d
(
TAG
,
"droppedFrames ["
+
getSessionTimeString
()
+
", "
+
count
+
"]"
);
log
d
(
TAG
,
"droppedFrames ["
+
getSessionTimeString
()
+
", "
+
count
+
"]"
);
}
@Override
public
void
onVideoSizeChanged
(
int
width
,
int
height
,
int
unappliedRotationDegrees
,
float
pixelWidthHeightRatio
)
{
Log
.
d
(
TAG
,
"videoSizeChanged ["
+
width
+
", "
+
height
+
"]"
);
log
d
(
TAG
,
"videoSizeChanged ["
+
width
+
", "
+
height
+
"]"
);
}
@Override
public
void
onRenderedFirstFrame
(
Surface
surface
)
{
Log
.
d
(
TAG
,
"renderedFirstFrame ["
+
surface
+
"]"
);
log
d
(
TAG
,
"renderedFirstFrame ["
+
surface
+
"]"
);
}
// DefaultDrmSessionManager.EventListener
...
...
@@ -313,17 +313,17 @@ public class EventLogger
@Override
public
void
onDrmKeysRestored
()
{
Log
.
d
(
TAG
,
"drmKeysRestored ["
+
getSessionTimeString
()
+
"]"
);
log
d
(
TAG
,
"drmKeysRestored ["
+
getSessionTimeString
()
+
"]"
);
}
@Override
public
void
onDrmKeysRemoved
()
{
Log
.
d
(
TAG
,
"drmKeysRemoved ["
+
getSessionTimeString
()
+
"]"
);
log
d
(
TAG
,
"drmKeysRemoved ["
+
getSessionTimeString
()
+
"]"
);
}
@Override
public
void
onDrmKeysLoaded
()
{
Log
.
d
(
TAG
,
"drmKeysLoaded ["
+
getSessionTimeString
()
+
"]"
);
log
d
(
TAG
,
"drmKeysLoaded ["
+
getSessionTimeString
()
+
"]"
);
}
// MediaSourceEventListener
...
...
@@ -400,7 +400,7 @@ public class EventLogger
// Internal methods
private
void
printInternalError
(
String
type
,
Exception
e
)
{
Log
.
e
(
TAG
,
"internalError ["
+
getSessionTimeString
()
+
", "
+
type
+
"]"
,
e
);
log
e
(
TAG
,
"internalError ["
+
getSessionTimeString
()
+
", "
+
type
+
"]"
,
e
);
}
private
void
printMetadata
(
Metadata
metadata
,
String
prefix
)
{
...
...
@@ -408,37 +408,37 @@ public class EventLogger
Metadata
.
Entry
entry
=
metadata
.
get
(
i
);
if
(
entry
instanceof
TextInformationFrame
)
{
TextInformationFrame
textInformationFrame
=
(
TextInformationFrame
)
entry
;
Log
.
d
(
TAG
,
prefix
+
String
.
format
(
"%s: value=%s"
,
textInformationFrame
.
id
,
log
d
(
TAG
,
prefix
+
String
.
format
(
"%s: value=%s"
,
textInformationFrame
.
id
,
textInformationFrame
.
value
));
}
else
if
(
entry
instanceof
UrlLinkFrame
)
{
UrlLinkFrame
urlLinkFrame
=
(
UrlLinkFrame
)
entry
;
Log
.
d
(
TAG
,
prefix
+
String
.
format
(
"%s: url=%s"
,
urlLinkFrame
.
id
,
urlLinkFrame
.
url
));
log
d
(
TAG
,
prefix
+
String
.
format
(
"%s: url=%s"
,
urlLinkFrame
.
id
,
urlLinkFrame
.
url
));
}
else
if
(
entry
instanceof
PrivFrame
)
{
PrivFrame
privFrame
=
(
PrivFrame
)
entry
;
Log
.
d
(
TAG
,
prefix
+
String
.
format
(
"%s: owner=%s"
,
privFrame
.
id
,
privFrame
.
owner
));
log
d
(
TAG
,
prefix
+
String
.
format
(
"%s: owner=%s"
,
privFrame
.
id
,
privFrame
.
owner
));
}
else
if
(
entry
instanceof
GeobFrame
)
{
GeobFrame
geobFrame
=
(
GeobFrame
)
entry
;
Log
.
d
(
TAG
,
prefix
+
String
.
format
(
"%s: mimeType=%s, filename=%s, description=%s"
,
log
d
(
TAG
,
prefix
+
String
.
format
(
"%s: mimeType=%s, filename=%s, description=%s"
,
geobFrame
.
id
,
geobFrame
.
mimeType
,
geobFrame
.
filename
,
geobFrame
.
description
));
}
else
if
(
entry
instanceof
ApicFrame
)
{
ApicFrame
apicFrame
=
(
ApicFrame
)
entry
;
Log
.
d
(
TAG
,
prefix
+
String
.
format
(
"%s: mimeType=%s, description=%s"
,
log
d
(
TAG
,
prefix
+
String
.
format
(
"%s: mimeType=%s, description=%s"
,
apicFrame
.
id
,
apicFrame
.
mimeType
,
apicFrame
.
description
));
}
else
if
(
entry
instanceof
CommentFrame
)
{
CommentFrame
commentFrame
=
(
CommentFrame
)
entry
;
Log
.
d
(
TAG
,
prefix
+
String
.
format
(
"%s: language=%s, description=%s"
,
commentFrame
.
id
,
log
d
(
TAG
,
prefix
+
String
.
format
(
"%s: language=%s, description=%s"
,
commentFrame
.
id
,
commentFrame
.
language
,
commentFrame
.
description
));
}
else
if
(
entry
instanceof
Id3Frame
)
{
Id3Frame
id3Frame
=
(
Id3Frame
)
entry
;
Log
.
d
(
TAG
,
prefix
+
String
.
format
(
"%s"
,
id3Frame
.
id
));
log
d
(
TAG
,
prefix
+
String
.
format
(
"%s"
,
id3Frame
.
id
));
}
else
if
(
entry
instanceof
EventMessage
)
{
EventMessage
eventMessage
=
(
EventMessage
)
entry
;
Log
.
d
(
TAG
,
prefix
+
String
.
format
(
"EMSG: scheme=%s, id=%d, value=%s"
,
log
d
(
TAG
,
prefix
+
String
.
format
(
"EMSG: scheme=%s, id=%d, value=%s"
,
eventMessage
.
schemeIdUri
,
eventMessage
.
id
,
eventMessage
.
value
));
}
else
if
(
entry
instanceof
SpliceCommand
)
{
String
description
=
String
.
format
(
"SCTE-35 splice command: type=%s."
,
entry
.
getClass
().
getSimpleName
());
Log
.
d
(
TAG
,
prefix
+
description
);
log
d
(
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
.
d
(
tag
,
msg
,
tr
);
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment