package com.mbridge.msdk.playercommon.exoplayer2; import android.content.Context; import android.os.Handler; import android.os.Looper; import androidx.annotation.Nullable; import com.mbridge.msdk.playercommon.exoplayer2.audio.AudioCapabilities; import com.mbridge.msdk.playercommon.exoplayer2.audio.AudioProcessor; import com.mbridge.msdk.playercommon.exoplayer2.audio.AudioRendererEventListener; import com.mbridge.msdk.playercommon.exoplayer2.audio.MediaCodecAudioRenderer; import com.mbridge.msdk.playercommon.exoplayer2.drm.DrmSessionManager; import com.mbridge.msdk.playercommon.exoplayer2.drm.FrameworkMediaCrypto; import com.mbridge.msdk.playercommon.exoplayer2.mediacodec.MediaCodecSelector; import com.mbridge.msdk.playercommon.exoplayer2.metadata.MetadataOutput; import com.mbridge.msdk.playercommon.exoplayer2.metadata.MetadataRenderer; import com.mbridge.msdk.playercommon.exoplayer2.text.TextOutput; import com.mbridge.msdk.playercommon.exoplayer2.text.TextRenderer; import com.mbridge.msdk.playercommon.exoplayer2.video.MediaCodecVideoRenderer; import com.mbridge.msdk.playercommon.exoplayer2.video.VideoRendererEventListener; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.util.ArrayList; /* loaded from: classes4.dex */ public class DefaultRenderersFactory implements RenderersFactory { public static final long DEFAULT_ALLOWED_VIDEO_JOINING_TIME_MS = 5000; public static final int EXTENSION_RENDERER_MODE_OFF = 0; public static final int EXTENSION_RENDERER_MODE_ON = 1; public static final int EXTENSION_RENDERER_MODE_PREFER = 2; protected static final int MAX_DROPPED_VIDEO_FRAME_COUNT_TO_NOTIFY = 50; private static final String TAG = "DefaultRenderersFactory"; private final long allowedVideoJoiningTimeMs; private final Context context; @Nullable private final DrmSessionManager drmSessionManager; private final int extensionRendererMode; @Retention(RetentionPolicy.SOURCE) public @interface ExtensionRendererMode { } public AudioProcessor[] buildAudioProcessors() { return new AudioProcessor[0]; } public void buildMiscellaneousRenderers(Context context, Handler handler, int i, ArrayList arrayList) { } public DefaultRenderersFactory(Context context) { this(context, 0); } @Deprecated public DefaultRenderersFactory(Context context, @Nullable DrmSessionManager drmSessionManager) { this(context, drmSessionManager, 0); } public DefaultRenderersFactory(Context context, int i) { this(context, null, i, 5000L); } @Deprecated public DefaultRenderersFactory(Context context, @Nullable DrmSessionManager drmSessionManager, int i) { this(context, drmSessionManager, i, 5000L); } public DefaultRenderersFactory(Context context, int i, long j) { this(context, null, i, j); } @Deprecated public DefaultRenderersFactory(Context context, @Nullable DrmSessionManager drmSessionManager, int i, long j) { this.context = context; this.extensionRendererMode = i; this.allowedVideoJoiningTimeMs = j; this.drmSessionManager = drmSessionManager; } @Override // com.mbridge.msdk.playercommon.exoplayer2.RenderersFactory public Renderer[] createRenderers(Handler handler, VideoRendererEventListener videoRendererEventListener, AudioRendererEventListener audioRendererEventListener, TextOutput textOutput, MetadataOutput metadataOutput, @Nullable DrmSessionManager drmSessionManager) { DrmSessionManager drmSessionManager2 = drmSessionManager == null ? this.drmSessionManager : drmSessionManager; ArrayList arrayList = new ArrayList<>(); DrmSessionManager drmSessionManager3 = drmSessionManager2; buildVideoRenderers(this.context, drmSessionManager3, this.allowedVideoJoiningTimeMs, handler, videoRendererEventListener, this.extensionRendererMode, arrayList); buildAudioRenderers(this.context, drmSessionManager3, buildAudioProcessors(), handler, audioRendererEventListener, this.extensionRendererMode, arrayList); buildTextRenderers(this.context, textOutput, handler.getLooper(), this.extensionRendererMode, arrayList); buildMetadataRenderers(this.context, metadataOutput, handler.getLooper(), this.extensionRendererMode, arrayList); buildMiscellaneousRenderers(this.context, handler, this.extensionRendererMode, arrayList); return (Renderer[]) arrayList.toArray(new Renderer[arrayList.size()]); } public void buildVideoRenderers(Context context, @Nullable DrmSessionManager drmSessionManager, long j, Handler handler, VideoRendererEventListener videoRendererEventListener, int i, ArrayList arrayList) { arrayList.add(new MediaCodecVideoRenderer(context, MediaCodecSelector.DEFAULT, j, drmSessionManager, false, handler, videoRendererEventListener, 50)); if (i == 0) { return; } int size = arrayList.size(); if (i == 2) { size--; } try { arrayList.add(size, (Renderer) Class.forName("com.mbridge.msdk.playercommon.exoplayer2.ext.vp9.LibvpxVideoRenderer").getConstructor(Boolean.TYPE, Long.TYPE, Handler.class, VideoRendererEventListener.class, Integer.TYPE).newInstance(Boolean.TRUE, Long.valueOf(j), handler, videoRendererEventListener, 50)); } catch (ClassNotFoundException unused) { } catch (Exception e) { throw new RuntimeException("Error instantiating VP9 extension", e); } } public void buildAudioRenderers(Context context, @Nullable DrmSessionManager drmSessionManager, AudioProcessor[] audioProcessorArr, Handler handler, AudioRendererEventListener audioRendererEventListener, int i, ArrayList arrayList) { AudioProcessor[] audioProcessorArr2; int i2; arrayList.add(new MediaCodecAudioRenderer(context, MediaCodecSelector.DEFAULT, drmSessionManager, false, handler, audioRendererEventListener, AudioCapabilities.getCapabilities(context), audioProcessorArr)); if (i == 0) { return; } int size = arrayList.size(); if (i == 2) { size--; } try { try { audioProcessorArr2 = audioProcessorArr; try { i2 = size + 1; try { arrayList.add(size, (Renderer) Class.forName("com.mbridge.msdk.playercommon.exoplayer2.ext.opus.LibopusAudioRenderer").getConstructor(Handler.class, AudioRendererEventListener.class, AudioProcessor[].class).newInstance(handler, audioRendererEventListener, audioProcessorArr2)); } catch (ClassNotFoundException unused) { size = i2; i2 = size; try { int i3 = i2 + 1; try { arrayList.add(i2, (Renderer) Class.forName("com.mbridge.msdk.playercommon.exoplayer2.ext.flac.LibflacAudioRenderer").getConstructor(Handler.class, AudioRendererEventListener.class, AudioProcessor[].class).newInstance(handler, audioRendererEventListener, audioProcessorArr2)); } catch (ClassNotFoundException unused2) { i2 = i3; i3 = i2; arrayList.add(i3, (Renderer) Class.forName("com.mbridge.msdk.playercommon.exoplayer2.ext.ffmpeg.FfmpegAudioRenderer").getConstructor(Handler.class, AudioRendererEventListener.class, AudioProcessor[].class).newInstance(handler, audioRendererEventListener, audioProcessorArr2)); } arrayList.add(i3, (Renderer) Class.forName("com.mbridge.msdk.playercommon.exoplayer2.ext.ffmpeg.FfmpegAudioRenderer").getConstructor(Handler.class, AudioRendererEventListener.class, AudioProcessor[].class).newInstance(handler, audioRendererEventListener, audioProcessorArr2)); } catch (Exception e) { throw new RuntimeException("Error instantiating FLAC extension", e); } } } catch (ClassNotFoundException unused3) { } } catch (Exception e2) { throw new RuntimeException("Error instantiating Opus extension", e2); } } catch (ClassNotFoundException unused4) { audioProcessorArr2 = audioProcessorArr; } try { int i32 = i2 + 1; arrayList.add(i2, (Renderer) Class.forName("com.mbridge.msdk.playercommon.exoplayer2.ext.flac.LibflacAudioRenderer").getConstructor(Handler.class, AudioRendererEventListener.class, AudioProcessor[].class).newInstance(handler, audioRendererEventListener, audioProcessorArr2)); } catch (ClassNotFoundException unused5) { } try { arrayList.add(i32, (Renderer) Class.forName("com.mbridge.msdk.playercommon.exoplayer2.ext.ffmpeg.FfmpegAudioRenderer").getConstructor(Handler.class, AudioRendererEventListener.class, AudioProcessor[].class).newInstance(handler, audioRendererEventListener, audioProcessorArr2)); } catch (ClassNotFoundException unused6) { } catch (Exception e3) { throw new RuntimeException("Error instantiating FFmpeg extension", e3); } } public void buildTextRenderers(Context context, TextOutput textOutput, Looper looper, int i, ArrayList arrayList) { arrayList.add(new TextRenderer(textOutput, looper)); } public void buildMetadataRenderers(Context context, MetadataOutput metadataOutput, Looper looper, int i, ArrayList arrayList) { arrayList.add(new MetadataRenderer(metadataOutput, looper)); } }