From efba44cd1bfc46e9cd28f0255390e7d9c2e4b13f Mon Sep 17 00:00:00 2001 From: FongMi Date: Sun, 26 Jan 2025 22:58:25 +0800 Subject: [PATCH] Optimize --- .../java/com/fongmi/android/tv/player/Players.java | 11 ++--------- .../com/fongmi/android/tv/player/exo/ExoUtil.java | 11 ++--------- .../src/main/java/com/github/catvod/net/OkHttp.java | 1 + 3 files changed, 5 insertions(+), 18 deletions(-) diff --git a/app/src/main/java/com/fongmi/android/tv/player/Players.java b/app/src/main/java/com/fongmi/android/tv/player/Players.java index 002d9b5af..52da10d16 100644 --- a/app/src/main/java/com/fongmi/android/tv/player/Players.java +++ b/app/src/main/java/com/fongmi/android/tv/player/Players.java @@ -1,8 +1,5 @@ package com.fongmi.android.tv.player; -import static androidx.media3.exoplayer.DefaultRenderersFactory.EXTENSION_RENDERER_MODE_ON; -import static androidx.media3.exoplayer.DefaultRenderersFactory.EXTENSION_RENDERER_MODE_PREFER; - import android.app.Activity; import android.app.PendingIntent; import android.content.Intent; @@ -115,7 +112,7 @@ public class Players implements Player.Listener, ParseCallback { } private void setPlayer(PlayerView view) { - exoPlayer = new ExoPlayer.Builder(App.get()).setLoadControl(ExoUtil.buildLoadControl()).setTrackSelector(ExoUtil.buildTrackSelector()).setRenderersFactory(ExoUtil.buildRenderersFactory(isHard() ? EXTENSION_RENDERER_MODE_ON : EXTENSION_RENDERER_MODE_PREFER)).setMediaSourceFactory(ExoUtil.buildMediaSourceFactory()).build(); + exoPlayer = new ExoPlayer.Builder(App.get()).setLoadControl(ExoUtil.buildLoadControl()).setTrackSelector(ExoUtil.buildTrackSelector()).setRenderersFactory(ExoUtil.buildRenderersFactory()).setMediaSourceFactory(ExoUtil.buildMediaSourceFactory()).build(); exoPlayer.setAudioAttributes(AudioAttributes.DEFAULT, true); exoPlayer.addAnalyticsListener(new EventLogger()); exoPlayer.setHandleAudioBecomingNoisy(true); @@ -563,11 +560,7 @@ public class Players implements Player.Listener, ParseCallback { @Override public void onTracksChanged(@NonNull Tracks tracks) { - if (isHard() && ExoUtil.shouldSoftDecode(tracks)) { - ErrorEvent.url(PlaybackException.ERROR_CODE_DECODING_FAILED); - } else if (!tracks.isEmpty()) { - PlayerEvent.track(); - } + if (!tracks.isEmpty()) PlayerEvent.track(); } @Override diff --git a/app/src/main/java/com/fongmi/android/tv/player/exo/ExoUtil.java b/app/src/main/java/com/fongmi/android/tv/player/exo/ExoUtil.java index 313cec1e1..4a8b41e73 100644 --- a/app/src/main/java/com/fongmi/android/tv/player/exo/ExoUtil.java +++ b/app/src/main/java/com/fongmi/android/tv/player/exo/ExoUtil.java @@ -7,7 +7,6 @@ import android.os.Bundle; import android.text.TextUtils; import android.view.accessibility.CaptioningManager; -import androidx.media3.common.C; import androidx.media3.common.MediaItem; import androidx.media3.common.MimeTypes; import androidx.media3.common.PlaybackException; @@ -53,8 +52,8 @@ public class ExoUtil { return trackSelector; } - public static RenderersFactory buildRenderersFactory(int renderMode) { - return new DefaultRenderersFactory(App.get()).setEnableDecoderFallback(true).setExtensionRendererMode(renderMode); + public static RenderersFactory buildRenderersFactory() { + return new DefaultRenderersFactory(App.get()).setEnableDecoderFallback(true); } public static MediaSource.Factory buildMediaSourceFactory() { @@ -65,12 +64,6 @@ public class ExoUtil { return Setting.isCaption() ? CaptionStyleCompat.createFromCaptionStyle(((CaptioningManager) App.get().getSystemService(Context.CAPTIONING_SERVICE)).getUserStyle()) : new CaptionStyleCompat(Color.WHITE, Color.TRANSPARENT, Color.TRANSPARENT, CaptionStyleCompat.EDGE_TYPE_OUTLINE, Color.BLACK, null); } - public static boolean shouldSoftDecode(Tracks tracks) { - if (!haveTrack(tracks, C.TRACK_TYPE_VIDEO)) return false; - for (Tracks.Group trackGroup : tracks.getGroups()) if (trackGroup.getType() == C.TRACK_TYPE_VIDEO && trackGroup.isSupported(true)) return false; - return true; - } - public static boolean haveTrack(Tracks tracks, int type) { int count = 0; for (Tracks.Group trackGroup : tracks.getGroups()) if (trackGroup.getType() == type) count += trackGroup.length; diff --git a/catvod/src/main/java/com/github/catvod/net/OkHttp.java b/catvod/src/main/java/com/github/catvod/net/OkHttp.java index a1b606587..07c9a61e6 100644 --- a/catvod/src/main/java/com/github/catvod/net/OkHttp.java +++ b/catvod/src/main/java/com/github/catvod/net/OkHttp.java @@ -153,6 +153,7 @@ public class OkHttp { HttpLoggingInterceptor logging = new HttpLoggingInterceptor().setLevel(HttpLoggingInterceptor.Level.BODY); OkHttpClient.Builder builder = new OkHttpClient.Builder().cookieJar(OkCookieJar.get()).addInterceptor(new RequestInterceptor()).addNetworkInterceptor(new ResponseInterceptor()).connectTimeout(TIMEOUT, TimeUnit.MILLISECONDS).readTimeout(TIMEOUT, TimeUnit.MILLISECONDS).writeTimeout(TIMEOUT, TimeUnit.MILLISECONDS).dns(dns()).hostnameVerifier((hostname, session) -> true).sslSocketFactory(getSSLContext().getSocketFactory(), trustAllCertificates()); builder.proxySelector(get().proxy ? selector() : defaultSelector); + //builder.addNetworkInterceptor(logging); return builder; }