Add TrackOutput
field in PngExtractor
Also re-jig some `checkNotNull` calls to satisfy the nullness checker
(remove an unneeded one, and add a new one).
Follow-up to discussion in bb214b19f9
PiperOrigin-RevId: 561295724
This commit is contained in:
parent
b466b06ace
commit
9ee45fc938
@ -66,6 +66,7 @@ public final class PngExtractor implements Extractor {
|
|||||||
private int size;
|
private int size;
|
||||||
private @State int state;
|
private @State int state;
|
||||||
private @MonotonicNonNull ExtractorOutput extractorOutput;
|
private @MonotonicNonNull ExtractorOutput extractorOutput;
|
||||||
|
private @MonotonicNonNull TrackOutput trackOutput;
|
||||||
|
|
||||||
/** Creates an instance. */
|
/** Creates an instance. */
|
||||||
public PngExtractor() {
|
public PngExtractor() {
|
||||||
@ -100,9 +101,8 @@ public final class PngExtractor implements Extractor {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void readSegment(ExtractorInput input) throws IOException {
|
private void readSegment(ExtractorInput input) throws IOException {
|
||||||
TrackOutput trackOutput =
|
int result =
|
||||||
checkNotNull(extractorOutput).track(IMAGE_TRACK_ID, C.TRACK_TYPE_IMAGE);
|
checkNotNull(trackOutput).sampleData(input, FIXED_READ_LENGTH, /* allowEndOfInput= */ true);
|
||||||
int result = trackOutput.sampleData(input, FIXED_READ_LENGTH, /* allowEndOfInput= */ true);
|
|
||||||
if (result == C.RESULT_END_OF_INPUT) {
|
if (result == C.RESULT_END_OF_INPUT) {
|
||||||
state = STATE_ENDED;
|
state = STATE_ENDED;
|
||||||
@C.BufferFlags int flags = BUFFER_FLAG_KEY_FRAME;
|
@C.BufferFlags int flags = BUFFER_FLAG_KEY_FRAME;
|
||||||
@ -116,8 +116,7 @@ public final class PngExtractor implements Extractor {
|
|||||||
|
|
||||||
@RequiresNonNull("this.extractorOutput")
|
@RequiresNonNull("this.extractorOutput")
|
||||||
private void outputImageTrackAndSeekMap() {
|
private void outputImageTrackAndSeekMap() {
|
||||||
TrackOutput trackOutput =
|
trackOutput = extractorOutput.track(IMAGE_TRACK_ID, C.TRACK_TYPE_IMAGE);
|
||||||
checkNotNull(extractorOutput).track(IMAGE_TRACK_ID, C.TRACK_TYPE_IMAGE);
|
|
||||||
trackOutput.format(
|
trackOutput.format(
|
||||||
new Format.Builder()
|
new Format.Builder()
|
||||||
.setContainerMimeType(MimeTypes.IMAGE_PNG)
|
.setContainerMimeType(MimeTypes.IMAGE_PNG)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user