418 lines
13 KiB
Java
418 lines
13 KiB
Java
package com.discord.player;
|
|
|
|
import android.media.AudioTrack;
|
|
import android.net.Uri;
|
|
import android.util.Log;
|
|
import android.view.Surface;
|
|
import androidx.annotation.MainThread;
|
|
import c.a.q.a;
|
|
import c.a.q.b;
|
|
import c.a.q.c;
|
|
import c.a.q.d;
|
|
import c.a.q.e;
|
|
import c.a.q.f;
|
|
import c.a.q.k;
|
|
import c.i.a.c.b1;
|
|
import c.i.a.c.c1;
|
|
import c.i.a.c.d2.c0;
|
|
import c.i.a.c.d2.h0;
|
|
import c.i.a.c.d2.y;
|
|
import c.i.a.c.e0;
|
|
import c.i.a.c.g1;
|
|
import c.i.a.c.h2.j;
|
|
import c.i.a.c.h2.r;
|
|
import c.i.a.c.i1;
|
|
import c.i.a.c.i2.f0;
|
|
import c.i.a.c.i2.o;
|
|
import c.i.a.c.o0;
|
|
import c.i.a.c.p1;
|
|
import c.i.a.c.q;
|
|
import c.i.a.c.q0;
|
|
import c.i.a.c.q1;
|
|
import c.i.a.c.r0;
|
|
import c.i.a.c.s1;
|
|
import c.i.a.c.t1;
|
|
import c.i.a.c.u1.d1;
|
|
import c.i.a.c.u1.x;
|
|
import c.i.a.c.v0;
|
|
import c.i.a.c.z1.p;
|
|
import c.i.a.c.z1.s;
|
|
import com.discord.utilities.logging.Logger;
|
|
import com.google.android.exoplayer2.IllegalSeekPositionException;
|
|
import com.google.android.exoplayer2.ui.PlayerControlView;
|
|
import com.google.android.exoplayer2.ui.PlayerView;
|
|
import d0.z.d.m;
|
|
import java.util.ArrayList;
|
|
import java.util.Collections;
|
|
import java.util.HashSet;
|
|
import java.util.Iterator;
|
|
import java.util.List;
|
|
import java.util.Objects;
|
|
import kotlin.jvm.internal.DefaultConstructorMarker;
|
|
import rx.Scheduler;
|
|
import rx.Subscription;
|
|
import rx.subjects.BehaviorSubject;
|
|
import rx.subjects.PublishSubject;
|
|
import rx.subscriptions.CompositeSubscription;
|
|
/* compiled from: AppMediaPlayer.kt */
|
|
public final class AppMediaPlayer {
|
|
public final PublishSubject<Event> a;
|
|
public Subscription b;
|
|
|
|
/* renamed from: c reason: collision with root package name */
|
|
public final CompositeSubscription f2077c;
|
|
public final BehaviorSubject<Float> d;
|
|
public MediaSource e;
|
|
public final p1 f;
|
|
public final k g;
|
|
public final j.a h;
|
|
public final Scheduler i;
|
|
public final Logger j;
|
|
|
|
/* compiled from: AppMediaPlayer.kt */
|
|
public static abstract class Event {
|
|
|
|
/* compiled from: AppMediaPlayer.kt */
|
|
public static final class a extends Event {
|
|
public static final a a = new a();
|
|
|
|
public a() {
|
|
super(null);
|
|
}
|
|
}
|
|
|
|
/* compiled from: AppMediaPlayer.kt */
|
|
public static final class b extends Event {
|
|
public static final b a = new b();
|
|
|
|
public b() {
|
|
super(null);
|
|
}
|
|
}
|
|
|
|
/* compiled from: AppMediaPlayer.kt */
|
|
public static final class c extends Event {
|
|
public final long a;
|
|
|
|
public c(long j) {
|
|
super(null);
|
|
this.a = j;
|
|
}
|
|
|
|
public boolean equals(Object obj) {
|
|
if (this != obj) {
|
|
return (obj instanceof c) && this.a == ((c) obj).a;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
public int hashCode() {
|
|
return a0.a.a.b.a(this.a);
|
|
}
|
|
|
|
public String toString() {
|
|
return c.d.b.a.a.z(c.d.b.a.a.L("CurrentPositionUpdate(positionMs="), this.a, ")");
|
|
}
|
|
}
|
|
|
|
/* compiled from: AppMediaPlayer.kt */
|
|
public static final class d extends Event {
|
|
public static final d a = new d();
|
|
|
|
public d() {
|
|
super(null);
|
|
}
|
|
}
|
|
|
|
/* compiled from: AppMediaPlayer.kt */
|
|
public static final class e extends Event {
|
|
public static final e a = new e();
|
|
|
|
public e() {
|
|
super(null);
|
|
}
|
|
}
|
|
|
|
/* compiled from: AppMediaPlayer.kt */
|
|
public static final class f extends Event {
|
|
public static final f a = new f();
|
|
|
|
public f() {
|
|
super(null);
|
|
}
|
|
}
|
|
|
|
public Event() {
|
|
}
|
|
|
|
public Event(DefaultConstructorMarker defaultConstructorMarker) {
|
|
}
|
|
}
|
|
|
|
public AppMediaPlayer(p1 p1Var, k kVar, j.a aVar, Scheduler scheduler, Logger logger) {
|
|
m.checkNotNullParameter(p1Var, "exoPlayer");
|
|
m.checkNotNullParameter(kVar, "rxPlayerEventListener");
|
|
m.checkNotNullParameter(aVar, "dataSourceFactory");
|
|
m.checkNotNullParameter(scheduler, "timerScheduler");
|
|
m.checkNotNullParameter(logger, "logger");
|
|
this.f = p1Var;
|
|
this.g = kVar;
|
|
this.h = aVar;
|
|
this.i = scheduler;
|
|
this.j = logger;
|
|
PublishSubject<Event> k0 = PublishSubject.k0();
|
|
m.checkNotNullExpressionValue(k0, "PublishSubject.create()");
|
|
this.a = k0;
|
|
CompositeSubscription compositeSubscription = new CompositeSubscription();
|
|
this.f2077c = compositeSubscription;
|
|
BehaviorSubject<Float> l0 = BehaviorSubject.l0(Float.valueOf(p1Var.B));
|
|
m.checkNotNullExpressionValue(l0, "BehaviorSubject.create(exoPlayer.volume)");
|
|
this.d = l0;
|
|
PublishSubject<k.c> publishSubject = kVar.i;
|
|
m.checkNotNullExpressionValue(publishSubject, "playerStateChangeSubject");
|
|
compositeSubscription.a(publishSubject.J().W(new e(this), new f(this)));
|
|
PublishSubject<k.a> publishSubject2 = kVar.j;
|
|
m.checkNotNullExpressionValue(publishSubject2, "isPlayingChangeSubject");
|
|
compositeSubscription.a(publishSubject2.K().W(new a(this), new b(this)));
|
|
MediaSource mediaSource = this.e;
|
|
String str = (mediaSource == null || (str = mediaSource.j) == null) ? "" : str;
|
|
PublishSubject<k.b> publishSubject3 = kVar.k;
|
|
m.checkNotNullExpressionValue(publishSubject3, "playerErrorSubject");
|
|
compositeSubscription.a(publishSubject3.J().W(new c(this, str), new d(this)));
|
|
}
|
|
|
|
public static /* synthetic */ void b(AppMediaPlayer appMediaPlayer, MediaSource mediaSource, boolean z2, boolean z3, long j, PlayerView playerView, PlayerControlView playerControlView, int i) {
|
|
int i2 = i & 32;
|
|
appMediaPlayer.a(mediaSource, (i & 2) != 0 ? false : z2, (i & 4) != 0 ? false : z3, (i & 8) != 0 ? 0 : j, playerView, null);
|
|
}
|
|
|
|
@MainThread
|
|
public final void a(MediaSource mediaSource, boolean z2, boolean z3, long j, PlayerView playerView, PlayerControlView playerControlView) {
|
|
s sVar;
|
|
m.checkNotNullParameter(mediaSource, "mediaSource");
|
|
m.checkNotNullParameter(playerView, "playerView");
|
|
this.e = mediaSource;
|
|
p1 p1Var = this.f;
|
|
p1Var.Z();
|
|
p1Var.u = 1;
|
|
int i = 4;
|
|
p1Var.R(2, 4, 1);
|
|
playerView.setPlayer(this.f);
|
|
if (playerControlView != null) {
|
|
playerControlView.setPlayer(this.f);
|
|
}
|
|
j.a aVar = this.h;
|
|
c.i.a.c.a2.f fVar = new c.i.a.c.a2.f();
|
|
p pVar = new p();
|
|
r rVar = new r();
|
|
Uri uri = mediaSource.i;
|
|
v0.c cVar = new v0.c();
|
|
cVar.b = uri;
|
|
v0 a = cVar.a();
|
|
Objects.requireNonNull(a.b);
|
|
v0.g gVar = a.b;
|
|
Object obj = gVar.h;
|
|
Objects.requireNonNull(gVar);
|
|
v0.e eVar = a.b.f983c;
|
|
if (eVar == null || f0.a < 18) {
|
|
sVar = s.a;
|
|
} else {
|
|
synchronized (pVar.a) {
|
|
if (!f0.a(eVar, pVar.b)) {
|
|
pVar.b = eVar;
|
|
pVar.f1013c = pVar.a(eVar);
|
|
}
|
|
sVar = pVar.f1013c;
|
|
Objects.requireNonNull(sVar);
|
|
}
|
|
}
|
|
c0 c0Var = new c0(a, aVar, fVar, sVar, rVar, 1048576);
|
|
m.checkNotNullExpressionValue(c0Var, "ProgressiveMediaSource.F…urce.progressiveMediaUri)");
|
|
p1 p1Var2 = this.f;
|
|
p1Var2.Z();
|
|
List singletonList = Collections.singletonList(c0Var);
|
|
p1Var2.Z();
|
|
Objects.requireNonNull(p1Var2.k);
|
|
o0 o0Var = p1Var2.d;
|
|
o0Var.L();
|
|
o0Var.J();
|
|
o0Var.f929s++;
|
|
if (!o0Var.j.isEmpty()) {
|
|
o0Var.Q(0, o0Var.j.size());
|
|
}
|
|
ArrayList arrayList = new ArrayList();
|
|
for (int i2 = 0; i2 < singletonList.size(); i2++) {
|
|
b1.c cVar2 = new b1.c((y) singletonList.get(i2), o0Var.k);
|
|
arrayList.add(cVar2);
|
|
o0Var.j.add(i2 + 0, new o0.a(cVar2.b, cVar2.a.n));
|
|
}
|
|
h0 f = o0Var.w.f(0, arrayList.size());
|
|
o0Var.w = f;
|
|
i1 i1Var = new i1(o0Var.j, f);
|
|
if (i1Var.q() || i1Var.e > 0) {
|
|
c1 O = o0Var.O(o0Var.f930x, i1Var, o0Var.M(i1Var, 0, -9223372036854775807L));
|
|
int i3 = O.e;
|
|
if (i3 == 1) {
|
|
i = i3;
|
|
} else if (!i1Var.q() && i1Var.e > 0) {
|
|
i = 2;
|
|
}
|
|
c1 g = O.g(i);
|
|
o0Var.g.o.c(17, new q0.a(arrayList, o0Var.w, 0, c.i.a.c.h0.a(-9223372036854775807L), null)).sendToTarget();
|
|
o0Var.S(g, false, 4, 0, 1, false);
|
|
p1Var2.a();
|
|
if (z2) {
|
|
this.f.q(true);
|
|
}
|
|
if (j > 0) {
|
|
p1 p1Var3 = this.f;
|
|
p1Var3.f(p1Var3.o(), j);
|
|
}
|
|
p1 p1Var4 = this.f;
|
|
p1Var4.Z();
|
|
p1Var4.d.x(z3 ? 1 : 0);
|
|
return;
|
|
}
|
|
throw new IllegalSeekPositionException(i1Var, 0, -9223372036854775807L);
|
|
}
|
|
|
|
@MainThread
|
|
public final void c() {
|
|
String str;
|
|
boolean z2;
|
|
AudioTrack audioTrack;
|
|
this.f.q(false);
|
|
Subscription subscription = this.b;
|
|
if (subscription != null) {
|
|
subscription.unsubscribe();
|
|
}
|
|
this.f2077c.unsubscribe();
|
|
p1 p1Var = this.f;
|
|
p1Var.Z();
|
|
if (f0.a < 21 && (audioTrack = p1Var.r) != null) {
|
|
audioTrack.release();
|
|
p1Var.r = null;
|
|
}
|
|
p1Var.l.a(false);
|
|
q1 q1Var = p1Var.n;
|
|
q1.c cVar = q1Var.e;
|
|
if (cVar != null) {
|
|
try {
|
|
q1Var.a.unregisterReceiver(cVar);
|
|
} catch (RuntimeException e) {
|
|
c.i.a.c.i2.p.c("StreamVolumeManager", "Error unregistering stream volume receiver", e);
|
|
}
|
|
q1Var.e = null;
|
|
}
|
|
s1 s1Var = p1Var.o;
|
|
s1Var.d = false;
|
|
s1Var.a();
|
|
t1 t1Var = p1Var.p;
|
|
t1Var.d = false;
|
|
t1Var.a();
|
|
e0 e0Var = p1Var.m;
|
|
e0Var.f809c = null;
|
|
e0Var.a();
|
|
o0 o0Var = p1Var.d;
|
|
Objects.requireNonNull(o0Var);
|
|
StringBuilder sb = new StringBuilder();
|
|
sb.append("Release ");
|
|
sb.append(Integer.toHexString(System.identityHashCode(o0Var)));
|
|
sb.append(" [");
|
|
sb.append("ExoPlayerLib/2.13.3");
|
|
sb.append("] [");
|
|
sb.append(f0.e);
|
|
sb.append("] [");
|
|
HashSet<String> hashSet = r0.a;
|
|
synchronized (r0.class) {
|
|
str = r0.b;
|
|
}
|
|
sb.append(str);
|
|
sb.append("]");
|
|
Log.i("ExoPlayerImpl", sb.toString());
|
|
q0 q0Var = o0Var.g;
|
|
synchronized (q0Var) {
|
|
if (!q0Var.G) {
|
|
if (q0Var.p.isAlive()) {
|
|
q0Var.o.d(7);
|
|
long j = q0Var.C;
|
|
synchronized (q0Var) {
|
|
long c2 = q0Var.f941x.c() + j;
|
|
boolean z3 = false;
|
|
while (!Boolean.valueOf(q0Var.G).booleanValue() && j > 0) {
|
|
try {
|
|
q0Var.wait(j);
|
|
} catch (InterruptedException unused) {
|
|
z3 = true;
|
|
}
|
|
j = c2 - q0Var.f941x.c();
|
|
}
|
|
if (z3) {
|
|
Thread.currentThread().interrupt();
|
|
}
|
|
z2 = q0Var.G;
|
|
}
|
|
}
|
|
}
|
|
z2 = true;
|
|
}
|
|
if (!z2) {
|
|
o<g1.a, g1.b> oVar = o0Var.h;
|
|
oVar.b(11, q.a);
|
|
oVar.a();
|
|
}
|
|
o0Var.h.c();
|
|
o0Var.e.a.removeCallbacksAndMessages(null);
|
|
c.i.a.c.u1.c1 c1Var = o0Var.m;
|
|
if (c1Var != null) {
|
|
o0Var.o.d(c1Var);
|
|
}
|
|
c1 g = o0Var.f930x.g(1);
|
|
o0Var.f930x = g;
|
|
c1 a = g.a(g.f770c);
|
|
o0Var.f930x = a;
|
|
a.q = a.f771s;
|
|
o0Var.f930x.r = 0;
|
|
c.i.a.c.u1.c1 c1Var2 = p1Var.k;
|
|
d1.a Y = c1Var2.Y();
|
|
c1Var2.m.put(1036, Y);
|
|
c1Var2.n.b.a.obtainMessage(1, 1036, 0, new x(Y)).sendToTarget();
|
|
p1Var.Q();
|
|
Surface surface = p1Var.f935s;
|
|
if (surface != null) {
|
|
if (p1Var.t) {
|
|
surface.release();
|
|
}
|
|
p1Var.f935s = null;
|
|
}
|
|
if (!p1Var.I) {
|
|
p1Var.D = Collections.emptyList();
|
|
} else {
|
|
Objects.requireNonNull(null);
|
|
throw null;
|
|
}
|
|
}
|
|
|
|
@MainThread
|
|
public final void d(float f) {
|
|
p1 p1Var = this.f;
|
|
p1Var.Z();
|
|
float g = f0.g(f, 0.0f, 1.0f);
|
|
if (p1Var.B != g) {
|
|
p1Var.B = g;
|
|
p1Var.R(1, 2, Float.valueOf(p1Var.m.g * g));
|
|
c.i.a.c.u1.c1 c1Var = p1Var.k;
|
|
d1.a d02 = c1Var.d0();
|
|
c.i.a.c.u1.r0 r0Var = new c.i.a.c.u1.r0(d02, g);
|
|
c1Var.m.put(1019, d02);
|
|
o<d1, d1.b> oVar = c1Var.n;
|
|
oVar.b(1019, r0Var);
|
|
oVar.a();
|
|
Iterator<c.i.a.c.v1.p> it = p1Var.g.iterator();
|
|
while (it.hasNext()) {
|
|
it.next().d();
|
|
}
|
|
}
|
|
this.d.onNext(Float.valueOf(f));
|
|
}
|
|
}
|