mirror of
https://github.com/samsonjs/media.git
synced 2026-04-27 15:07:40 +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(
|
public int readData(
|
||||||
FormatHolder formatHolder, DecoderInputBuffer buffer, @ReadFlags int readFlags) {
|
FormatHolder formatHolder, DecoderInputBuffer buffer, @ReadFlags int readFlags) {
|
||||||
maybeNotifyDownstreamFormat();
|
maybeNotifyDownstreamFormat();
|
||||||
|
if (loadingFinished && sampleData == null) {
|
||||||
|
streamState = STREAM_STATE_END_OF_STREAM;
|
||||||
|
}
|
||||||
|
|
||||||
if (streamState == STREAM_STATE_END_OF_STREAM) {
|
if (streamState == STREAM_STATE_END_OF_STREAM) {
|
||||||
buffer.addFlag(C.BUFFER_FLAG_END_OF_STREAM);
|
buffer.addFlag(C.BUFFER_FLAG_END_OF_STREAM);
|
||||||
return C.RESULT_BUFFER_READ;
|
return C.RESULT_BUFFER_READ;
|
||||||
|
|
@ -365,12 +369,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
|
||||||
if (!loadingFinished) {
|
if (!loadingFinished) {
|
||||||
return C.RESULT_NOTHING_READ;
|
return C.RESULT_NOTHING_READ;
|
||||||
}
|
}
|
||||||
|
Assertions.checkNotNull(sampleData);
|
||||||
if (sampleData == null) {
|
|
||||||
buffer.addFlag(C.BUFFER_FLAG_END_OF_STREAM);
|
|
||||||
streamState = STREAM_STATE_END_OF_STREAM;
|
|
||||||
return C.RESULT_BUFFER_READ;
|
|
||||||
}
|
|
||||||
|
|
||||||
buffer.addFlag(C.BUFFER_FLAG_KEY_FRAME);
|
buffer.addFlag(C.BUFFER_FLAG_KEY_FRAME);
|
||||||
buffer.timeUs = 0;
|
buffer.timeUs = 0;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue