package androidx.media3.common;

import android.content.Context;
import android.graphics.Bitmap;
import android.view.Surface;
import androidx.annotation.IntRange;
import androidx.annotation.Nullable;
import androidx.media3.common.util.TimestampIterator;
import androidx.media3.common.util.UnstableApi;
import java.util.List;
import java.util.concurrent.Executor;

/* JADX INFO: loaded from: classes.dex */
@UnstableApi
public interface VideoGraph {

    public interface Factory {
        VideoGraph create(Context context, ColorInfo colorInfo, DebugViewProvider debugViewProvider, Listener listener, Executor executor, long j10, boolean z10);

        boolean supportsMultipleInputs();
    }

    public interface Listener {
        default void onEnded(long j10) {
        }

        default void onError(VideoFrameProcessingException videoFrameProcessingException) {
        }

        default void onOutputFrameAvailableForRendering(long j10, boolean z10) {
        }

        default void onOutputFrameRateChanged(float f10) {
        }

        default void onOutputSizeChanged(int i10, int i11) {
        }
    }

    void flush();

    Surface getInputSurface(int i10);

    int getPendingInputFrameCount(int i10);

    boolean hasProducedFrameWithTimestampZero();

    void initialize() throws VideoFrameProcessingException;

    boolean queueInputBitmap(int i10, Bitmap bitmap, TimestampIterator timestampIterator);

    boolean queueInputTexture(int i10, int i11, long j10);

    void redraw();

    void registerInput(@IntRange(from = 0) int i10) throws VideoFrameProcessingException;

    boolean registerInputFrame(int i10);

    void registerInputStream(int i10, int i11, Format format, List<Effect> list, long j10);

    void release();

    void renderOutputFrame(long j10);

    void setCompositionEffects(List<Effect> list);

    void setCompositorSettings(VideoCompositorSettings videoCompositorSettings);

    void setOnInputFrameProcessedListener(int i10, OnInputFrameProcessedListener onInputFrameProcessedListener);

    void setOnInputSurfaceReadyListener(int i10, Runnable runnable);

    void setOutputSurfaceInfo(@Nullable SurfaceInfo surfaceInfo);

    void signalEndOfInput(int i10);
}
