Move VideoSink config to dedicated method

This is  to improve readability of MediaCodecVideoRenderer.onEnabled

PiperOrigin-RevId: 742246092
This commit is contained in:
kimvde 2025-03-31 06:38:12 -07:00 committed by Copybara-Service
parent 25c1760b17
commit f8b1dcc33b

View File

@ -881,6 +881,24 @@ public class MediaCodecVideoRenderer extends MediaCodecRenderer
// Configure the VideoSink every time the renderer is enabled, in case the parameters have // Configure the VideoSink every time the renderer is enabled, in case the parameters have
// been overridden by another renderer. Also configure the VideoSink with the parameters that // been overridden by another renderer. Also configure the VideoSink with the parameters that
// have been set on the renderer before creating the VideoSink. // have been set on the renderer before creating the VideoSink.
configureVideoSink();
nextVideoSinkFirstFrameReleaseInstruction =
mayRenderStartOfStream
? RELEASE_FIRST_FRAME_IMMEDIATELY
: RELEASE_FIRST_FRAME_WHEN_STARTED;
experimentalEnableProcessedStreamChangedAtStart();
} else {
videoFrameReleaseControl.setClock(getClock());
int firstFrameReleaseInstruction =
mayRenderStartOfStream
? RELEASE_FIRST_FRAME_IMMEDIATELY
: RELEASE_FIRST_FRAME_WHEN_STARTED;
videoFrameReleaseControl.onStreamChanged(firstFrameReleaseInstruction);
}
}
@RequiresNonNull("videoSink")
private void configureVideoSink() {
videoSink.setListener( videoSink.setListener(
new VideoSink.Listener() { new VideoSink.Listener() {
@ -937,19 +955,6 @@ public class MediaCodecVideoRenderer extends MediaCodecRenderer
if (videoEffects != null) { if (videoEffects != null) {
videoSink.setVideoEffects(videoEffects); videoSink.setVideoEffects(videoEffects);
} }
nextVideoSinkFirstFrameReleaseInstruction =
mayRenderStartOfStream
? RELEASE_FIRST_FRAME_IMMEDIATELY
: RELEASE_FIRST_FRAME_WHEN_STARTED;
experimentalEnableProcessedStreamChangedAtStart();
} else {
videoFrameReleaseControl.setClock(getClock());
int firstFrameReleaseInstruction =
mayRenderStartOfStream
? RELEASE_FIRST_FRAME_IMMEDIATELY
: RELEASE_FIRST_FRAME_WHEN_STARTED;
videoFrameReleaseControl.onStreamChanged(firstFrameReleaseInstruction);
}
} }
/** Creates a {@link PlaybackVideoGraphWrapper} instance. */ /** Creates a {@link PlaybackVideoGraphWrapper} instance. */