diff --git a/app/src/main/java/com/fongmi/android/tv/player/exo/MediaSourceFactory.java b/app/src/main/java/com/fongmi/android/tv/player/exo/MediaSourceFactory.java index 92808ba19..f1fa51c1e 100644 --- a/app/src/main/java/com/fongmi/android/tv/player/exo/MediaSourceFactory.java +++ b/app/src/main/java/com/fongmi/android/tv/player/exo/MediaSourceFactory.java @@ -98,7 +98,7 @@ public class MediaSourceFactory implements MediaSource.Factory { } private HttpDataSource.Factory getHttpDataSourceFactory() { - if (httpDataSourceFactory == null) httpDataSourceFactory = new OkHttpDataSource.Factory(OkHttp.client()); + if (httpDataSourceFactory == null) httpDataSourceFactory = new OkHttpDataSource.Factory(OkHttp.player()); return httpDataSourceFactory; } } 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 dfd006a54..21cf624cf 100644 --- a/catvod/src/main/java/com/github/catvod/net/OkHttp.java +++ b/catvod/src/main/java/com/github/catvod/net/OkHttp.java @@ -40,6 +40,7 @@ public class OkHttp { private OkAuthenticator authenticator; private OkProxySelector selector; private OkHttpClient client; + private OkHttpClient player; private OkDns dns; private static class Loader { @@ -63,6 +64,7 @@ public class OkHttp { public void setDoh(Doh doh) { dns().setDoh(doh.getUrl().isEmpty() ? null : new DnsOverHttps.Builder().client(new OkHttpClient()).url(HttpUrl.get(doh.getUrl())).bootstrapDnsHosts(doh.getHosts()).build()); client = null; + player = null; } public static OkDns dns() { @@ -100,6 +102,11 @@ public class OkHttp { return get().client = getBuilder().build(); } + public static OkHttpClient player() { + if (get().player != null) return get().player; + return get().player = getBuilder().build(); + } + public static OkHttpClient client(long timeout) { return client().newBuilder().connectTimeout(timeout, TimeUnit.MILLISECONDS).readTimeout(timeout, TimeUnit.MILLISECONDS).writeTimeout(timeout, TimeUnit.MILLISECONDS).build(); }