mirror of
https://github.com/androidx/media.git
synced 2025-04-30 06:46:50 +08:00
Tighten two MediaCodecRenderer
fields to @MonotonicNonNull
Remove some `checkNotNull` calls that are no longer needed. PiperOrigin-RevId: 717597046
This commit is contained in:
parent
7c10ef03e4
commit
5421a74d06
@ -86,6 +86,7 @@ import java.nio.ByteOrder;
|
|||||||
import java.util.ArrayDeque;
|
import java.util.ArrayDeque;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
|
||||||
import org.checkerframework.checker.nullness.qual.RequiresNonNull;
|
import org.checkerframework.checker.nullness.qual.RequiresNonNull;
|
||||||
|
|
||||||
/** An abstract renderer that uses {@link MediaCodec} to decode samples for rendering. */
|
/** An abstract renderer that uses {@link MediaCodec} to decode samples for rendering. */
|
||||||
@ -331,10 +332,10 @@ public abstract class MediaCodecRenderer extends BaseRenderer {
|
|||||||
private final OggOpusAudioPacketizer oggOpusAudioPacketizer;
|
private final OggOpusAudioPacketizer oggOpusAudioPacketizer;
|
||||||
|
|
||||||
@Nullable private Format inputFormat;
|
@Nullable private Format inputFormat;
|
||||||
@Nullable private Format outputFormat;
|
private @MonotonicNonNull Format outputFormat;
|
||||||
@Nullable private DrmSession codecDrmSession;
|
@Nullable private DrmSession codecDrmSession;
|
||||||
@Nullable private DrmSession sourceDrmSession;
|
@Nullable private DrmSession sourceDrmSession;
|
||||||
@Nullable private WakeupListener wakeupListener;
|
private @MonotonicNonNull WakeupListener wakeupListener;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A framework {@link MediaCrypto} for use with {@link MediaCodec#queueSecureInputBuffer(int, int,
|
* A framework {@link MediaCrypto} for use with {@link MediaCodec#queueSecureInputBuffer(int, int,
|
||||||
@ -836,8 +837,8 @@ public abstract class MediaCodecRenderer extends BaseRenderer {
|
|||||||
public void handleMessage(@MessageType int messageType, @Nullable Object message)
|
public void handleMessage(@MessageType int messageType, @Nullable Object message)
|
||||||
throws ExoPlaybackException {
|
throws ExoPlaybackException {
|
||||||
if (messageType == MSG_SET_WAKEUP_LISTENER) {
|
if (messageType == MSG_SET_WAKEUP_LISTENER) {
|
||||||
wakeupListener = (WakeupListener) message;
|
wakeupListener = checkNotNull((WakeupListener) message);
|
||||||
onWakeupListenerSet(checkNotNull(wakeupListener));
|
onWakeupListenerSet(wakeupListener);
|
||||||
} else {
|
} else {
|
||||||
super.handleMessage(messageType, message);
|
super.handleMessage(messageType, message);
|
||||||
}
|
}
|
||||||
@ -2468,11 +2469,7 @@ public abstract class MediaCodecRenderer extends BaseRenderer {
|
|||||||
// TODO(b/298634018): Adjust encoderDelay value based on starting position.
|
// TODO(b/298634018): Adjust encoderDelay value based on starting position.
|
||||||
int numberPreSkipSamples =
|
int numberPreSkipSamples =
|
||||||
OpusUtil.getPreSkipSamples(outputFormat.initializationData.get(0));
|
OpusUtil.getPreSkipSamples(outputFormat.initializationData.get(0));
|
||||||
outputFormat =
|
outputFormat = outputFormat.buildUpon().setEncoderDelay(numberPreSkipSamples).build();
|
||||||
checkNotNull(outputFormat)
|
|
||||||
.buildUpon()
|
|
||||||
.setEncoderDelay(numberPreSkipSamples)
|
|
||||||
.build();
|
|
||||||
}
|
}
|
||||||
onOutputFormatChanged(outputFormat, /* mediaFormat= */ null);
|
onOutputFormatChanged(outputFormat, /* mediaFormat= */ null);
|
||||||
waitingForFirstSampleInFormat = false;
|
waitingForFirstSampleInFormat = false;
|
||||||
@ -2491,8 +2488,7 @@ public abstract class MediaCodecRenderer extends BaseRenderer {
|
|||||||
getLastResetPositionUs(), bypassSampleBuffer.timeUs)) {
|
getLastResetPositionUs(), bypassSampleBuffer.timeUs)) {
|
||||||
// Packetize as long as frame does not precede the last reset position by more than
|
// Packetize as long as frame does not precede the last reset position by more than
|
||||||
// seek-preroll.
|
// seek-preroll.
|
||||||
oggOpusAudioPacketizer.packetize(
|
oggOpusAudioPacketizer.packetize(bypassSampleBuffer, outputFormat.initializationData);
|
||||||
bypassSampleBuffer, checkNotNull(outputFormat).initializationData);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!haveBypassBatchBufferAndNewSampleSameDecodeOnlyState()
|
if (!haveBypassBatchBufferAndNewSampleSameDecodeOnlyState()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user