Always set sink provider offset in onReadyToInitializeCodec
Before this CL, the offset was set: - in onPositionReset for composition preview - in onReadyToInitializeCodec for ExoPlayer The code flow is easier to reason about if the path for both use cases is as shared as possible. PiperOrigin-RevId: 624870150
This commit is contained in:
parent
df3c245250
commit
b7a92ce47a
@ -655,9 +655,6 @@ public class MediaCodecVideoRenderer extends MediaCodecRenderer
|
||||
videoSink.flush();
|
||||
}
|
||||
super.onPositionReset(positionUs, joining);
|
||||
if (videoSinkProvider.isInitialized()) {
|
||||
videoSinkProvider.setStreamOffsetUs(getOutputStreamOffsetUs());
|
||||
}
|
||||
videoFrameReleaseControl.reset();
|
||||
if (joining) {
|
||||
// Don't render next frame immediately to let the codec catch up with the playback position
|
||||
@ -1068,7 +1065,6 @@ public class MediaCodecVideoRenderer extends MediaCodecRenderer
|
||||
if (hasEffects && !hasInitializedPlayback && !videoSinkProvider.isInitialized()) {
|
||||
try {
|
||||
videoSinkProvider.initialize(format);
|
||||
videoSinkProvider.setStreamOffsetUs(getOutputStreamOffsetUs());
|
||||
if (frameMetadataListener != null) {
|
||||
videoSinkProvider.setVideoFrameMetadataListener(frameMetadataListener);
|
||||
}
|
||||
@ -1082,6 +1078,7 @@ public class MediaCodecVideoRenderer extends MediaCodecRenderer
|
||||
}
|
||||
|
||||
if (videoSink == null && videoSinkProvider.isInitialized()) {
|
||||
videoSinkProvider.setStreamOffsetUs(getOutputStreamOffsetUs());
|
||||
videoSink = videoSinkProvider.getSink();
|
||||
videoSink.setListener(
|
||||
new VideoSink.Listener() {
|
||||
|
Loading…
x
Reference in New Issue
Block a user