mirror of
https://github.com/samsonjs/media.git
synced 2026-03-28 09:55:48 +00:00
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
This commit is contained in:
parent
ddd6a22561
commit
d87fdaa370
1 changed files with 5 additions and 6 deletions
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Reference in a new issue