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
c3e0d34a
authored
Sep 28, 2015
by
Oliver Woodman
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
Fixed int overflow issue with callbacks on very long-running streams.
parent
e4e02f91
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
25 additions
and
29 deletions
demo/src/main/java/com/google/android/exoplayer/demo/EventLogger.java
demo/src/main/java/com/google/android/exoplayer/demo/player/DemoPlayer.java
library/src/main/java/com/google/android/exoplayer/chunk/BaseChunkSampleSourceEventListener.java
library/src/main/java/com/google/android/exoplayer/chunk/ChunkSampleSource.java
library/src/main/java/com/google/android/exoplayer/hls/HlsSampleSource.java
playbacktests/src/main/java/com/google/android/exoplayer/playbacktests/util/LogcatLogger.java
demo/src/main/java/com/google/android/exoplayer/demo/EventLogger.java
View file @
c3e0d34a
...
...
@@ -97,7 +97,7 @@ public class EventLogger implements DemoPlayer.Listener, DemoPlayer.InfoListener
@Override
public
void
onLoadStarted
(
int
sourceId
,
long
length
,
int
type
,
int
trigger
,
Format
format
,
int
mediaStartTimeMs
,
int
mediaEndTimeMs
)
{
long
mediaStartTimeMs
,
long
mediaEndTimeMs
)
{
loadStartTimeMs
[
sourceId
]
=
SystemClock
.
elapsedRealtime
();
if
(
VerboseLogUtil
.
isTagEnabled
(
TAG
))
{
Log
.
v
(
TAG
,
"loadStart ["
+
getSessionTimeString
()
+
", "
+
sourceId
+
", "
+
type
...
...
@@ -107,7 +107,7 @@ public class EventLogger implements DemoPlayer.Listener, DemoPlayer.InfoListener
@Override
public
void
onLoadCompleted
(
int
sourceId
,
long
bytesLoaded
,
int
type
,
int
trigger
,
Format
format
,
int
mediaStartTimeMs
,
int
mediaEndTimeMs
,
long
elapsedRealtimeMs
,
long
loadDurationMs
)
{
long
mediaStartTimeMs
,
long
mediaEndTimeMs
,
long
elapsedRealtimeMs
,
long
loadDurationMs
)
{
if
(
VerboseLogUtil
.
isTagEnabled
(
TAG
))
{
long
downloadTime
=
SystemClock
.
elapsedRealtime
()
-
loadStartTimeMs
[
sourceId
];
Log
.
v
(
TAG
,
"loadEnd ["
+
getSessionTimeString
()
+
", "
+
sourceId
+
", "
+
downloadTime
...
...
@@ -116,13 +116,13 @@ public class EventLogger implements DemoPlayer.Listener, DemoPlayer.InfoListener
}
@Override
public
void
onVideoFormatEnabled
(
Format
format
,
int
trigger
,
int
mediaTimeMs
)
{
public
void
onVideoFormatEnabled
(
Format
format
,
int
trigger
,
long
mediaTimeMs
)
{
Log
.
d
(
TAG
,
"videoFormat ["
+
getSessionTimeString
()
+
", "
+
format
.
id
+
", "
+
Integer
.
toString
(
trigger
)
+
"]"
);
}
@Override
public
void
onAudioFormatEnabled
(
Format
format
,
int
trigger
,
int
mediaTimeMs
)
{
public
void
onAudioFormatEnabled
(
Format
format
,
int
trigger
,
long
mediaTimeMs
)
{
Log
.
d
(
TAG
,
"audioFormat ["
+
getSessionTimeString
()
+
", "
+
format
.
id
+
", "
+
Integer
.
toString
(
trigger
)
+
"]"
);
}
...
...
demo/src/main/java/com/google/android/exoplayer/demo/player/DemoPlayer.java
View file @
c3e0d34a
...
...
@@ -115,14 +115,14 @@ public class DemoPlayer implements ExoPlayer.Listener, ChunkSampleSource.EventLi
* A listener for debugging information.
*/
public
interface
InfoListener
{
void
onVideoFormatEnabled
(
Format
format
,
int
trigger
,
int
mediaTimeMs
);
void
onAudioFormatEnabled
(
Format
format
,
int
trigger
,
int
mediaTimeMs
);
void
onVideoFormatEnabled
(
Format
format
,
int
trigger
,
long
mediaTimeMs
);
void
onAudioFormatEnabled
(
Format
format
,
int
trigger
,
long
mediaTimeMs
);
void
onDroppedFrames
(
int
count
,
long
elapsed
);
void
onBandwidthSample
(
int
elapsedMs
,
long
bytes
,
long
bitrateEstimate
);
void
onLoadStarted
(
int
sourceId
,
long
length
,
int
type
,
int
trigger
,
Format
format
,
int
mediaStartTimeMs
,
int
mediaEndTimeMs
);
long
mediaStartTimeMs
,
long
mediaEndTimeMs
);
void
onLoadCompleted
(
int
sourceId
,
long
bytesLoaded
,
int
type
,
int
trigger
,
Format
format
,
int
mediaStartTimeMs
,
int
mediaEndTimeMs
,
long
elapsedRealtimeMs
,
long
loadDurationMs
);
long
mediaStartTimeMs
,
long
mediaEndTimeMs
,
long
elapsedRealtimeMs
,
long
loadDurationMs
);
void
onDecoderInitialized
(
String
decoderName
,
long
elapsedRealtimeMs
,
long
initializationDurationMs
);
void
onAvailableRangeChanged
(
TimeRange
availableRange
);
...
...
@@ -435,7 +435,8 @@ public class DemoPlayer implements ExoPlayer.Listener, ChunkSampleSource.EventLi
}
@Override
public
void
onDownstreamFormatChanged
(
int
sourceId
,
Format
format
,
int
trigger
,
int
mediaTimeMs
)
{
public
void
onDownstreamFormatChanged
(
int
sourceId
,
Format
format
,
int
trigger
,
long
mediaTimeMs
)
{
if
(
infoListener
==
null
)
{
return
;
}
...
...
@@ -448,11 +449,6 @@ public class DemoPlayer implements ExoPlayer.Listener, ChunkSampleSource.EventLi
}
@Override
public
void
onDrmKeysLoaded
()
{
// Do nothing.
}
@Override
public
void
onDrmSessionManagerError
(
Exception
e
)
{
if
(
internalErrorListener
!=
null
)
{
internalErrorListener
.
onDrmSessionManagerError
(
e
);
...
...
@@ -535,7 +531,7 @@ public class DemoPlayer implements ExoPlayer.Listener, ChunkSampleSource.EventLi
@Override
public
void
onLoadStarted
(
int
sourceId
,
long
length
,
int
type
,
int
trigger
,
Format
format
,
int
mediaStartTimeMs
,
int
mediaEndTimeMs
)
{
long
mediaStartTimeMs
,
long
mediaEndTimeMs
)
{
if
(
infoListener
!=
null
)
{
infoListener
.
onLoadStarted
(
sourceId
,
length
,
type
,
trigger
,
format
,
mediaStartTimeMs
,
mediaEndTimeMs
);
...
...
@@ -544,7 +540,7 @@ public class DemoPlayer implements ExoPlayer.Listener, ChunkSampleSource.EventLi
@Override
public
void
onLoadCompleted
(
int
sourceId
,
long
bytesLoaded
,
int
type
,
int
trigger
,
Format
format
,
int
mediaStartTimeMs
,
int
mediaEndTimeMs
,
long
elapsedRealtimeMs
,
long
loadDurationMs
)
{
long
mediaStartTimeMs
,
long
mediaEndTimeMs
,
long
elapsedRealtimeMs
,
long
loadDurationMs
)
{
if
(
infoListener
!=
null
)
{
infoListener
.
onLoadCompleted
(
sourceId
,
bytesLoaded
,
type
,
trigger
,
format
,
mediaStartTimeMs
,
mediaEndTimeMs
,
elapsedRealtimeMs
,
loadDurationMs
);
...
...
@@ -557,7 +553,7 @@ public class DemoPlayer implements ExoPlayer.Listener, ChunkSampleSource.EventLi
}
@Override
public
void
onUpstreamDiscarded
(
int
sourceId
,
int
mediaStartTimeMs
,
int
mediaEndTimeMs
)
{
public
void
onUpstreamDiscarded
(
int
sourceId
,
long
mediaStartTimeMs
,
long
mediaEndTimeMs
)
{
// Do nothing.
}
...
...
library/src/main/java/com/google/android/exoplayer/chunk/BaseChunkSampleSourceEventListener.java
View file @
c3e0d34a
...
...
@@ -42,7 +42,7 @@ public interface BaseChunkSampleSourceEventListener {
* load is for initialization data.
*/
void
onLoadStarted
(
int
sourceId
,
long
length
,
int
type
,
int
trigger
,
Format
format
,
int
mediaStartTimeMs
,
int
mediaEndTimeMs
);
long
mediaStartTimeMs
,
long
mediaEndTimeMs
);
/**
* Invoked when the current load operation completes.
...
...
@@ -61,7 +61,7 @@ public interface BaseChunkSampleSourceEventListener {
* @param loadDurationMs Amount of time taken to load the data.
*/
void
onLoadCompleted
(
int
sourceId
,
long
bytesLoaded
,
int
type
,
int
trigger
,
Format
format
,
int
mediaStartTimeMs
,
int
mediaEndTimeMs
,
long
elapsedRealtimeMs
,
long
loadDurationMs
);
long
mediaStartTimeMs
,
long
mediaEndTimeMs
,
long
elapsedRealtimeMs
,
long
loadDurationMs
);
/**
* Invoked when the current upstream load operation is canceled.
...
...
@@ -87,7 +87,7 @@ public interface BaseChunkSampleSourceEventListener {
* @param mediaStartTimeMs The media time of the start of the discarded data.
* @param mediaEndTimeMs The media time of the end of the discarded data.
*/
void
onUpstreamDiscarded
(
int
sourceId
,
int
mediaStartTimeMs
,
int
mediaEndTimeMs
);
void
onUpstreamDiscarded
(
int
sourceId
,
long
mediaStartTimeMs
,
long
mediaEndTimeMs
);
/**
* Invoked when the downstream format changes (i.e. when the format being supplied to the
...
...
@@ -99,6 +99,6 @@ public interface BaseChunkSampleSourceEventListener {
* {@link ChunkSource}.
* @param mediaTimeMs The media time at which the change occurred.
*/
void
onDownstreamFormatChanged
(
int
sourceId
,
Format
format
,
int
trigger
,
int
mediaTimeMs
);
void
onDownstreamFormatChanged
(
int
sourceId
,
Format
format
,
int
trigger
,
long
mediaTimeMs
);
}
library/src/main/java/com/google/android/exoplayer/chunk/ChunkSampleSource.java
View file @
c3e0d34a
...
...
@@ -574,8 +574,8 @@ public class ChunkSampleSource implements SampleSource, SampleSourceReader, Load
return
Math
.
min
((
errorCount
-
1
)
*
1000
,
5000
);
}
protected
final
int
usToMs
(
long
timeUs
)
{
return
(
int
)
(
timeUs
/
1000
)
;
protected
final
long
usToMs
(
long
timeUs
)
{
return
timeUs
/
1000
;
}
private
void
notifyLoadStarted
(
final
long
length
,
final
int
type
,
final
int
trigger
,
...
...
library/src/main/java/com/google/android/exoplayer/hls/HlsSampleSource.java
View file @
c3e0d34a
...
...
@@ -599,8 +599,8 @@ public final class HlsSampleSource implements SampleSource, SampleSourceReader,
return
Math
.
min
((
errorCount
-
1
)
*
1000
,
5000
);
}
/* package */
int
usToMs
(
long
timeUs
)
{
return
(
int
)
(
timeUs
/
1000
)
;
/* package */
long
usToMs
(
long
timeUs
)
{
return
timeUs
/
1000
;
}
private
void
notifyLoadStarted
(
final
long
length
,
final
int
type
,
final
int
trigger
,
...
...
playbacktests/src/main/java/com/google/android/exoplayer/playbacktests/util/LogcatLogger.java
View file @
c3e0d34a
...
...
@@ -117,7 +117,7 @@ public final class LogcatLogger implements ExoPlayer.Listener,
@Override
public
void
onDownstreamFormatChanged
(
int
sourceId
,
Format
format
,
int
trigger
,
int
mediaTimeMs
)
{
long
mediaTimeMs
)
{
Log
.
i
(
tag
,
"Downstream format changed ("
+
sourceId
+
"): "
+
format
.
id
);
}
...
...
@@ -129,18 +129,18 @@ public final class LogcatLogger implements ExoPlayer.Listener,
@Override
public
void
onLoadStarted
(
int
sourceId
,
long
length
,
int
type
,
int
trigger
,
Format
format
,
int
mediaStartTimeMs
,
int
mediaEndTimeMs
)
{}
long
mediaStartTimeMs
,
long
mediaEndTimeMs
)
{}
@Override
public
void
onLoadCompleted
(
int
sourceId
,
long
bytesLoaded
,
int
type
,
int
trigger
,
Format
format
,
int
mediaStartTimeMs
,
int
mediaEndTimeMs
,
long
elapsedRealtimeMs
,
Format
format
,
long
mediaStartTimeMs
,
long
mediaEndTimeMs
,
long
elapsedRealtimeMs
,
long
loadDurationMs
)
{}
@Override
public
void
onLoadCanceled
(
int
sourceId
,
long
bytesLoaded
)
{}
@Override
public
void
onUpstreamDiscarded
(
int
sourceId
,
int
mediaStartTimeMs
,
int
mediaEndTimeMs
)
{}
public
void
onUpstreamDiscarded
(
int
sourceId
,
long
mediaStartTimeMs
,
long
mediaEndTimeMs
)
{}
@Override
public
void
onDrawnToSurface
(
Surface
surface
)
{}
...
...
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