release
FongMi 1 year ago
parent 768f829f43
commit efba44cd1b
  1. 11
      app/src/main/java/com/fongmi/android/tv/player/Players.java
  2. 11
      app/src/main/java/com/fongmi/android/tv/player/exo/ExoUtil.java
  3. 1
      catvod/src/main/java/com/github/catvod/net/OkHttp.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

@ -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;

@ -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;
}

Loading…
Cancel
Save