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
08f62efb
authored
Jul 20, 2020
by
tonihei
Committed by
Oliver Woodman
Jul 24, 2020
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
Remove experimental time limit on renderer loop.
PiperOrigin-RevId: 322172767
parent
811921e6
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
2 additions
and
25 deletions
library/core/src/main/java/com/google/android/exoplayer2/mediacodec/MediaCodecRenderer.java
library/core/src/main/java/com/google/android/exoplayer2/mediacodec/MediaCodecRenderer.java
View file @
08f62efb
...
...
@@ -362,7 +362,6 @@ public abstract class MediaCodecRenderer extends BaseRenderer {
@Nullable
private
DrmSession
sourceDrmSession
;
@Nullable
private
MediaCrypto
mediaCrypto
;
private
boolean
mediaCryptoRequiresSecureDecoder
;
private
long
renderTimeLimitMs
;
private
float
operatingRate
;
@Nullable
private
MediaCodec
codec
;
@Nullable
private
MediaCodecAdapter
codecAdapter
;
...
...
@@ -440,7 +439,6 @@ public abstract class MediaCodecRenderer extends BaseRenderer {
decodeOnlyPresentationTimestamps
=
new
ArrayList
<>();
outputBufferInfo
=
new
MediaCodec
.
BufferInfo
();
operatingRate
=
1
f
;
renderTimeLimitMs
=
C
.
TIME_UNSET
;
mediaCodecOperationMode
=
OPERATION_MODE_SYNCHRONOUS
;
pendingOutputStreamStartPositionsUs
=
new
long
[
MAX_PENDING_OUTPUT_STREAM_OFFSET_COUNT
];
pendingOutputStreamOffsetsUs
=
new
long
[
MAX_PENDING_OUTPUT_STREAM_OFFSET_COUNT
];
...
...
@@ -452,20 +450,6 @@ public abstract class MediaCodecRenderer extends BaseRenderer {
}
/**
* Set a limit on the time a single {@link #render(long, long)} call can spend draining and
* filling the decoder.
*
* <p>This method is experimental, and will be renamed or removed in a future release. It should
* only be called before the renderer is used.
*
* @param renderTimeLimitMs The render time limit in milliseconds, or {@link C#TIME_UNSET} for no
* limit.
*/
public
void
experimental_setRenderTimeLimitMs
(
long
renderTimeLimitMs
)
{
this
.
renderTimeLimitMs
=
renderTimeLimitMs
;
}
/**
* Set the mode of operation of the underlying {@link MediaCodec}.
*
* <p>This method is experimental, and will be renamed or removed in a future release. It should
...
...
@@ -831,11 +815,9 @@ public abstract class MediaCodecRenderer extends BaseRenderer {
while
(
bypassRender
(
positionUs
,
elapsedRealtimeUs
))
{}
TraceUtil
.
endSection
();
}
else
if
(
codec
!=
null
)
{
long
renderStartTimeMs
=
SystemClock
.
elapsedRealtime
();
TraceUtil
.
beginSection
(
"drainAndFeed"
);
while
(
drainOutputBuffer
(
positionUs
,
elapsedRealtimeUs
)
&&
shouldContinueRendering
(
renderStartTimeMs
))
{}
while
(
feedInputBuffer
()
&&
shouldContinueRendering
(
renderStartTimeMs
))
{}
while
(
drainOutputBuffer
(
positionUs
,
elapsedRealtimeUs
))
{}
while
(
feedInputBuffer
())
{}
TraceUtil
.
endSection
();
}
else
{
decoderCounters
.
skippedInputBufferCount
+=
skipSource
(
positionUs
);
...
...
@@ -1164,11 +1146,6 @@ public abstract class MediaCodecRenderer extends BaseRenderer {
onCodecInitialized
(
codecName
,
codecInitializedTimestamp
,
elapsed
);
}
private
boolean
shouldContinueRendering
(
long
renderStartTimeMs
)
{
return
renderTimeLimitMs
==
C
.
TIME_UNSET
||
SystemClock
.
elapsedRealtime
()
-
renderStartTimeMs
<
renderTimeLimitMs
;
}
private
void
getCodecBuffers
(
MediaCodec
codec
)
{
if
(
Util
.
SDK_INT
<
21
)
{
inputBuffers
=
codec
.
getInputBuffers
();
...
...
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