Deduplicate some of the calls to DefaultVideoSink methods

Some DefaultVideoSink methods are called once per sequence, but this
doesn't make sense as the DefaultVideoSink is connected to the
VideoGraph output. This CL calls the DefaultVideoSink method only for
the primary sequence.

The other problematic DefaultVideoSink method calls will be moved in
follow-up CLs.

This is part of the effort to prepare PlaybackVideoGraphWrapper for
multi-sequence.

PiperOrigin-RevId: 742625589
This commit is contained in:
kimvde 2025-04-01 03:40:13 -07:00 committed by Copybara-Service
parent 2141d9ef9c
commit 595b75b7d3

View File

@ -637,6 +637,11 @@ public final class PlaybackVideoGraphWrapper implements VideoSinkProvider, Video
defaultVideoSink.setBufferTimestampAdjustmentUs(bufferTimestampAdjustmentUs); defaultVideoSink.setBufferTimestampAdjustmentUs(bufferTimestampAdjustmentUs);
} }
private void setChangeFrameRateStrategy(
@C.VideoChangeFrameRateStrategy int changeFrameRateStrategy) {
defaultVideoSink.setChangeFrameRateStrategy(changeFrameRateStrategy);
}
private boolean shouldRenderToInputVideoSink() { private boolean shouldRenderToInputVideoSink() {
return totalVideoInputCount != C.LENGTH_UNSET return totalVideoInputCount != C.LENGTH_UNSET
&& totalVideoInputCount == registeredVideoInputCount; && totalVideoInputCount == registeredVideoInputCount;
@ -850,13 +855,17 @@ public final class PlaybackVideoGraphWrapper implements VideoSinkProvider, Video
@Override @Override
public void setVideoFrameMetadataListener( public void setVideoFrameMetadataListener(
VideoFrameMetadataListener videoFrameMetadataListener) { VideoFrameMetadataListener videoFrameMetadataListener) {
if (inputIndex == PRIMARY_SEQUENCE_INDEX) {
PlaybackVideoGraphWrapper.this.setVideoFrameMetadataListener(videoFrameMetadataListener); PlaybackVideoGraphWrapper.this.setVideoFrameMetadataListener(videoFrameMetadataListener);
} }
}
@Override @Override
public void setPlaybackSpeed(@FloatRange(from = 0, fromInclusive = false) float speed) { public void setPlaybackSpeed(@FloatRange(from = 0, fromInclusive = false) float speed) {
if (inputIndex == PRIMARY_SEQUENCE_INDEX) {
PlaybackVideoGraphWrapper.this.setPlaybackSpeed(speed); PlaybackVideoGraphWrapper.this.setPlaybackSpeed(speed);
} }
}
@Override @Override
public void setVideoEffects(List<Effect> videoEffects) { public void setVideoEffects(List<Effect> videoEffects) {
@ -892,7 +901,9 @@ public final class PlaybackVideoGraphWrapper implements VideoSinkProvider, Video
@Override @Override
public void setChangeFrameRateStrategy( public void setChangeFrameRateStrategy(
@C.VideoChangeFrameRateStrategy int changeFrameRateStrategy) { @C.VideoChangeFrameRateStrategy int changeFrameRateStrategy) {
defaultVideoSink.setChangeFrameRateStrategy(changeFrameRateStrategy); if (inputIndex == PRIMARY_SEQUENCE_INDEX) {
PlaybackVideoGraphWrapper.this.setChangeFrameRateStrategy(changeFrameRateStrategy);
}
} }
@Override @Override