Flip input buffer even if the end of stream is reached.
Sometimes the empty end of stream buffer has a non-zero data limit. Calling flip first, resets the limit to the position which is zero in these cases. PiperOrigin-RevId: 413156455
This commit is contained in:
parent
1b25e2f93d
commit
8105394ac2
@ -298,12 +298,6 @@ sample:
|
|||||||
size = 1193
|
size = 1193
|
||||||
isKeyFrame = false
|
isKeyFrame = false
|
||||||
presentationTimeUs = 734083
|
presentationTimeUs = 734083
|
||||||
sample:
|
|
||||||
trackIndex = 0
|
|
||||||
dataHashCode = 820561200
|
|
||||||
size = 1252
|
|
||||||
isKeyFrame = true
|
|
||||||
presentationTimeUs = 201521
|
|
||||||
sample:
|
sample:
|
||||||
trackIndex = 1
|
trackIndex = 1
|
||||||
dataHashCode = -1554795381
|
dataHashCode = -1554795381
|
||||||
|
@ -197,13 +197,13 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull;
|
|||||||
int result = readSource(getFormatHolder(), samplePipelineInputBuffer, /* readFlags= */ 0);
|
int result = readSource(getFormatHolder(), samplePipelineInputBuffer, /* readFlags= */ 0);
|
||||||
switch (result) {
|
switch (result) {
|
||||||
case C.RESULT_BUFFER_READ:
|
case C.RESULT_BUFFER_READ:
|
||||||
|
samplePipelineInputBuffer.flip();
|
||||||
if (samplePipelineInputBuffer.isEndOfStream()) {
|
if (samplePipelineInputBuffer.isEndOfStream()) {
|
||||||
samplePipeline.queueInputBuffer();
|
samplePipeline.queueInputBuffer();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
mediaClock.updateTimeForTrackType(getTrackType(), samplePipelineInputBuffer.timeUs);
|
mediaClock.updateTimeForTrackType(getTrackType(), samplePipelineInputBuffer.timeUs);
|
||||||
samplePipelineInputBuffer.timeUs -= streamOffsetUs;
|
samplePipelineInputBuffer.timeUs -= streamOffsetUs;
|
||||||
samplePipelineInputBuffer.flip();
|
|
||||||
checkStateNotNull(samplePipelineInputBuffer.data);
|
checkStateNotNull(samplePipelineInputBuffer.data);
|
||||||
maybeQueueSampleToPipeline(samplePipelineInputBuffer);
|
maybeQueueSampleToPipeline(samplePipelineInputBuffer);
|
||||||
return true;
|
return true;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user