Remove VideoSinkProvider class member from MCVR

PiperOrigin-RevId: 631037709
This commit is contained in:
kimvde 2024-05-06 07:26:53 -07:00 committed by Copybara-Service
parent a03f30bea9
commit 4a54db7cc7

View File

@ -142,9 +142,8 @@ public class MediaCodecVideoRenderer extends MediaCodecRenderer
private static boolean deviceNeedsSetOutputSurfaceWorkaround; private static boolean deviceNeedsSetOutputSurfaceWorkaround;
private final Context context; private final Context context;
private final VideoSinkProvider videoSinkProvider;
private final boolean ownsVideoSinkProvider;
private final VideoSink videoSink; private final VideoSink videoSink;
private final boolean ownsVideoSink;
private final EventDispatcher eventDispatcher; private final EventDispatcher eventDispatcher;
private final int maxDroppedFramesToNotify; private final int maxDroppedFramesToNotify;
private final boolean deviceNeedsNoPostProcessWorkaround; private final boolean deviceNeedsNoPostProcessWorkaround;
@ -392,11 +391,10 @@ public class MediaCodecVideoRenderer extends MediaCodecRenderer
this.maxDroppedFramesToNotify = maxDroppedFramesToNotify; this.maxDroppedFramesToNotify = maxDroppedFramesToNotify;
this.context = context.getApplicationContext(); this.context = context.getApplicationContext();
eventDispatcher = new EventDispatcher(eventHandler, eventListener); eventDispatcher = new EventDispatcher(eventHandler, eventListener);
ownsVideoSinkProvider = videoSinkProvider == null; ownsVideoSink = videoSinkProvider == null;
if (videoSinkProvider == null) { if (videoSinkProvider == null) {
videoSinkProvider = new CompositingVideoSinkProvider.Builder(this.context).build(); videoSinkProvider = new CompositingVideoSinkProvider.Builder(this.context).build();
} }
if (videoSinkProvider.getVideoFrameReleaseControl() == null) { if (videoSinkProvider.getVideoFrameReleaseControl() == null) {
@SuppressWarnings("nullness:assignment") @SuppressWarnings("nullness:assignment")
VideoFrameReleaseControl.@Initialized FrameTimingEvaluator thisRef = this; VideoFrameReleaseControl.@Initialized FrameTimingEvaluator thisRef = this;
@ -404,10 +402,8 @@ public class MediaCodecVideoRenderer extends MediaCodecRenderer
new VideoFrameReleaseControl( new VideoFrameReleaseControl(
this.context, /* frameTimingEvaluator= */ thisRef, allowedJoiningTimeMs)); this.context, /* frameTimingEvaluator= */ thisRef, allowedJoiningTimeMs));
} }
this.videoSinkProvider = videoSinkProvider;
videoSink = videoSinkProvider.getSink(); videoSink = videoSinkProvider.getSink();
videoFrameReleaseControl = videoFrameReleaseControl = checkStateNotNull(videoSinkProvider.getVideoFrameReleaseControl());
checkStateNotNull(this.videoSinkProvider.getVideoFrameReleaseControl());
videoFrameReleaseInfo = new VideoFrameReleaseControl.FrameReleaseInfo(); videoFrameReleaseInfo = new VideoFrameReleaseControl.FrameReleaseInfo();
deviceNeedsNoPostProcessWorkaround = deviceNeedsNoPostProcessWorkaround(); deviceNeedsNoPostProcessWorkaround = deviceNeedsNoPostProcessWorkaround();
scalingMode = C.VIDEO_SCALING_MODE_DEFAULT; scalingMode = C.VIDEO_SCALING_MODE_DEFAULT;
@ -733,7 +729,7 @@ public class MediaCodecVideoRenderer extends MediaCodecRenderer
@Override @Override
protected void onRelease() { protected void onRelease() {
super.onRelease(); super.onRelease();
if (ownsVideoSinkProvider) { if (ownsVideoSink) {
videoSink.release(); videoSink.release();
} }
} }
@ -1051,9 +1047,9 @@ public class MediaCodecVideoRenderer extends MediaCodecRenderer
// already set. We do not enable effects mid-playback. For effects to be enabled after // already set. We do not enable effects mid-playback. For effects to be enabled after
// playback has started, the renderer needs to be reset first. // playback has started, the renderer needs to be reset first.
boolean enableEffectsForOwnSinkProvider = boolean enableEffectsForOwnSinkProvider =
ownsVideoSinkProvider && hasEffects && !hasInitializedPlayback; ownsVideoSink && hasEffects && !hasInitializedPlayback;
// We always use the video sink if the video sink provider is passed to the renderer. // We always use the video sink if the video sink provider is passed to the renderer.
boolean useVideoSink = enableEffectsForOwnSinkProvider || !ownsVideoSinkProvider; boolean useVideoSink = enableEffectsForOwnSinkProvider || !ownsVideoSink;
if (useVideoSink) { if (useVideoSink) {
if (!videoSink.isInitialized()) { if (!videoSink.isInitialized()) {
try { try {