Update the TransformerMediaClock trackTime before deducting the offset.
#minor-release PiperOrigin-RevId: 407086818
This commit is contained in:
parent
8b34d160dc
commit
04efc03d4b
@ -279,8 +279,8 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull;
|
||||
int result = readSource(getFormatHolder(), decoderInputBuffer, /* readFlags= */ 0);
|
||||
switch (result) {
|
||||
case C.RESULT_BUFFER_READ:
|
||||
decoderInputBuffer.timeUs -= streamOffsetUs;
|
||||
mediaClock.updateTimeForTrackType(getTrackType(), decoderInputBuffer.timeUs);
|
||||
decoderInputBuffer.timeUs -= streamOffsetUs;
|
||||
decoderInputBuffer.flip();
|
||||
decoder.queueInputBuffer(decoderInputBuffer);
|
||||
return !decoderInputBuffer.isEndOfStream();
|
||||
|
@ -48,8 +48,7 @@ import androidx.media3.exoplayer.RendererCapabilities;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onStreamChanged(Format[] formats, long startPositionUs, long offsetUs)
|
||||
throws ExoPlaybackException {
|
||||
protected void onStreamChanged(Format[] formats, long startPositionUs, long offsetUs) {
|
||||
this.streamOffsetUs = offsetUs;
|
||||
}
|
||||
|
||||
|
@ -117,8 +117,8 @@ import java.nio.ByteBuffer;
|
||||
muxerWrapper.endTrack(getTrackType());
|
||||
return false;
|
||||
}
|
||||
buffer.timeUs -= streamOffsetUs;
|
||||
mediaClock.updateTimeForTrackType(getTrackType(), buffer.timeUs);
|
||||
buffer.timeUs -= streamOffsetUs;
|
||||
ByteBuffer data = checkNotNull(buffer.data);
|
||||
data.flip();
|
||||
if (sampleTransformer != null) {
|
||||
|
@ -320,8 +320,8 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull;
|
||||
case C.RESULT_FORMAT_READ:
|
||||
throw new IllegalStateException("Format changes are not supported.");
|
||||
case C.RESULT_BUFFER_READ:
|
||||
decoderInputBuffer.timeUs -= streamOffsetUs;
|
||||
mediaClock.updateTimeForTrackType(getTrackType(), decoderInputBuffer.timeUs);
|
||||
decoderInputBuffer.timeUs -= streamOffsetUs;
|
||||
ByteBuffer data = checkNotNull(decoderInputBuffer.data);
|
||||
data.flip();
|
||||
decoder.queueInputBuffer(decoderInputBuffer);
|
||||
|
Loading…
x
Reference in New Issue
Block a user