Commit d87fdaa3 by aquilescanta Committed by Oliver Woodman

Fix the single-sample SampleStream regarding FLAG_REQUIRE_FORMAT

The current FLAG_REQUIRE_FORMAT documentation states: If an end of
stream buffer would be read were the flag not set, then behavior is
unchanged.

PiperOrigin-RevId: 380792251
parent ddd6a225
......@@ -351,6 +351,10 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
public int readData(
FormatHolder formatHolder, DecoderInputBuffer buffer, @ReadFlags int readFlags) {
maybeNotifyDownstreamFormat();
if (loadingFinished && sampleData == null) {
streamState = STREAM_STATE_END_OF_STREAM;
}
if (streamState == STREAM_STATE_END_OF_STREAM) {
buffer.addFlag(C.BUFFER_FLAG_END_OF_STREAM);
return C.RESULT_BUFFER_READ;
......@@ -365,12 +369,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
if (!loadingFinished) {
return C.RESULT_NOTHING_READ;
}
if (sampleData == null) {
buffer.addFlag(C.BUFFER_FLAG_END_OF_STREAM);
streamState = STREAM_STATE_END_OF_STREAM;
return C.RESULT_BUFFER_READ;
}
Assertions.checkNotNull(sampleData);
buffer.addFlag(C.BUFFER_FLAG_KEY_FRAME);
buffer.timeUs = 0;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment