Remove experimental time limit on renderer loop.
PiperOrigin-RevId: 322172767
This commit is contained in:
parent
811921e618
commit
08f62efb88
@ -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 = 1f;
|
||||
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];
|
||||
@ -451,20 +449,6 @@ public abstract class MediaCodecRenderer extends BaseRenderer {
|
||||
resetCodecStateForRelease();
|
||||
}
|
||||
|
||||
/**
|
||||
* 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}.
|
||||
*
|
||||
@ -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();
|
||||
|
Loading…
x
Reference in New Issue
Block a user