Remove using Consumer of ExportException in VideoGraphs

PiperOrigin-RevId: 566651267
This commit is contained in:
claincly 2023-09-19 09:10:57 -07:00 committed by Copybara-Service
parent 5661794a8f
commit 3cad5ed726
4 changed files with 7 additions and 24 deletions

View File

@ -43,7 +43,6 @@ import androidx.media3.common.GlTextureInfo;
import androidx.media3.common.SurfaceInfo; import androidx.media3.common.SurfaceInfo;
import androidx.media3.common.VideoFrameProcessingException; import androidx.media3.common.VideoFrameProcessingException;
import androidx.media3.common.VideoFrameProcessor; import androidx.media3.common.VideoFrameProcessor;
import androidx.media3.common.util.Consumer;
import androidx.media3.common.util.GlUtil; import androidx.media3.common.util.GlUtil;
import androidx.media3.effect.DefaultGlObjectsProvider; import androidx.media3.effect.DefaultGlObjectsProvider;
import androidx.media3.effect.DefaultVideoCompositor; import androidx.media3.effect.DefaultVideoCompositor;
@ -70,7 +69,6 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
Context context, Context context,
ColorInfo inputColorInfo, ColorInfo inputColorInfo,
ColorInfo outputColorInfo, ColorInfo outputColorInfo,
Consumer<ExportException> errorConsumer,
DebugViewProvider debugViewProvider, DebugViewProvider debugViewProvider,
Listener listener, Listener listener,
Executor listenerExecutor, Executor listenerExecutor,
@ -80,7 +78,6 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
context, context,
inputColorInfo, inputColorInfo,
outputColorInfo, outputColorInfo,
errorConsumer,
debugViewProvider, debugViewProvider,
listener, listener,
listenerExecutor, listenerExecutor,
@ -98,7 +95,6 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
private final Context context; private final Context context;
private final ColorInfo inputColorInfo; private final ColorInfo inputColorInfo;
private final ColorInfo outputColorInfo; private final ColorInfo outputColorInfo;
private final Consumer<ExportException> errorConsumer;
private final GlObjectsProvider glObjectsProvider; private final GlObjectsProvider glObjectsProvider;
private final DebugViewProvider debugViewProvider; private final DebugViewProvider debugViewProvider;
private final Listener listener; private final Listener listener;
@ -125,12 +121,10 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
private volatile boolean hasProducedFrameWithTimestampZero; private volatile boolean hasProducedFrameWithTimestampZero;
// TODO - b/289986435: Remove errorConsumer and use Listener.onError().
private MultipleInputVideoGraph( private MultipleInputVideoGraph(
Context context, Context context,
ColorInfo inputColorInfo, ColorInfo inputColorInfo,
ColorInfo outputColorInfo, ColorInfo outputColorInfo,
Consumer<ExportException> errorConsumer,
DebugViewProvider debugViewProvider, DebugViewProvider debugViewProvider,
Listener listener, Listener listener,
Executor listenerExecutor, Executor listenerExecutor,
@ -139,7 +133,6 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
this.context = context; this.context = context;
this.inputColorInfo = inputColorInfo; this.inputColorInfo = inputColorInfo;
this.outputColorInfo = outputColorInfo; this.outputColorInfo = outputColorInfo;
this.errorConsumer = errorConsumer;
this.debugViewProvider = debugViewProvider; this.debugViewProvider = debugViewProvider;
this.listener = listener; this.listener = listener;
this.listenerExecutor = listenerExecutor; this.listenerExecutor = listenerExecutor;
@ -434,8 +427,9 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
// This method is called on the sharedExecutorService. // This method is called on the sharedExecutorService.
private void handleVideoFrameProcessingException(Exception e) { private void handleVideoFrameProcessingException(Exception e) {
errorConsumer.accept( listenerExecutor.execute(
ExportException.createForVideoFrameProcessingException( () ->
listener.onError(
e instanceof VideoFrameProcessingException e instanceof VideoFrameProcessingException
? (VideoFrameProcessingException) e ? (VideoFrameProcessingException) e
: VideoFrameProcessingException.from(e))); : VideoFrameProcessingException.from(e)));

View File

@ -28,7 +28,6 @@ import androidx.media3.common.FrameInfo;
import androidx.media3.common.SurfaceInfo; import androidx.media3.common.SurfaceInfo;
import androidx.media3.common.VideoFrameProcessingException; import androidx.media3.common.VideoFrameProcessingException;
import androidx.media3.common.VideoFrameProcessor; import androidx.media3.common.VideoFrameProcessor;
import androidx.media3.common.util.Consumer;
import androidx.media3.effect.Presentation; import androidx.media3.effect.Presentation;
import java.util.List; import java.util.List;
import java.util.concurrent.Executor; import java.util.concurrent.Executor;
@ -50,7 +49,6 @@ import java.util.concurrent.Executor;
Context context, Context context,
ColorInfo inputColorInfo, ColorInfo inputColorInfo,
ColorInfo outputColorInfo, ColorInfo outputColorInfo,
Consumer<ExportException> errorConsumer,
DebugViewProvider debugViewProvider, DebugViewProvider debugViewProvider,
Listener listener, Listener listener,
Executor listenerExecutor, Executor listenerExecutor,
@ -69,7 +67,6 @@ import java.util.concurrent.Executor;
inputColorInfo, inputColorInfo,
outputColorInfo, outputColorInfo,
listener, listener,
errorConsumer,
debugViewProvider, debugViewProvider,
listenerExecutor, listenerExecutor,
/* renderFramesAutomatically= */ true, /* renderFramesAutomatically= */ true,
@ -83,7 +80,6 @@ import java.util.concurrent.Executor;
private final ColorInfo inputColorInfo; private final ColorInfo inputColorInfo;
private final ColorInfo outputColorInfo; private final ColorInfo outputColorInfo;
private final Listener listener; private final Listener listener;
private final Consumer<ExportException> errorConsumer;
private final DebugViewProvider debugViewProvider; private final DebugViewProvider debugViewProvider;
private final Executor listenerExecutor; private final Executor listenerExecutor;
private final boolean renderFramesAutomatically; private final boolean renderFramesAutomatically;
@ -101,7 +97,6 @@ import java.util.concurrent.Executor;
ColorInfo inputColorInfo, ColorInfo inputColorInfo,
ColorInfo outputColorInfo, ColorInfo outputColorInfo,
Listener listener, Listener listener,
Consumer<ExportException> errorConsumer,
DebugViewProvider debugViewProvider, DebugViewProvider debugViewProvider,
Executor listenerExecutor, Executor listenerExecutor,
boolean renderFramesAutomatically, boolean renderFramesAutomatically,
@ -112,7 +107,6 @@ import java.util.concurrent.Executor;
this.inputColorInfo = inputColorInfo; this.inputColorInfo = inputColorInfo;
this.outputColorInfo = outputColorInfo; this.outputColorInfo = outputColorInfo;
this.listener = listener; this.listener = listener;
this.errorConsumer = errorConsumer;
this.debugViewProvider = debugViewProvider; this.debugViewProvider = debugViewProvider;
this.listenerExecutor = listenerExecutor; this.listenerExecutor = listenerExecutor;
this.renderFramesAutomatically = renderFramesAutomatically; this.renderFramesAutomatically = renderFramesAutomatically;
@ -172,8 +166,7 @@ import java.util.concurrent.Executor;
@Override @Override
public void onError(VideoFrameProcessingException exception) { public void onError(VideoFrameProcessingException exception) {
errorConsumer.accept( listenerExecutor.execute(() -> listener.onError(exception));
ExportException.createForVideoFrameProcessingException(exception));
} }
@Override @Override

View File

@ -24,7 +24,6 @@ import androidx.media3.common.Effect;
import androidx.media3.common.SurfaceInfo; import androidx.media3.common.SurfaceInfo;
import androidx.media3.common.VideoFrameProcessingException; import androidx.media3.common.VideoFrameProcessingException;
import androidx.media3.common.VideoFrameProcessor; import androidx.media3.common.VideoFrameProcessor;
import androidx.media3.common.util.Consumer;
import java.util.List; import java.util.List;
import java.util.concurrent.Executor; import java.util.concurrent.Executor;
@ -39,7 +38,6 @@ import java.util.concurrent.Executor;
* @param context A {@link Context}. * @param context A {@link Context}.
* @param inputColorInfo The {@link ColorInfo} for the input frames. * @param inputColorInfo The {@link ColorInfo} for the input frames.
* @param outputColorInfo The {@link ColorInfo} for the output frames. * @param outputColorInfo The {@link ColorInfo} for the output frames.
* @param errorConsumer A {@link Consumer} of {@link ExportException}.
* @param debugViewProvider A {@link DebugViewProvider}. * @param debugViewProvider A {@link DebugViewProvider}.
* @param listener A {@link Listener}. * @param listener A {@link Listener}.
* @param listenerExecutor The {@link Executor} on which the {@code listener} is invoked. * @param listenerExecutor The {@link Executor} on which the {@code listener} is invoked.
@ -52,7 +50,6 @@ import java.util.concurrent.Executor;
Context context, Context context,
ColorInfo inputColorInfo, ColorInfo inputColorInfo,
ColorInfo outputColorInfo, ColorInfo outputColorInfo,
Consumer<ExportException> errorConsumer,
DebugViewProvider debugViewProvider, DebugViewProvider debugViewProvider,
Listener listener, Listener listener,
Executor listenerExecutor, Executor listenerExecutor,

View File

@ -490,7 +490,6 @@ import org.checkerframework.dataflow.qual.Pure;
context, context,
videoFrameProcessorInputColor, videoFrameProcessorInputColor,
videoFrameProcessorOutputColor, videoFrameProcessorOutputColor,
errorConsumer,
debugViewProvider, debugViewProvider,
/* listener= */ thisRef, /* listener= */ thisRef,
/* listenerExecutor= */ MoreExecutors.directExecutor(), /* listenerExecutor= */ MoreExecutors.directExecutor(),