package androidx.media3.exoplayer;

import android.content.Context;
import android.media.AudioDeviceInfo;
import android.os.Looper;
import androidx.media3.common.AudioAttributes;
import androidx.media3.common.AuxEffectInfo;
import androidx.media3.common.C;
import androidx.media3.common.Effect;
import androidx.media3.common.Format;
import androidx.media3.common.MediaItem;
import androidx.media3.common.Player;
import androidx.media3.common.PriorityTaskManager;
import androidx.media3.common.util.Clock;
import androidx.media3.common.util.ExperimentalApi;
import androidx.media3.common.util.UnstableApi;
import androidx.media3.common.util.Util;
import androidx.media3.exoplayer.DefaultLivePlaybackSpeedControl;
import androidx.media3.exoplayer.PlayerMessage;
import androidx.media3.exoplayer.analytics.AnalyticsCollector;
import androidx.media3.exoplayer.analytics.AnalyticsListener;
import androidx.media3.exoplayer.analytics.PlayerId;
import androidx.media3.exoplayer.audio.AudioOutputProvider;
import androidx.media3.exoplayer.image.ImageOutput;
import androidx.media3.exoplayer.source.DefaultMediaSourceFactory;
import androidx.media3.exoplayer.source.MediaSource;
import androidx.media3.exoplayer.source.ShuffleOrder;
import androidx.media3.exoplayer.source.TrackGroupArray;
import androidx.media3.exoplayer.trackselection.DefaultTrackSelector;
import androidx.media3.exoplayer.trackselection.TrackSelectionArray;
import androidx.media3.exoplayer.trackselection.TrackSelector;
import androidx.media3.exoplayer.upstream.BandwidthMeter;
import androidx.media3.exoplayer.video.VideoFrameMetadataListener;
import androidx.media3.exoplayer.video.spherical.CameraMotionListener;
import androidx.media3.extractor.DefaultExtractorsFactory;
import defpackage.a12;
import defpackage.ae9;
import defpackage.ar1;
import defpackage.av;
import defpackage.b12;
import defpackage.fp4;
import defpackage.hs0;
import defpackage.if7;
import defpackage.is2;
import defpackage.jr3;
import defpackage.js2;
import defpackage.ks2;
import defpackage.m38;
import defpackage.mx;
import defpackage.rq6;
import defpackage.sma;
import defpackage.z02;
import java.util.List;

/* JADX INFO: loaded from: classes.dex */
public interface ExoPlayer extends Player {

    @UnstableApi
    public static final long DEFAULT_DETACH_SURFACE_TIMEOUT_MS = 2000;

    @UnstableApi
    public static final long DEFAULT_RELEASE_TIMEOUT_MS = 500;

    @UnstableApi
    public static final int DEFAULT_STUCK_BUFFERING_DETECTION_TIMEOUT_MS = 600000;

    @UnstableApi
    public static final int DEFAULT_STUCK_PLAYING_DETECTION_TIMEOUT_MS;

    @UnstableApi
    public static final int DEFAULT_STUCK_PLAYING_NOT_ENDING_TIMEOUT_MS = 60000;

    @UnstableApi
    public static final int DEFAULT_STUCK_SUPPRESSED_DETECTION_TIMEOUT_MS = 600000;

    @UnstableApi
    public interface AudioOffloadListener {
        default void onOffloadedPlayback(boolean z) {
        }

        default void onSleepingForOffloadChanged(boolean z) {
        }
    }

    public static final class Builder {

        @UnstableApi
        public static boolean experimentalEnableStuckPlayingDetection = true;
        jr3<Clock, AnalyticsCollector> analyticsCollectorFunction;
        AudioAttributes audioAttributes;

        @rq6
        AudioOutputProvider audioOutputProvider;
        boolean avoidLoadingWhileEnded;
        ae9<BandwidthMeter> bandwidthMeterSupplier;
        boolean buildCalled;
        Clock clock;
        final Context context;
        long detachSurfaceTimeoutMs;
        boolean deviceVolumeControlEnabled;
        boolean dynamicSchedulingEnabled;
        long foregroundModeTimeoutMs;
        boolean handleAudioBecomingNoisy;
        boolean handleAudioFocus;
        LivePlaybackSpeedControl livePlaybackSpeedControl;
        ae9<LoadControl> loadControlSupplier;
        Looper looper;
        long maxSeekToPreviousPositionMs;
        ae9<MediaSource.Factory> mediaSourceFactorySupplier;
        boolean pauseAtEndOfMediaItems;

        @rq6
        PlaybackLooperProvider playbackLooperProvider;
        String playerName;
        int priority;

        @rq6
        PriorityTaskManager priorityTaskManager;
        long releaseTimeoutMs;
        ae9<RenderersFactory> renderersFactorySupplier;
        ScrubbingModeParameters scrubbingModeParameters;
        long seekBackIncrementMs;
        long seekForwardIncrementMs;
        SeekParameters seekParameters;
        boolean skipSilenceEnabled;
        int stuckBufferingDetectionTimeoutMs;
        int stuckPlayingDetectionTimeoutMs;
        int stuckPlayingNotEndingTimeoutMs;
        int stuckSuppressedDetectionTimeoutMs;
        SuitableOutputChecker suitableOutputChecker;
        boolean suppressPlaybackOnUnsuitableOutput;
        ae9<TrackSelector> trackSelectorSupplier;
        boolean useLazyPreparation;
        boolean usePlatformDiagnostics;
        int videoChangeFrameRateStrategy;
        int videoScalingMode;
        int wakeMode;
        boolean wakeModeSet;

        public Builder(Context context) {
            this(context, new mx(context, 3), new mx(context, 4));
        }

        /* JADX INFO: Access modifiers changed from: private */
        public static /* synthetic */ RenderersFactory lambda$new$0(Context context) {
            return new DefaultRenderersFactory(context);
        }

        /* JADX INFO: Access modifiers changed from: private */
        public static /* synthetic */ MediaSource.Factory lambda$new$1(Context context) {
            return new DefaultMediaSourceFactory(context, new DefaultExtractorsFactory());
        }

        /* JADX INFO: Access modifiers changed from: private */
        public static /* synthetic */ TrackSelector lambda$new$10(TrackSelector trackSelector) {
            return trackSelector;
        }

        /* JADX INFO: Access modifiers changed from: private */
        public static /* synthetic */ LoadControl lambda$new$11(LoadControl loadControl) {
            return loadControl;
        }

        /* JADX INFO: Access modifiers changed from: private */
        public static /* synthetic */ BandwidthMeter lambda$new$12(BandwidthMeter bandwidthMeter) {
            return bandwidthMeter;
        }

        /* JADX INFO: Access modifiers changed from: private */
        public static /* synthetic */ AnalyticsCollector lambda$new$13(AnalyticsCollector analyticsCollector, Clock clock) {
            return analyticsCollector;
        }

        /* JADX INFO: Access modifiers changed from: private */
        public static /* synthetic */ TrackSelector lambda$new$14(Context context) {
            return new DefaultTrackSelector(context);
        }

        /* JADX INFO: Access modifiers changed from: private */
        public static /* synthetic */ RenderersFactory lambda$new$2(RenderersFactory renderersFactory) {
            return renderersFactory;
        }

        /* JADX INFO: Access modifiers changed from: private */
        public static /* synthetic */ MediaSource.Factory lambda$new$3(Context context) {
            return new DefaultMediaSourceFactory(context, new DefaultExtractorsFactory());
        }

        /* JADX INFO: Access modifiers changed from: private */
        public static /* synthetic */ RenderersFactory lambda$new$4(Context context) {
            return new DefaultRenderersFactory(context);
        }

        /* JADX INFO: Access modifiers changed from: private */
        public static /* synthetic */ MediaSource.Factory lambda$new$5(MediaSource.Factory factory) {
            return factory;
        }

        /* JADX INFO: Access modifiers changed from: private */
        public static /* synthetic */ RenderersFactory lambda$new$6(RenderersFactory renderersFactory) {
            return renderersFactory;
        }

        /* JADX INFO: Access modifiers changed from: private */
        public static /* synthetic */ MediaSource.Factory lambda$new$7(MediaSource.Factory factory) {
            return factory;
        }

        /* JADX INFO: Access modifiers changed from: private */
        public static /* synthetic */ RenderersFactory lambda$new$8(RenderersFactory renderersFactory) {
            return renderersFactory;
        }

        /* JADX INFO: Access modifiers changed from: private */
        public static /* synthetic */ MediaSource.Factory lambda$new$9(MediaSource.Factory factory) {
            return factory;
        }

        /* JADX INFO: Access modifiers changed from: private */
        public static /* synthetic */ AnalyticsCollector lambda$setAnalyticsCollector$21(AnalyticsCollector analyticsCollector, Clock clock) {
            return analyticsCollector;
        }

        /* JADX INFO: Access modifiers changed from: private */
        public static /* synthetic */ BandwidthMeter lambda$setBandwidthMeter$20(BandwidthMeter bandwidthMeter) {
            return bandwidthMeter;
        }

        /* JADX INFO: Access modifiers changed from: private */
        public static /* synthetic */ LoadControl lambda$setLoadControl$19(LoadControl loadControl) {
            return loadControl;
        }

        /* JADX INFO: Access modifiers changed from: private */
        public static /* synthetic */ MediaSource.Factory lambda$setMediaSourceFactory$17(MediaSource.Factory factory) {
            return factory;
        }

        /* JADX INFO: Access modifiers changed from: private */
        public static /* synthetic */ RenderersFactory lambda$setRenderersFactory$16(RenderersFactory renderersFactory) {
            return renderersFactory;
        }

        /* JADX INFO: Access modifiers changed from: private */
        public static /* synthetic */ TrackSelector lambda$setTrackSelector$18(TrackSelector trackSelector) {
            return trackSelector;
        }

        public ExoPlayer build() {
            if7.o(!this.buildCalled);
            this.buildCalled = true;
            return new ExoPlayerImpl(this, null);
        }

        public SimpleExoPlayer buildSimpleExoPlayer() {
            if7.o(!this.buildCalled);
            this.buildCalled = true;
            return new SimpleExoPlayer(this);
        }

        @ExperimentalApi
        @hs0
        public Builder experimentalAvoidLoadingWhileEnded(boolean z) {
            if7.o(!this.buildCalled);
            this.avoidLoadingWhileEnded = z;
            return this;
        }

        @hs0
        @UnstableApi
        public Builder experimentalSetDynamicSchedulingEnabled(boolean z) {
            if7.o(!this.buildCalled);
            this.dynamicSchedulingEnabled = z;
            return this;
        }

        @hs0
        @UnstableApi
        public Builder experimentalSetForegroundModeTimeoutMs(long j) {
            if7.o(!this.buildCalled);
            this.foregroundModeTimeoutMs = j;
            return this;
        }

        @hs0
        @UnstableApi
        public Builder setAnalyticsCollector(AnalyticsCollector analyticsCollector) {
            if7.o(!this.buildCalled);
            analyticsCollector.getClass();
            this.analyticsCollectorFunction = new is2(analyticsCollector, 0);
            return this;
        }

        @hs0
        public Builder setAudioAttributes(AudioAttributes audioAttributes, boolean z) {
            if7.o(!this.buildCalled);
            audioAttributes.getClass();
            this.audioAttributes = audioAttributes;
            this.handleAudioFocus = z;
            return this;
        }

        @hs0
        public Builder setAudioOutputProvider(AudioOutputProvider audioOutputProvider) {
            if7.o(!this.buildCalled);
            audioOutputProvider.getClass();
            this.audioOutputProvider = audioOutputProvider;
            return this;
        }

        @hs0
        @UnstableApi
        public Builder setBandwidthMeter(BandwidthMeter bandwidthMeter) {
            if7.o(!this.buildCalled);
            bandwidthMeter.getClass();
            this.bandwidthMeterSupplier = new b12(bandwidthMeter, 1);
            return this;
        }

        @sma
        @hs0
        @UnstableApi
        public Builder setClock(Clock clock) {
            if7.o(!this.buildCalled);
            this.clock = clock;
            return this;
        }

        @hs0
        @UnstableApi
        public Builder setDetachSurfaceTimeoutMs(long j) {
            if7.o(!this.buildCalled);
            this.detachSurfaceTimeoutMs = j;
            return this;
        }

        @hs0
        @UnstableApi
        public Builder setDeviceVolumeControlEnabled(boolean z) {
            if7.o(!this.buildCalled);
            this.deviceVolumeControlEnabled = z;
            return this;
        }

        @hs0
        public Builder setHandleAudioBecomingNoisy(boolean z) {
            if7.o(!this.buildCalled);
            this.handleAudioBecomingNoisy = z;
            return this;
        }

        @hs0
        @UnstableApi
        public Builder setLivePlaybackSpeedControl(LivePlaybackSpeedControl livePlaybackSpeedControl) {
            if7.o(!this.buildCalled);
            livePlaybackSpeedControl.getClass();
            this.livePlaybackSpeedControl = livePlaybackSpeedControl;
            return this;
        }

        @hs0
        @UnstableApi
        public Builder setLoadControl(LoadControl loadControl) {
            if7.o(!this.buildCalled);
            loadControl.getClass();
            this.loadControlSupplier = new z02(loadControl, 1);
            return this;
        }

        @hs0
        @UnstableApi
        public Builder setLooper(Looper looper) {
            if7.o(!this.buildCalled);
            looper.getClass();
            this.looper = looper;
            return this;
        }

        @hs0
        @UnstableApi
        public Builder setMaxSeekToPreviousPositionMs(@fp4 long j) {
            if7.e(j >= 0);
            if7.o(!this.buildCalled);
            this.maxSeekToPreviousPositionMs = j;
            return this;
        }

        @hs0
        public Builder setMediaSourceFactory(MediaSource.Factory factory) {
            if7.o(!this.buildCalled);
            factory.getClass();
            this.mediaSourceFactorySupplier = new js2(factory, 3);
            return this;
        }

        @hs0
        @UnstableApi
        public Builder setName(String str) {
            if7.o(!this.buildCalled);
            if7.e(!str.equals(PlayerId.PRELOAD.name));
            this.playerName = str;
            return this;
        }

        @hs0
        @UnstableApi
        public Builder setPauseAtEndOfMediaItems(boolean z) {
            if7.o(!this.buildCalled);
            this.pauseAtEndOfMediaItems = z;
            return this;
        }

        @hs0
        @UnstableApi
        public Builder setPlaybackLooper(Looper looper) {
            if7.o((this.buildCalled || looper == Looper.getMainLooper()) ? false : true);
            this.playbackLooperProvider = new PlaybackLooperProvider(looper);
            return this;
        }

        @m38
        @hs0
        public Builder setPlaybackLooperProvider(PlaybackLooperProvider playbackLooperProvider) {
            if7.o(!this.buildCalled);
            this.playbackLooperProvider = playbackLooperProvider;
            return this;
        }

        @hs0
        @UnstableApi
        public Builder setPriority(int i) {
            if7.o(!this.buildCalled);
            this.priority = i;
            return this;
        }

        @hs0
        @UnstableApi
        public Builder setPriorityTaskManager(@rq6 PriorityTaskManager priorityTaskManager) {
            if7.o(!this.buildCalled);
            this.priorityTaskManager = priorityTaskManager;
            return this;
        }

        @hs0
        @UnstableApi
        public Builder setReleaseTimeoutMs(long j) {
            if7.o(!this.buildCalled);
            this.releaseTimeoutMs = j;
            return this;
        }

        @hs0
        @UnstableApi
        public Builder setRenderersFactory(RenderersFactory renderersFactory) {
            if7.o(!this.buildCalled);
            renderersFactory.getClass();
            this.renderersFactorySupplier = new a12(renderersFactory, 1);
            return this;
        }

        @hs0
        @UnstableApi
        public Builder setScrubbingModeParameters(ScrubbingModeParameters scrubbingModeParameters) {
            if7.o(!this.buildCalled);
            scrubbingModeParameters.getClass();
            this.scrubbingModeParameters = scrubbingModeParameters;
            return this;
        }

        @hs0
        public Builder setSeekBackIncrementMs(@fp4 long j) {
            if7.e(j > 0);
            if7.o(!this.buildCalled);
            this.seekBackIncrementMs = j;
            return this;
        }

        @hs0
        public Builder setSeekForwardIncrementMs(@fp4 long j) {
            if7.e(j > 0);
            if7.o(!this.buildCalled);
            this.seekForwardIncrementMs = j;
            return this;
        }

        @hs0
        @UnstableApi
        public Builder setSeekParameters(SeekParameters seekParameters) {
            if7.o(!this.buildCalled);
            seekParameters.getClass();
            this.seekParameters = seekParameters;
            return this;
        }

        @hs0
        @UnstableApi
        public Builder setSkipSilenceEnabled(boolean z) {
            if7.o(!this.buildCalled);
            this.skipSilenceEnabled = z;
            return this;
        }

        @hs0
        @UnstableApi
        public Builder setStuckBufferingDetectionTimeoutMs(int i) {
            if7.o(!this.buildCalled);
            if7.e(i > 0);
            this.stuckBufferingDetectionTimeoutMs = i;
            return this;
        }

        @hs0
        @UnstableApi
        public Builder setStuckPlayingDetectionTimeoutMs(int i) {
            if7.o(!this.buildCalled);
            if7.e(i > 0);
            this.stuckPlayingDetectionTimeoutMs = i;
            return this;
        }

        @hs0
        @UnstableApi
        public Builder setStuckPlayingNotEndingTimeoutMs(int i) {
            if7.o(!this.buildCalled);
            if7.e(i > 0);
            this.stuckPlayingNotEndingTimeoutMs = i;
            return this;
        }

        @hs0
        @UnstableApi
        public Builder setStuckSuppressedDetectionTimeoutMs(int i) {
            if7.o(!this.buildCalled);
            if7.e(i > 0);
            this.stuckSuppressedDetectionTimeoutMs = i;
            return this;
        }

        @m38
        @sma
        @hs0
        public Builder setSuitableOutputChecker(SuitableOutputChecker suitableOutputChecker) {
            if7.o(!this.buildCalled);
            this.suitableOutputChecker = suitableOutputChecker;
            return this;
        }

        @hs0
        @UnstableApi
        public Builder setSuppressPlaybackOnUnsuitableOutput(boolean z) {
            if7.o(!this.buildCalled);
            this.suppressPlaybackOnUnsuitableOutput = z;
            return this;
        }

        @hs0
        @UnstableApi
        public Builder setTrackSelector(TrackSelector trackSelector) {
            if7.o(!this.buildCalled);
            trackSelector.getClass();
            this.trackSelectorSupplier = new ks2(trackSelector, 1);
            return this;
        }

        @hs0
        @UnstableApi
        public Builder setUseLazyPreparation(boolean z) {
            if7.o(!this.buildCalled);
            this.useLazyPreparation = z;
            return this;
        }

        @hs0
        @UnstableApi
        public Builder setUsePlatformDiagnostics(boolean z) {
            if7.o(!this.buildCalled);
            this.usePlatformDiagnostics = z;
            return this;
        }

        @hs0
        @UnstableApi
        public Builder setVideoChangeFrameRateStrategy(int i) {
            if7.o(!this.buildCalled);
            this.videoChangeFrameRateStrategy = i;
            return this;
        }

        @hs0
        @UnstableApi
        public Builder setVideoScalingMode(int i) {
            if7.o(!this.buildCalled);
            this.videoScalingMode = i;
            return this;
        }

        @hs0
        public Builder setWakeMode(int i) {
            if7.o(!this.buildCalled);
            this.wakeMode = i;
            this.wakeModeSet = true;
            return this;
        }

        @UnstableApi
        public Builder(Context context, RenderersFactory renderersFactory) {
            this(context, new a12(renderersFactory, 3), new mx(context, 5));
            renderersFactory.getClass();
        }

        @UnstableApi
        public Builder(Context context, MediaSource.Factory factory) {
            this(context, new mx(context, 8), new js2(factory, 2));
            factory.getClass();
        }

        @UnstableApi
        public Builder(Context context, RenderersFactory renderersFactory, MediaSource.Factory factory) {
            this(context, new a12(renderersFactory, 2), new js2(factory, 0));
            renderersFactory.getClass();
            factory.getClass();
        }

        @UnstableApi
        public Builder(Context context, RenderersFactory renderersFactory, MediaSource.Factory factory, TrackSelector trackSelector, LoadControl loadControl, BandwidthMeter bandwidthMeter, AnalyticsCollector analyticsCollector) {
            this(context, new a12(renderersFactory, 4), new js2(factory, 1), new ks2(trackSelector, 0), new z02(loadControl, 2), new b12(bandwidthMeter, 2), new is2(analyticsCollector, 1));
            renderersFactory.getClass();
            factory.getClass();
            trackSelector.getClass();
            bandwidthMeter.getClass();
            analyticsCollector.getClass();
        }

        private Builder(Context context, ae9<RenderersFactory> ae9Var, ae9<MediaSource.Factory> ae9Var2) {
            this(context, ae9Var, ae9Var2, new mx(context, 6), new ar1(3), new mx(context, 7), new av(19));
        }

        private Builder(Context context, ae9<RenderersFactory> ae9Var, ae9<MediaSource.Factory> ae9Var2, ae9<TrackSelector> ae9Var3, ae9<LoadControl> ae9Var4, ae9<BandwidthMeter> ae9Var5, jr3<Clock, AnalyticsCollector> jr3Var) {
            context.getClass();
            this.context = context;
            this.renderersFactorySupplier = ae9Var;
            this.mediaSourceFactorySupplier = ae9Var2;
            this.trackSelectorSupplier = ae9Var3;
            this.loadControlSupplier = ae9Var4;
            this.bandwidthMeterSupplier = ae9Var5;
            this.analyticsCollectorFunction = jr3Var;
            this.looper = Util.getCurrentOrMainLooper();
            this.audioAttributes = AudioAttributes.DEFAULT;
            this.wakeMode = 0;
            this.videoScalingMode = 1;
            this.videoChangeFrameRateStrategy = 0;
            this.useLazyPreparation = true;
            this.seekParameters = SeekParameters.DEFAULT;
            this.seekBackIncrementMs = 5000L;
            this.seekForwardIncrementMs = 15000L;
            this.maxSeekToPreviousPositionMs = C.DEFAULT_MAX_SEEK_TO_PREVIOUS_POSITION_MS;
            this.scrubbingModeParameters = ScrubbingModeParameters.DEFAULT;
            this.livePlaybackSpeedControl = new DefaultLivePlaybackSpeedControl.Builder().build();
            this.clock = Clock.DEFAULT;
            this.releaseTimeoutMs = 500L;
            this.detachSurfaceTimeoutMs = ExoPlayer.DEFAULT_DETACH_SURFACE_TIMEOUT_MS;
            this.stuckBufferingDetectionTimeoutMs = ExoPlayer.DEFAULT_STUCK_SUPPRESSED_DETECTION_TIMEOUT_MS;
            this.stuckPlayingDetectionTimeoutMs = experimentalEnableStuckPlayingDetection ? ExoPlayer.DEFAULT_STUCK_PLAYING_DETECTION_TIMEOUT_MS : Integer.MAX_VALUE;
            this.stuckPlayingNotEndingTimeoutMs = experimentalEnableStuckPlayingDetection ? ExoPlayer.DEFAULT_STUCK_PLAYING_NOT_ENDING_TIMEOUT_MS : Integer.MAX_VALUE;
            this.stuckSuppressedDetectionTimeoutMs = ExoPlayer.DEFAULT_STUCK_SUPPRESSED_DETECTION_TIMEOUT_MS;
            this.usePlatformDiagnostics = true;
            this.playerName = "";
            this.priority = -1000;
            this.suitableOutputChecker = new DefaultSuitableOutputChecker();
            this.avoidLoadingWhileEnded = true;
        }
    }

    @UnstableApi
    public static class PreloadConfiguration {
        public static final PreloadConfiguration DEFAULT = new PreloadConfiguration(C.TIME_UNSET);
        public final long targetPreloadDurationUs;

        public PreloadConfiguration(long j) {
            this.targetPreloadDurationUs = j;
        }
    }

    static {
        DEFAULT_STUCK_PLAYING_DETECTION_TIMEOUT_MS = Util.isRunningOnEmulator() ? 30000 : 10000;
    }

    void addAnalyticsListener(AnalyticsListener analyticsListener);

    @UnstableApi
    void addAudioCodecParametersChangeListener(CodecParametersChangeListener codecParametersChangeListener, List<String> list);

    @UnstableApi
    void addAudioOffloadListener(AudioOffloadListener audioOffloadListener);

    @UnstableApi
    void addMediaSource(int i, MediaSource mediaSource);

    @UnstableApi
    void addMediaSource(MediaSource mediaSource);

    @UnstableApi
    void addMediaSources(int i, List<MediaSource> list);

    @UnstableApi
    void addMediaSources(List<MediaSource> list);

    @UnstableApi
    void addVideoCodecParametersChangeListener(CodecParametersChangeListener codecParametersChangeListener, List<String> list);

    @UnstableApi
    void clearAuxEffectInfo();

    @UnstableApi
    void clearCameraMotionListener(CameraMotionListener cameraMotionListener);

    @UnstableApi
    void clearVideoFrameMetadataListener(VideoFrameMetadataListener videoFrameMetadataListener);

    @UnstableApi
    PlayerMessage createMessage(PlayerMessage.Target target);

    @UnstableApi
    AnalyticsCollector getAnalyticsCollector();

    @rq6
    @UnstableApi
    DecoderCounters getAudioDecoderCounters();

    @rq6
    @UnstableApi
    Format getAudioFormat();

    @UnstableApi
    Clock getClock();

    @UnstableApi
    @Deprecated
    TrackGroupArray getCurrentTrackGroups();

    @UnstableApi
    @Deprecated
    TrackSelectionArray getCurrentTrackSelections();

    @UnstableApi
    boolean getPauseAtEndOfMediaItems();

    @UnstableApi
    Looper getPlaybackLooper();

    @Override // androidx.media3.common.Player
    @rq6
    ExoPlaybackException getPlayerError();

    @UnstableApi
    PreloadConfiguration getPreloadConfiguration();

    @UnstableApi
    Renderer getRenderer(int i);

    @UnstableApi
    int getRendererCount();

    @UnstableApi
    int getRendererType(int i);

    @UnstableApi
    ScrubbingModeParameters getScrubbingModeParameters();

    @rq6
    @UnstableApi
    Renderer getSecondaryRenderer(int i);

    @UnstableApi
    SeekParameters getSeekParameters();

    @UnstableApi
    ShuffleOrder getShuffleOrder();

    @UnstableApi
    boolean getSkipSilenceEnabled();

    @rq6
    @UnstableApi
    TrackSelector getTrackSelector();

    @UnstableApi
    int getVideoChangeFrameRateStrategy();

    @rq6
    @UnstableApi
    DecoderCounters getVideoDecoderCounters();

    @rq6
    @UnstableApi
    Format getVideoFormat();

    @UnstableApi
    int getVideoScalingMode();

    @UnstableApi
    boolean isReleased();

    @UnstableApi
    boolean isScrubbingModeEnabled();

    @UnstableApi
    boolean isSleepingForOffload();

    @UnstableApi
    boolean isTunnelingEnabled();

    @UnstableApi
    @Deprecated
    void prepare(MediaSource mediaSource);

    @UnstableApi
    @Deprecated
    void prepare(MediaSource mediaSource, boolean z, boolean z2);

    @Override // androidx.media3.common.Player
    void release();

    void removeAnalyticsListener(AnalyticsListener analyticsListener);

    @UnstableApi
    void removeAudioCodecParametersChangeListener(CodecParametersChangeListener codecParametersChangeListener);

    @UnstableApi
    void removeAudioOffloadListener(AudioOffloadListener audioOffloadListener);

    @UnstableApi
    void removeVideoCodecParametersChangeListener(CodecParametersChangeListener codecParametersChangeListener);

    @Override // androidx.media3.common.Player
    void replaceMediaItem(int i, MediaItem mediaItem);

    @Override // androidx.media3.common.Player
    void replaceMediaItems(int i, int i2, List<MediaItem> list);

    @UnstableApi
    void setAudioCodecParameters(CodecParameters codecParameters);

    @UnstableApi
    void setAudioSessionId(int i);

    @UnstableApi
    void setAuxEffectInfo(AuxEffectInfo auxEffectInfo);

    @UnstableApi
    void setCameraMotionListener(CameraMotionListener cameraMotionListener);

    @UnstableApi
    void setForegroundMode(boolean z);

    void setHandleAudioBecomingNoisy(boolean z);

    @UnstableApi
    void setImageOutput(@rq6 ImageOutput imageOutput);

    @UnstableApi
    void setMaxSeekToPreviousPositionMs(@fp4 long j);

    @UnstableApi
    void setMediaSource(MediaSource mediaSource);

    @UnstableApi
    void setMediaSource(MediaSource mediaSource, long j);

    @UnstableApi
    void setMediaSource(MediaSource mediaSource, boolean z);

    @UnstableApi
    void setMediaSources(List<MediaSource> list);

    @UnstableApi
    void setMediaSources(List<MediaSource> list, int i, long j);

    @UnstableApi
    void setMediaSources(List<MediaSource> list, boolean z);

    @UnstableApi
    void setPauseAtEndOfMediaItems(boolean z);

    @UnstableApi
    void setPreferredAudioDevice(@rq6 AudioDeviceInfo audioDeviceInfo);

    @UnstableApi
    void setPreloadConfiguration(PreloadConfiguration preloadConfiguration);

    @UnstableApi
    void setPriority(int i);

    @UnstableApi
    void setPriorityTaskManager(@rq6 PriorityTaskManager priorityTaskManager);

    @UnstableApi
    void setScrubbingModeEnabled(boolean z);

    @UnstableApi
    void setScrubbingModeParameters(ScrubbingModeParameters scrubbingModeParameters);

    @UnstableApi
    void setSeekBackIncrementMs(@fp4 long j);

    @UnstableApi
    void setSeekForwardIncrementMs(@fp4 long j);

    @UnstableApi
    void setSeekParameters(@rq6 SeekParameters seekParameters);

    @UnstableApi
    void setShuffleOrder(ShuffleOrder shuffleOrder);

    @UnstableApi
    void setSkipSilenceEnabled(boolean z);

    @UnstableApi
    void setVideoChangeFrameRateStrategy(int i);

    @UnstableApi
    void setVideoCodecParameters(CodecParameters codecParameters);

    @UnstableApi
    void setVideoEffects(List<Effect> list);

    @UnstableApi
    void setVideoFrameMetadataListener(VideoFrameMetadataListener videoFrameMetadataListener);

    @UnstableApi
    void setVideoScalingMode(int i);

    @UnstableApi
    void setVirtualDeviceId(int i);

    void setWakeMode(int i);
}
