mirror of
https://github.com/Pinball3D/Rabbit-R1.git
synced 2025-01-09 13:43:22 +00:00
1660 lines
51 KiB
Smali
1660 lines
51 KiB
Smali
.class Landroidx/media3/exoplayer/drm/DefaultDrmSession;
|
|
.super Ljava/lang/Object;
|
|
.source "DefaultDrmSession.java"
|
|
|
|
# interfaces
|
|
.implements Landroidx/media3/exoplayer/drm/DrmSession;
|
|
|
|
|
|
# annotations
|
|
.annotation system Ldalvik/annotation/MemberClasses;
|
|
value = {
|
|
Landroidx/media3/exoplayer/drm/DefaultDrmSession$ResponseHandler;,
|
|
Landroidx/media3/exoplayer/drm/DefaultDrmSession$ProvisioningManager;,
|
|
Landroidx/media3/exoplayer/drm/DefaultDrmSession$ReferenceCountListener;,
|
|
Landroidx/media3/exoplayer/drm/DefaultDrmSession$RequestHandler;,
|
|
Landroidx/media3/exoplayer/drm/DefaultDrmSession$RequestTask;,
|
|
Landroidx/media3/exoplayer/drm/DefaultDrmSession$UnexpectedDrmSessionException;
|
|
}
|
|
.end annotation
|
|
|
|
|
|
# static fields
|
|
.field private static final MAX_LICENSE_DURATION_TO_RENEW_SECONDS:I = 0x3c
|
|
|
|
.field private static final MSG_KEYS:I = 0x1
|
|
|
|
.field private static final MSG_PROVISION:I = 0x0
|
|
|
|
.field private static final TAG:Ljava/lang/String; = "DefaultDrmSession"
|
|
|
|
|
|
# instance fields
|
|
.field private final callback:Landroidx/media3/exoplayer/drm/MediaDrmCallback;
|
|
|
|
.field private cryptoConfig:Landroidx/media3/decoder/CryptoConfig;
|
|
|
|
.field private currentKeyRequest:Landroidx/media3/exoplayer/drm/ExoMediaDrm$KeyRequest;
|
|
|
|
.field private currentProvisionRequest:Landroidx/media3/exoplayer/drm/ExoMediaDrm$ProvisionRequest;
|
|
|
|
.field private final eventDispatchers:Landroidx/media3/common/util/CopyOnWriteMultiset;
|
|
.annotation system Ldalvik/annotation/Signature;
|
|
value = {
|
|
"Landroidx/media3/common/util/CopyOnWriteMultiset<",
|
|
"Landroidx/media3/exoplayer/drm/DrmSessionEventListener$EventDispatcher;",
|
|
">;"
|
|
}
|
|
.end annotation
|
|
.end field
|
|
|
|
.field private final isPlaceholderSession:Z
|
|
|
|
.field private final keyRequestParameters:Ljava/util/HashMap;
|
|
.annotation system Ldalvik/annotation/Signature;
|
|
value = {
|
|
"Ljava/util/HashMap<",
|
|
"Ljava/lang/String;",
|
|
"Ljava/lang/String;",
|
|
">;"
|
|
}
|
|
.end annotation
|
|
.end field
|
|
|
|
.field private lastException:Landroidx/media3/exoplayer/drm/DrmSession$DrmSessionException;
|
|
|
|
.field private final loadErrorHandlingPolicy:Landroidx/media3/exoplayer/upstream/LoadErrorHandlingPolicy;
|
|
|
|
.field private final mediaDrm:Landroidx/media3/exoplayer/drm/ExoMediaDrm;
|
|
|
|
.field private final mode:I
|
|
|
|
.field private offlineLicenseKeySetId:[B
|
|
|
|
.field private final playClearSamplesWithoutKeys:Z
|
|
|
|
.field private final playbackLooper:Landroid/os/Looper;
|
|
|
|
.field private final playerId:Landroidx/media3/exoplayer/analytics/PlayerId;
|
|
|
|
.field private final provisioningManager:Landroidx/media3/exoplayer/drm/DefaultDrmSession$ProvisioningManager;
|
|
|
|
.field private referenceCount:I
|
|
|
|
.field private final referenceCountListener:Landroidx/media3/exoplayer/drm/DefaultDrmSession$ReferenceCountListener;
|
|
|
|
.field private requestHandler:Landroidx/media3/exoplayer/drm/DefaultDrmSession$RequestHandler;
|
|
|
|
.field private requestHandlerThread:Landroid/os/HandlerThread;
|
|
|
|
.field private final responseHandler:Landroidx/media3/exoplayer/drm/DefaultDrmSession$ResponseHandler;
|
|
|
|
.field public final schemeDatas:Ljava/util/List;
|
|
.annotation system Ldalvik/annotation/Signature;
|
|
value = {
|
|
"Ljava/util/List<",
|
|
"Landroidx/media3/common/DrmInitData$SchemeData;",
|
|
">;"
|
|
}
|
|
.end annotation
|
|
.end field
|
|
|
|
.field private sessionId:[B
|
|
|
|
.field private state:I
|
|
|
|
.field private final uuid:Ljava/util/UUID;
|
|
|
|
|
|
# direct methods
|
|
.method public constructor <init>(Ljava/util/UUID;Landroidx/media3/exoplayer/drm/ExoMediaDrm;Landroidx/media3/exoplayer/drm/DefaultDrmSession$ProvisioningManager;Landroidx/media3/exoplayer/drm/DefaultDrmSession$ReferenceCountListener;Ljava/util/List;IZZ[BLjava/util/HashMap;Landroidx/media3/exoplayer/drm/MediaDrmCallback;Landroid/os/Looper;Landroidx/media3/exoplayer/upstream/LoadErrorHandlingPolicy;Landroidx/media3/exoplayer/analytics/PlayerId;)V
|
|
.locals 1
|
|
.annotation system Ldalvik/annotation/Signature;
|
|
value = {
|
|
"(",
|
|
"Ljava/util/UUID;",
|
|
"Landroidx/media3/exoplayer/drm/ExoMediaDrm;",
|
|
"Landroidx/media3/exoplayer/drm/DefaultDrmSession$ProvisioningManager;",
|
|
"Landroidx/media3/exoplayer/drm/DefaultDrmSession$ReferenceCountListener;",
|
|
"Ljava/util/List<",
|
|
"Landroidx/media3/common/DrmInitData$SchemeData;",
|
|
">;IZZ[B",
|
|
"Ljava/util/HashMap<",
|
|
"Ljava/lang/String;",
|
|
"Ljava/lang/String;",
|
|
">;",
|
|
"Landroidx/media3/exoplayer/drm/MediaDrmCallback;",
|
|
"Landroid/os/Looper;",
|
|
"Landroidx/media3/exoplayer/upstream/LoadErrorHandlingPolicy;",
|
|
"Landroidx/media3/exoplayer/analytics/PlayerId;",
|
|
")V"
|
|
}
|
|
.end annotation
|
|
|
|
.line 189
|
|
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
|
|
|
const/4 v0, 0x1
|
|
|
|
if-eq p6, v0, :cond_0
|
|
|
|
const/4 v0, 0x3
|
|
|
|
if-ne p6, v0, :cond_1
|
|
|
|
.line 192
|
|
:cond_0
|
|
invoke-static {p9}, Landroidx/media3/common/util/Assertions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
|
|
|
|
:cond_1
|
|
iput-object p1, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->uuid:Ljava/util/UUID;
|
|
|
|
iput-object p3, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->provisioningManager:Landroidx/media3/exoplayer/drm/DefaultDrmSession$ProvisioningManager;
|
|
|
|
iput-object p4, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->referenceCountListener:Landroidx/media3/exoplayer/drm/DefaultDrmSession$ReferenceCountListener;
|
|
|
|
iput-object p2, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->mediaDrm:Landroidx/media3/exoplayer/drm/ExoMediaDrm;
|
|
|
|
iput p6, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->mode:I
|
|
|
|
iput-boolean p7, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->playClearSamplesWithoutKeys:Z
|
|
|
|
iput-boolean p8, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->isPlaceholderSession:Z
|
|
|
|
if-eqz p9, :cond_2
|
|
|
|
iput-object p9, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->offlineLicenseKeySetId:[B
|
|
|
|
const/4 p1, 0x0
|
|
|
|
iput-object p1, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->schemeDatas:Ljava/util/List;
|
|
|
|
goto :goto_0
|
|
|
|
.line 205
|
|
:cond_2
|
|
invoke-static {p5}, Landroidx/media3/common/util/Assertions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
|
|
|
|
move-result-object p1
|
|
|
|
check-cast p1, Ljava/util/List;
|
|
|
|
invoke-static {p1}, Ljava/util/Collections;->unmodifiableList(Ljava/util/List;)Ljava/util/List;
|
|
|
|
move-result-object p1
|
|
|
|
iput-object p1, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->schemeDatas:Ljava/util/List;
|
|
|
|
:goto_0
|
|
iput-object p10, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->keyRequestParameters:Ljava/util/HashMap;
|
|
|
|
iput-object p11, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->callback:Landroidx/media3/exoplayer/drm/MediaDrmCallback;
|
|
|
|
.line 209
|
|
new-instance p1, Landroidx/media3/common/util/CopyOnWriteMultiset;
|
|
|
|
invoke-direct {p1}, Landroidx/media3/common/util/CopyOnWriteMultiset;-><init>()V
|
|
|
|
iput-object p1, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->eventDispatchers:Landroidx/media3/common/util/CopyOnWriteMultiset;
|
|
|
|
iput-object p13, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->loadErrorHandlingPolicy:Landroidx/media3/exoplayer/upstream/LoadErrorHandlingPolicy;
|
|
|
|
iput-object p14, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->playerId:Landroidx/media3/exoplayer/analytics/PlayerId;
|
|
|
|
const/4 p1, 0x2
|
|
|
|
iput p1, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->state:I
|
|
|
|
iput-object p12, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->playbackLooper:Landroid/os/Looper;
|
|
|
|
.line 214
|
|
new-instance p1, Landroidx/media3/exoplayer/drm/DefaultDrmSession$ResponseHandler;
|
|
|
|
invoke-direct {p1, p0, p12}, Landroidx/media3/exoplayer/drm/DefaultDrmSession$ResponseHandler;-><init>(Landroidx/media3/exoplayer/drm/DefaultDrmSession;Landroid/os/Looper;)V
|
|
|
|
iput-object p1, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->responseHandler:Landroidx/media3/exoplayer/drm/DefaultDrmSession$ResponseHandler;
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method static synthetic access$000(Landroidx/media3/exoplayer/drm/DefaultDrmSession;Ljava/lang/Object;Ljava/lang/Object;)V
|
|
.locals 0
|
|
|
|
.line 61
|
|
invoke-direct {p0, p1, p2}, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->onProvisionResponse(Ljava/lang/Object;Ljava/lang/Object;)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method static synthetic access$100(Landroidx/media3/exoplayer/drm/DefaultDrmSession;Ljava/lang/Object;Ljava/lang/Object;)V
|
|
.locals 0
|
|
|
|
.line 61
|
|
invoke-direct {p0, p1, p2}, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->onKeyResponse(Ljava/lang/Object;Ljava/lang/Object;)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method static synthetic access$200(Landroidx/media3/exoplayer/drm/DefaultDrmSession;)Ljava/util/UUID;
|
|
.locals 0
|
|
|
|
.line 61
|
|
iget-object p0, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->uuid:Ljava/util/UUID;
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method static synthetic access$300(Landroidx/media3/exoplayer/drm/DefaultDrmSession;)Landroidx/media3/exoplayer/drm/MediaDrmCallback;
|
|
.locals 0
|
|
|
|
.line 61
|
|
iget-object p0, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->callback:Landroidx/media3/exoplayer/drm/MediaDrmCallback;
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method static synthetic access$400(Landroidx/media3/exoplayer/drm/DefaultDrmSession;)Landroidx/media3/exoplayer/upstream/LoadErrorHandlingPolicy;
|
|
.locals 0
|
|
|
|
.line 61
|
|
iget-object p0, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->loadErrorHandlingPolicy:Landroidx/media3/exoplayer/upstream/LoadErrorHandlingPolicy;
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method static synthetic access$500(Landroidx/media3/exoplayer/drm/DefaultDrmSession;)Landroidx/media3/exoplayer/drm/DefaultDrmSession$ResponseHandler;
|
|
.locals 0
|
|
|
|
.line 61
|
|
iget-object p0, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->responseHandler:Landroidx/media3/exoplayer/drm/DefaultDrmSession$ResponseHandler;
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method private dispatchEvent(Landroidx/media3/common/util/Consumer;)V
|
|
.locals 1
|
|
.annotation system Ldalvik/annotation/Signature;
|
|
value = {
|
|
"(",
|
|
"Landroidx/media3/common/util/Consumer<",
|
|
"Landroidx/media3/exoplayer/drm/DrmSessionEventListener$EventDispatcher;",
|
|
">;)V"
|
|
}
|
|
.end annotation
|
|
|
|
iget-object p0, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->eventDispatchers:Landroidx/media3/common/util/CopyOnWriteMultiset;
|
|
|
|
.line 572
|
|
invoke-virtual {p0}, Landroidx/media3/common/util/CopyOnWriteMultiset;->elementSet()Ljava/util/Set;
|
|
|
|
move-result-object p0
|
|
|
|
invoke-interface {p0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
|
|
|
|
move-result-object p0
|
|
|
|
:goto_0
|
|
invoke-interface {p0}, Ljava/util/Iterator;->hasNext()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
invoke-interface {p0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
|
|
|
|
move-result-object v0
|
|
|
|
check-cast v0, Landroidx/media3/exoplayer/drm/DrmSessionEventListener$EventDispatcher;
|
|
|
|
.line 573
|
|
invoke-interface {p1, v0}, Landroidx/media3/common/util/Consumer;->accept(Ljava/lang/Object;)V
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
return-void
|
|
.end method
|
|
|
|
.method private doLicense(Z)V
|
|
.locals 8
|
|
.annotation runtime Lorg/checkerframework/checker/nullness/qual/RequiresNonNull;
|
|
value = {
|
|
"sessionId"
|
|
}
|
|
.end annotation
|
|
|
|
iget-boolean v0, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->isPlaceholderSession:Z
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
return-void
|
|
|
|
:cond_0
|
|
iget-object v0, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->sessionId:[B
|
|
|
|
.line 433
|
|
invoke-static {v0}, Landroidx/media3/common/util/Util;->castNonNull(Ljava/lang/Object;)Ljava/lang/Object;
|
|
|
|
move-result-object v0
|
|
|
|
check-cast v0, [B
|
|
|
|
iget v1, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->mode:I
|
|
|
|
const/4 v2, 0x1
|
|
|
|
const/4 v3, 0x2
|
|
|
|
if-eqz v1, :cond_4
|
|
|
|
if-eq v1, v2, :cond_4
|
|
|
|
if-eq v1, v3, :cond_2
|
|
|
|
const/4 v0, 0x3
|
|
|
|
if-eq v1, v0, :cond_1
|
|
|
|
goto/16 :goto_0
|
|
|
|
:cond_1
|
|
iget-object v1, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->offlineLicenseKeySetId:[B
|
|
|
|
.line 463
|
|
invoke-static {v1}, Landroidx/media3/common/util/Assertions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
|
|
|
|
iget-object v1, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->sessionId:[B
|
|
|
|
.line 464
|
|
invoke-static {v1}, Landroidx/media3/common/util/Assertions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
|
|
|
|
iget-object v1, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->offlineLicenseKeySetId:[B
|
|
|
|
.line 465
|
|
invoke-direct {p0, v1, v0, p1}, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->postKeyRequest([BIZ)V
|
|
|
|
goto :goto_0
|
|
|
|
:cond_2
|
|
iget-object v1, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->offlineLicenseKeySetId:[B
|
|
|
|
if-eqz v1, :cond_3
|
|
|
|
.line 458
|
|
invoke-direct {p0}, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->restoreKeys()Z
|
|
|
|
move-result v1
|
|
|
|
if-eqz v1, :cond_9
|
|
|
|
.line 459
|
|
:cond_3
|
|
invoke-direct {p0, v0, v3, p1}, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->postKeyRequest([BIZ)V
|
|
|
|
goto :goto_0
|
|
|
|
:cond_4
|
|
iget-object v1, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->offlineLicenseKeySetId:[B
|
|
|
|
if-nez v1, :cond_5
|
|
|
|
.line 438
|
|
invoke-direct {p0, v0, v2, p1}, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->postKeyRequest([BIZ)V
|
|
|
|
goto :goto_0
|
|
|
|
:cond_5
|
|
iget v1, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->state:I
|
|
|
|
const/4 v2, 0x4
|
|
|
|
if-eq v1, v2, :cond_6
|
|
|
|
.line 439
|
|
invoke-direct {p0}, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->restoreKeys()Z
|
|
|
|
move-result v1
|
|
|
|
if-eqz v1, :cond_9
|
|
|
|
.line 440
|
|
:cond_6
|
|
invoke-direct {p0}, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->getLicenseDurationRemainingSec()J
|
|
|
|
move-result-wide v4
|
|
|
|
iget v1, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->mode:I
|
|
|
|
if-nez v1, :cond_7
|
|
|
|
const-wide/16 v6, 0x3c
|
|
|
|
cmp-long v1, v4, v6
|
|
|
|
if-gtz v1, :cond_7
|
|
|
|
.line 443
|
|
new-instance v1, Ljava/lang/StringBuilder;
|
|
|
|
const-string v2, "Offline license has expired or will expire soon. Remaining seconds: "
|
|
|
|
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
|
|
|
|
invoke-virtual {v1, v4, v5}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
|
|
|
|
move-result-object v1
|
|
|
|
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object v1
|
|
|
|
const-string v2, "DefaultDrmSession"
|
|
|
|
invoke-static {v2, v1}, Landroidx/media3/common/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)V
|
|
|
|
.line 448
|
|
invoke-direct {p0, v0, v3, p1}, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->postKeyRequest([BIZ)V
|
|
|
|
goto :goto_0
|
|
|
|
:cond_7
|
|
const-wide/16 v0, 0x0
|
|
|
|
cmp-long p1, v4, v0
|
|
|
|
if-gtz p1, :cond_8
|
|
|
|
.line 450
|
|
new-instance p1, Landroidx/media3/exoplayer/drm/KeysExpiredException;
|
|
|
|
invoke-direct {p1}, Landroidx/media3/exoplayer/drm/KeysExpiredException;-><init>()V
|
|
|
|
invoke-direct {p0, p1, v3}, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->onError(Ljava/lang/Exception;I)V
|
|
|
|
goto :goto_0
|
|
|
|
:cond_8
|
|
iput v2, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->state:I
|
|
|
|
.line 453
|
|
new-instance p1, Landroidx/media3/exoplayer/drm/DefaultDrmSession$$ExternalSyntheticLambda2;
|
|
|
|
invoke-direct {p1}, Landroidx/media3/exoplayer/drm/DefaultDrmSession$$ExternalSyntheticLambda2;-><init>()V
|
|
|
|
invoke-direct {p0, p1}, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->dispatchEvent(Landroidx/media3/common/util/Consumer;)V
|
|
|
|
:cond_9
|
|
:goto_0
|
|
return-void
|
|
.end method
|
|
|
|
.method private getLicenseDurationRemainingSec()J
|
|
.locals 4
|
|
|
|
.line 484
|
|
sget-object v0, Landroidx/media3/common/C;->WIDEVINE_UUID:Ljava/util/UUID;
|
|
|
|
iget-object v1, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->uuid:Ljava/util/UUID;
|
|
|
|
invoke-virtual {v0, v1}, Ljava/util/UUID;->equals(Ljava/lang/Object;)Z
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
const-wide v0, 0x7fffffffffffffffL
|
|
|
|
return-wide v0
|
|
|
|
.line 488
|
|
:cond_0
|
|
invoke-static {p0}, Landroidx/media3/exoplayer/drm/WidevineUtil;->getLicenseDurationRemainingSec(Landroidx/media3/exoplayer/drm/DrmSession;)Landroid/util/Pair;
|
|
|
|
move-result-object p0
|
|
|
|
invoke-static {p0}, Landroidx/media3/common/util/Assertions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
|
|
|
|
move-result-object p0
|
|
|
|
check-cast p0, Landroid/util/Pair;
|
|
|
|
.line 489
|
|
iget-object v0, p0, Landroid/util/Pair;->first:Ljava/lang/Object;
|
|
|
|
check-cast v0, Ljava/lang/Long;
|
|
|
|
invoke-virtual {v0}, Ljava/lang/Long;->longValue()J
|
|
|
|
move-result-wide v0
|
|
|
|
iget-object p0, p0, Landroid/util/Pair;->second:Ljava/lang/Object;
|
|
|
|
check-cast p0, Ljava/lang/Long;
|
|
|
|
invoke-virtual {p0}, Ljava/lang/Long;->longValue()J
|
|
|
|
move-result-wide v2
|
|
|
|
invoke-static {v0, v1, v2, v3}, Ljava/lang/Math;->min(JJ)J
|
|
|
|
move-result-wide v0
|
|
|
|
return-wide v0
|
|
.end method
|
|
|
|
.method private isOpen()Z
|
|
.locals 1
|
|
.annotation runtime Lorg/checkerframework/checker/nullness/qual/EnsuresNonNullIf;
|
|
expression = {
|
|
"sessionId"
|
|
}
|
|
result = true
|
|
.end annotation
|
|
|
|
iget p0, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->state:I
|
|
|
|
const/4 v0, 0x3
|
|
|
|
if-eq p0, v0, :cond_1
|
|
|
|
const/4 v0, 0x4
|
|
|
|
if-ne p0, v0, :cond_0
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
const/4 p0, 0x0
|
|
|
|
goto :goto_1
|
|
|
|
:cond_1
|
|
:goto_0
|
|
const/4 p0, 0x1
|
|
|
|
:goto_1
|
|
return p0
|
|
.end method
|
|
|
|
.method static synthetic lambda$onError$1(Ljava/lang/Exception;Landroidx/media3/exoplayer/drm/DrmSessionEventListener$EventDispatcher;)V
|
|
.locals 0
|
|
|
|
.line 559
|
|
invoke-virtual {p1, p0}, Landroidx/media3/exoplayer/drm/DrmSessionEventListener$EventDispatcher;->drmSessionManagerError(Ljava/lang/Exception;)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method static synthetic lambda$openInternal$0(ILandroidx/media3/exoplayer/drm/DrmSessionEventListener$EventDispatcher;)V
|
|
.locals 0
|
|
|
|
.line 394
|
|
invoke-virtual {p1, p0}, Landroidx/media3/exoplayer/drm/DrmSessionEventListener$EventDispatcher;->drmSessionAcquired(I)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method private onError(Ljava/lang/Exception;I)V
|
|
.locals 1
|
|
|
|
.line 556
|
|
new-instance v0, Landroidx/media3/exoplayer/drm/DrmSession$DrmSessionException;
|
|
|
|
.line 557
|
|
invoke-static {p1, p2}, Landroidx/media3/exoplayer/drm/DrmUtil;->getErrorCodeForMediaDrmException(Ljava/lang/Exception;I)I
|
|
|
|
move-result p2
|
|
|
|
invoke-direct {v0, p1, p2}, Landroidx/media3/exoplayer/drm/DrmSession$DrmSessionException;-><init>(Ljava/lang/Throwable;I)V
|
|
|
|
iput-object v0, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->lastException:Landroidx/media3/exoplayer/drm/DrmSession$DrmSessionException;
|
|
|
|
const-string p2, "DefaultDrmSession"
|
|
|
|
const-string v0, "DRM session error"
|
|
|
|
.line 558
|
|
invoke-static {p2, v0, p1}, Landroidx/media3/common/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
|
|
|
|
.line 559
|
|
new-instance p2, Landroidx/media3/exoplayer/drm/DefaultDrmSession$$ExternalSyntheticLambda0;
|
|
|
|
invoke-direct {p2, p1}, Landroidx/media3/exoplayer/drm/DefaultDrmSession$$ExternalSyntheticLambda0;-><init>(Ljava/lang/Exception;)V
|
|
|
|
invoke-direct {p0, p2}, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->dispatchEvent(Landroidx/media3/common/util/Consumer;)V
|
|
|
|
iget p1, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->state:I
|
|
|
|
const/4 p2, 0x4
|
|
|
|
if-eq p1, p2, :cond_0
|
|
|
|
const/4 p1, 0x1
|
|
|
|
iput p1, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->state:I
|
|
|
|
:cond_0
|
|
return-void
|
|
.end method
|
|
|
|
.method private onKeyResponse(Ljava/lang/Object;Ljava/lang/Object;)V
|
|
.locals 1
|
|
|
|
iget-object v0, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->currentKeyRequest:Landroidx/media3/exoplayer/drm/ExoMediaDrm$KeyRequest;
|
|
|
|
if-ne p1, v0, :cond_5
|
|
|
|
.line 503
|
|
invoke-direct {p0}, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->isOpen()Z
|
|
|
|
move-result p1
|
|
|
|
if-nez p1, :cond_0
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
const/4 p1, 0x0
|
|
|
|
iput-object p1, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->currentKeyRequest:Landroidx/media3/exoplayer/drm/ExoMediaDrm$KeyRequest;
|
|
|
|
.line 509
|
|
instance-of p1, p2, Ljava/lang/Exception;
|
|
|
|
if-eqz p1, :cond_1
|
|
|
|
.line 510
|
|
check-cast p2, Ljava/lang/Exception;
|
|
|
|
const/4 p1, 0x0
|
|
|
|
invoke-direct {p0, p2, p1}, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->onKeysError(Ljava/lang/Exception;Z)V
|
|
|
|
return-void
|
|
|
|
.line 515
|
|
:cond_1
|
|
:try_start_0
|
|
check-cast p2, [B
|
|
|
|
iget p1, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->mode:I
|
|
|
|
const/4 v0, 0x3
|
|
|
|
if-ne p1, v0, :cond_2
|
|
|
|
iget-object p1, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->mediaDrm:Landroidx/media3/exoplayer/drm/ExoMediaDrm;
|
|
|
|
iget-object v0, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->offlineLicenseKeySetId:[B
|
|
|
|
.line 517
|
|
invoke-static {v0}, Landroidx/media3/common/util/Util;->castNonNull(Ljava/lang/Object;)Ljava/lang/Object;
|
|
|
|
move-result-object v0
|
|
|
|
check-cast v0, [B
|
|
|
|
invoke-interface {p1, v0, p2}, Landroidx/media3/exoplayer/drm/ExoMediaDrm;->provideKeyResponse([B[B)[B
|
|
|
|
.line 518
|
|
new-instance p1, Landroidx/media3/exoplayer/drm/DefaultDrmSession$$ExternalSyntheticLambda3;
|
|
|
|
invoke-direct {p1}, Landroidx/media3/exoplayer/drm/DefaultDrmSession$$ExternalSyntheticLambda3;-><init>()V
|
|
|
|
invoke-direct {p0, p1}, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->dispatchEvent(Landroidx/media3/common/util/Consumer;)V
|
|
|
|
goto :goto_0
|
|
|
|
:cond_2
|
|
iget-object p1, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->mediaDrm:Landroidx/media3/exoplayer/drm/ExoMediaDrm;
|
|
|
|
iget-object v0, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->sessionId:[B
|
|
|
|
.line 520
|
|
invoke-interface {p1, v0, p2}, Landroidx/media3/exoplayer/drm/ExoMediaDrm;->provideKeyResponse([B[B)[B
|
|
|
|
move-result-object p1
|
|
|
|
iget p2, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->mode:I
|
|
|
|
const/4 v0, 0x2
|
|
|
|
if-eq p2, v0, :cond_3
|
|
|
|
if-nez p2, :cond_4
|
|
|
|
iget-object p2, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->offlineLicenseKeySetId:[B
|
|
|
|
if-eqz p2, :cond_4
|
|
|
|
:cond_3
|
|
if-eqz p1, :cond_4
|
|
|
|
.line 521
|
|
array-length p2, p1
|
|
|
|
if-eqz p2, :cond_4
|
|
|
|
iput-object p1, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->offlineLicenseKeySetId:[B
|
|
|
|
:cond_4
|
|
const/4 p1, 0x4
|
|
|
|
iput p1, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->state:I
|
|
|
|
.line 529
|
|
new-instance p1, Landroidx/media3/exoplayer/drm/DefaultDrmSession$$ExternalSyntheticLambda4;
|
|
|
|
invoke-direct {p1}, Landroidx/media3/exoplayer/drm/DefaultDrmSession$$ExternalSyntheticLambda4;-><init>()V
|
|
|
|
invoke-direct {p0, p1}, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->dispatchEvent(Landroidx/media3/common/util/Consumer;)V
|
|
:try_end_0
|
|
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
|
|
|
|
goto :goto_0
|
|
|
|
:catch_0
|
|
move-exception p1
|
|
|
|
const/4 p2, 0x1
|
|
|
|
.line 532
|
|
invoke-direct {p0, p1, p2}, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->onKeysError(Ljava/lang/Exception;Z)V
|
|
|
|
:cond_5
|
|
:goto_0
|
|
return-void
|
|
.end method
|
|
|
|
.method private onKeysError(Ljava/lang/Exception;Z)V
|
|
.locals 1
|
|
|
|
.line 544
|
|
instance-of v0, p1, Landroid/media/NotProvisionedException;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
iget-object p1, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->provisioningManager:Landroidx/media3/exoplayer/drm/DefaultDrmSession$ProvisioningManager;
|
|
|
|
.line 545
|
|
invoke-interface {p1, p0}, Landroidx/media3/exoplayer/drm/DefaultDrmSession$ProvisioningManager;->provisionRequired(Landroidx/media3/exoplayer/drm/DefaultDrmSession;)V
|
|
|
|
goto :goto_1
|
|
|
|
:cond_0
|
|
if-eqz p2, :cond_1
|
|
|
|
const/4 p2, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_1
|
|
const/4 p2, 0x2
|
|
|
|
.line 547
|
|
:goto_0
|
|
invoke-direct {p0, p1, p2}, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->onError(Ljava/lang/Exception;I)V
|
|
|
|
:goto_1
|
|
return-void
|
|
.end method
|
|
|
|
.method private onKeysRequired()V
|
|
.locals 2
|
|
|
|
iget v0, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->mode:I
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
iget v0, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->state:I
|
|
|
|
const/4 v1, 0x4
|
|
|
|
if-ne v0, v1, :cond_0
|
|
|
|
iget-object v0, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->sessionId:[B
|
|
|
|
.line 538
|
|
invoke-static {v0}, Landroidx/media3/common/util/Util;->castNonNull(Ljava/lang/Object;)Ljava/lang/Object;
|
|
|
|
const/4 v0, 0x0
|
|
|
|
.line 539
|
|
invoke-direct {p0, v0}, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->doLicense(Z)V
|
|
|
|
:cond_0
|
|
return-void
|
|
.end method
|
|
|
|
.method private onProvisionResponse(Ljava/lang/Object;Ljava/lang/Object;)V
|
|
.locals 1
|
|
|
|
iget-object v0, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->currentProvisionRequest:Landroidx/media3/exoplayer/drm/ExoMediaDrm$ProvisionRequest;
|
|
|
|
if-ne p1, v0, :cond_2
|
|
|
|
iget p1, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->state:I
|
|
|
|
const/4 v0, 0x2
|
|
|
|
if-eq p1, v0, :cond_0
|
|
|
|
.line 407
|
|
invoke-direct {p0}, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->isOpen()Z
|
|
|
|
move-result p1
|
|
|
|
if-nez p1, :cond_0
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
const/4 p1, 0x0
|
|
|
|
iput-object p1, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->currentProvisionRequest:Landroidx/media3/exoplayer/drm/ExoMediaDrm$ProvisionRequest;
|
|
|
|
.line 413
|
|
instance-of p1, p2, Ljava/lang/Exception;
|
|
|
|
if-eqz p1, :cond_1
|
|
|
|
iget-object p0, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->provisioningManager:Landroidx/media3/exoplayer/drm/DefaultDrmSession$ProvisioningManager;
|
|
|
|
.line 414
|
|
check-cast p2, Ljava/lang/Exception;
|
|
|
|
const/4 p1, 0x0
|
|
|
|
invoke-interface {p0, p2, p1}, Landroidx/media3/exoplayer/drm/DefaultDrmSession$ProvisioningManager;->onProvisionError(Ljava/lang/Exception;Z)V
|
|
|
|
return-void
|
|
|
|
:cond_1
|
|
:try_start_0
|
|
iget-object p1, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->mediaDrm:Landroidx/media3/exoplayer/drm/ExoMediaDrm;
|
|
|
|
.line 419
|
|
check-cast p2, [B
|
|
|
|
invoke-interface {p1, p2}, Landroidx/media3/exoplayer/drm/ExoMediaDrm;->provideProvisionResponse([B)V
|
|
:try_end_0
|
|
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
|
|
|
|
iget-object p0, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->provisioningManager:Landroidx/media3/exoplayer/drm/DefaultDrmSession$ProvisioningManager;
|
|
|
|
.line 425
|
|
invoke-interface {p0}, Landroidx/media3/exoplayer/drm/DefaultDrmSession$ProvisioningManager;->onProvisionCompleted()V
|
|
|
|
return-void
|
|
|
|
:catch_0
|
|
move-exception p1
|
|
|
|
iget-object p0, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->provisioningManager:Landroidx/media3/exoplayer/drm/DefaultDrmSession$ProvisioningManager;
|
|
|
|
const/4 p2, 0x1
|
|
|
|
.line 421
|
|
invoke-interface {p0, p1, p2}, Landroidx/media3/exoplayer/drm/DefaultDrmSession$ProvisioningManager;->onProvisionError(Ljava/lang/Exception;Z)V
|
|
|
|
:cond_2
|
|
:goto_0
|
|
return-void
|
|
.end method
|
|
|
|
.method private openInternal()Z
|
|
.locals 4
|
|
.annotation runtime Lorg/checkerframework/checker/nullness/qual/EnsuresNonNullIf;
|
|
expression = {
|
|
"sessionId"
|
|
}
|
|
result = true
|
|
.end annotation
|
|
|
|
.line 382
|
|
invoke-direct {p0}, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->isOpen()Z
|
|
|
|
move-result v0
|
|
|
|
const/4 v1, 0x1
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
return v1
|
|
|
|
:cond_0
|
|
:try_start_0
|
|
iget-object v0, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->mediaDrm:Landroidx/media3/exoplayer/drm/ExoMediaDrm;
|
|
|
|
.line 388
|
|
invoke-interface {v0}, Landroidx/media3/exoplayer/drm/ExoMediaDrm;->openSession()[B
|
|
|
|
move-result-object v0
|
|
|
|
iput-object v0, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->sessionId:[B
|
|
|
|
iget-object v2, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->mediaDrm:Landroidx/media3/exoplayer/drm/ExoMediaDrm;
|
|
|
|
iget-object v3, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->playerId:Landroidx/media3/exoplayer/analytics/PlayerId;
|
|
|
|
.line 389
|
|
invoke-interface {v2, v0, v3}, Landroidx/media3/exoplayer/drm/ExoMediaDrm;->setPlayerIdForSession([BLandroidx/media3/exoplayer/analytics/PlayerId;)V
|
|
|
|
iget-object v0, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->mediaDrm:Landroidx/media3/exoplayer/drm/ExoMediaDrm;
|
|
|
|
iget-object v2, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->sessionId:[B
|
|
|
|
.line 390
|
|
invoke-interface {v0, v2}, Landroidx/media3/exoplayer/drm/ExoMediaDrm;->createCryptoConfig([B)Landroidx/media3/decoder/CryptoConfig;
|
|
|
|
move-result-object v0
|
|
|
|
iput-object v0, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->cryptoConfig:Landroidx/media3/decoder/CryptoConfig;
|
|
|
|
const/4 v0, 0x3
|
|
|
|
iput v0, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->state:I
|
|
|
|
.line 394
|
|
new-instance v2, Landroidx/media3/exoplayer/drm/DefaultDrmSession$$ExternalSyntheticLambda1;
|
|
|
|
invoke-direct {v2, v0}, Landroidx/media3/exoplayer/drm/DefaultDrmSession$$ExternalSyntheticLambda1;-><init>(I)V
|
|
|
|
invoke-direct {p0, v2}, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->dispatchEvent(Landroidx/media3/common/util/Consumer;)V
|
|
|
|
iget-object v0, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->sessionId:[B
|
|
|
|
.line 395
|
|
invoke-static {v0}, Landroidx/media3/common/util/Assertions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
|
|
:try_end_0
|
|
.catch Landroid/media/NotProvisionedException; {:try_start_0 .. :try_end_0} :catch_1
|
|
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
|
|
|
|
return v1
|
|
|
|
:catch_0
|
|
move-exception v0
|
|
|
|
.line 400
|
|
invoke-direct {p0, v0, v1}, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->onError(Ljava/lang/Exception;I)V
|
|
|
|
goto :goto_0
|
|
|
|
:catch_1
|
|
iget-object v0, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->provisioningManager:Landroidx/media3/exoplayer/drm/DefaultDrmSession$ProvisioningManager;
|
|
|
|
.line 398
|
|
invoke-interface {v0, p0}, Landroidx/media3/exoplayer/drm/DefaultDrmSession$ProvisioningManager;->provisionRequired(Landroidx/media3/exoplayer/drm/DefaultDrmSession;)V
|
|
|
|
:goto_0
|
|
const/4 p0, 0x0
|
|
|
|
return p0
|
|
.end method
|
|
|
|
.method private postKeyRequest([BIZ)V
|
|
.locals 4
|
|
|
|
const/4 v0, 0x1
|
|
|
|
:try_start_0
|
|
iget-object v1, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->mediaDrm:Landroidx/media3/exoplayer/drm/ExoMediaDrm;
|
|
|
|
iget-object v2, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->schemeDatas:Ljava/util/List;
|
|
|
|
iget-object v3, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->keyRequestParameters:Ljava/util/HashMap;
|
|
|
|
.line 494
|
|
invoke-interface {v1, p1, v2, p2, v3}, Landroidx/media3/exoplayer/drm/ExoMediaDrm;->getKeyRequest([BLjava/util/List;ILjava/util/HashMap;)Landroidx/media3/exoplayer/drm/ExoMediaDrm$KeyRequest;
|
|
|
|
move-result-object p1
|
|
|
|
iput-object p1, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->currentKeyRequest:Landroidx/media3/exoplayer/drm/ExoMediaDrm$KeyRequest;
|
|
|
|
iget-object p1, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->requestHandler:Landroidx/media3/exoplayer/drm/DefaultDrmSession$RequestHandler;
|
|
|
|
.line 495
|
|
invoke-static {p1}, Landroidx/media3/common/util/Util;->castNonNull(Ljava/lang/Object;)Ljava/lang/Object;
|
|
|
|
move-result-object p1
|
|
|
|
check-cast p1, Landroidx/media3/exoplayer/drm/DefaultDrmSession$RequestHandler;
|
|
|
|
iget-object p2, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->currentKeyRequest:Landroidx/media3/exoplayer/drm/ExoMediaDrm$KeyRequest;
|
|
|
|
.line 496
|
|
invoke-static {p2}, Landroidx/media3/common/util/Assertions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
|
|
|
|
move-result-object p2
|
|
|
|
invoke-virtual {p1, v0, p2, p3}, Landroidx/media3/exoplayer/drm/DefaultDrmSession$RequestHandler;->post(ILjava/lang/Object;Z)V
|
|
:try_end_0
|
|
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
|
|
|
|
goto :goto_0
|
|
|
|
:catch_0
|
|
move-exception p1
|
|
|
|
.line 498
|
|
invoke-direct {p0, p1, v0}, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->onKeysError(Ljava/lang/Exception;Z)V
|
|
|
|
:goto_0
|
|
return-void
|
|
.end method
|
|
|
|
.method private restoreKeys()Z
|
|
.locals 4
|
|
.annotation runtime Lorg/checkerframework/checker/nullness/qual/RequiresNonNull;
|
|
value = {
|
|
"sessionId",
|
|
"offlineLicenseKeySetId"
|
|
}
|
|
.end annotation
|
|
|
|
const/4 v0, 0x1
|
|
|
|
:try_start_0
|
|
iget-object v1, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->mediaDrm:Landroidx/media3/exoplayer/drm/ExoMediaDrm;
|
|
|
|
iget-object v2, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->sessionId:[B
|
|
|
|
iget-object v3, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->offlineLicenseKeySetId:[B
|
|
|
|
.line 475
|
|
invoke-interface {v1, v2, v3}, Landroidx/media3/exoplayer/drm/ExoMediaDrm;->restoreKeys([B[B)V
|
|
:try_end_0
|
|
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
|
|
|
|
return v0
|
|
|
|
:catch_0
|
|
move-exception v1
|
|
|
|
.line 478
|
|
invoke-direct {p0, v1, v0}, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->onError(Ljava/lang/Exception;I)V
|
|
|
|
const/4 p0, 0x0
|
|
|
|
return p0
|
|
.end method
|
|
|
|
.method private verifyPlaybackThread()V
|
|
.locals 2
|
|
|
|
.line 578
|
|
invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
|
|
|
|
move-result-object v0
|
|
|
|
iget-object v1, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->playbackLooper:Landroid/os/Looper;
|
|
|
|
invoke-virtual {v1}, Landroid/os/Looper;->getThread()Ljava/lang/Thread;
|
|
|
|
move-result-object v1
|
|
|
|
if-eq v0, v1, :cond_0
|
|
|
|
.line 579
|
|
new-instance v0, Ljava/lang/StringBuilder;
|
|
|
|
const-string v1, "DefaultDrmSession accessed on the wrong thread.\nCurrent thread: "
|
|
|
|
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
|
|
|
|
.line 582
|
|
invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
|
|
|
|
move-result-object v1
|
|
|
|
invoke-virtual {v1}, Ljava/lang/Thread;->getName()Ljava/lang/String;
|
|
|
|
move-result-object v1
|
|
|
|
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
move-result-object v0
|
|
|
|
const-string v1, "\nExpected thread: "
|
|
|
|
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
move-result-object v0
|
|
|
|
iget-object p0, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->playbackLooper:Landroid/os/Looper;
|
|
|
|
.line 584
|
|
invoke-virtual {p0}, Landroid/os/Looper;->getThread()Ljava/lang/Thread;
|
|
|
|
move-result-object p0
|
|
|
|
invoke-virtual {p0}, Ljava/lang/Thread;->getName()Ljava/lang/String;
|
|
|
|
move-result-object p0
|
|
|
|
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
move-result-object p0
|
|
|
|
invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object p0
|
|
|
|
new-instance v0, Ljava/lang/IllegalStateException;
|
|
|
|
invoke-direct {v0}, Ljava/lang/IllegalStateException;-><init>()V
|
|
|
|
const-string v1, "DefaultDrmSession"
|
|
|
|
.line 579
|
|
invoke-static {v1, p0, v0}, Landroidx/media3/common/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
|
|
|
|
:cond_0
|
|
return-void
|
|
.end method
|
|
|
|
|
|
# virtual methods
|
|
.method public acquire(Landroidx/media3/exoplayer/drm/DrmSessionEventListener$EventDispatcher;)V
|
|
.locals 3
|
|
|
|
.line 313
|
|
invoke-direct {p0}, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->verifyPlaybackThread()V
|
|
|
|
iget v0, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->referenceCount:I
|
|
|
|
const/4 v1, 0x0
|
|
|
|
if-gez v0, :cond_0
|
|
|
|
.line 315
|
|
new-instance v0, Ljava/lang/StringBuilder;
|
|
|
|
const-string v2, "Session reference count less than zero: "
|
|
|
|
invoke-direct {v0, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
|
|
|
|
iget v2, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->referenceCount:I
|
|
|
|
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object v0
|
|
|
|
const-string v2, "DefaultDrmSession"
|
|
|
|
invoke-static {v2, v0}, Landroidx/media3/common/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)V
|
|
|
|
iput v1, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->referenceCount:I
|
|
|
|
:cond_0
|
|
if-eqz p1, :cond_1
|
|
|
|
iget-object v0, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->eventDispatchers:Landroidx/media3/common/util/CopyOnWriteMultiset;
|
|
|
|
.line 319
|
|
invoke-virtual {v0, p1}, Landroidx/media3/common/util/CopyOnWriteMultiset;->add(Ljava/lang/Object;)V
|
|
|
|
:cond_1
|
|
iget v0, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->referenceCount:I
|
|
|
|
const/4 v2, 0x1
|
|
|
|
add-int/2addr v0, v2
|
|
|
|
iput v0, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->referenceCount:I
|
|
|
|
if-ne v0, v2, :cond_3
|
|
|
|
iget p1, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->state:I
|
|
|
|
const/4 v0, 0x2
|
|
|
|
if-ne p1, v0, :cond_2
|
|
|
|
move v1, v2
|
|
|
|
.line 322
|
|
:cond_2
|
|
invoke-static {v1}, Landroidx/media3/common/util/Assertions;->checkState(Z)V
|
|
|
|
.line 323
|
|
new-instance p1, Landroid/os/HandlerThread;
|
|
|
|
const-string v0, "ExoPlayer:DrmRequestHandler"
|
|
|
|
invoke-direct {p1, v0}, Landroid/os/HandlerThread;-><init>(Ljava/lang/String;)V
|
|
|
|
iput-object p1, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->requestHandlerThread:Landroid/os/HandlerThread;
|
|
|
|
.line 324
|
|
invoke-virtual {p1}, Landroid/os/HandlerThread;->start()V
|
|
|
|
.line 325
|
|
new-instance p1, Landroidx/media3/exoplayer/drm/DefaultDrmSession$RequestHandler;
|
|
|
|
iget-object v0, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->requestHandlerThread:Landroid/os/HandlerThread;
|
|
|
|
invoke-virtual {v0}, Landroid/os/HandlerThread;->getLooper()Landroid/os/Looper;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-direct {p1, p0, v0}, Landroidx/media3/exoplayer/drm/DefaultDrmSession$RequestHandler;-><init>(Landroidx/media3/exoplayer/drm/DefaultDrmSession;Landroid/os/Looper;)V
|
|
|
|
iput-object p1, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->requestHandler:Landroidx/media3/exoplayer/drm/DefaultDrmSession$RequestHandler;
|
|
|
|
.line 326
|
|
invoke-direct {p0}, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->openInternal()Z
|
|
|
|
move-result p1
|
|
|
|
if-eqz p1, :cond_4
|
|
|
|
.line 327
|
|
invoke-direct {p0, v2}, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->doLicense(Z)V
|
|
|
|
goto :goto_0
|
|
|
|
:cond_3
|
|
if-eqz p1, :cond_4
|
|
|
|
.line 330
|
|
invoke-direct {p0}, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->isOpen()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_4
|
|
|
|
iget-object v0, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->eventDispatchers:Landroidx/media3/common/util/CopyOnWriteMultiset;
|
|
|
|
.line 331
|
|
invoke-virtual {v0, p1}, Landroidx/media3/common/util/CopyOnWriteMultiset;->count(Ljava/lang/Object;)I
|
|
|
|
move-result v0
|
|
|
|
if-ne v0, v2, :cond_4
|
|
|
|
iget v0, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->state:I
|
|
|
|
.line 334
|
|
invoke-virtual {p1, v0}, Landroidx/media3/exoplayer/drm/DrmSessionEventListener$EventDispatcher;->drmSessionAcquired(I)V
|
|
|
|
:cond_4
|
|
:goto_0
|
|
iget-object p1, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->referenceCountListener:Landroidx/media3/exoplayer/drm/DefaultDrmSession$ReferenceCountListener;
|
|
|
|
iget v0, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->referenceCount:I
|
|
|
|
.line 336
|
|
invoke-interface {p1, p0, v0}, Landroidx/media3/exoplayer/drm/DefaultDrmSession$ReferenceCountListener;->onReferenceCountIncremented(Landroidx/media3/exoplayer/drm/DefaultDrmSession;I)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public final getCryptoConfig()Landroidx/media3/decoder/CryptoConfig;
|
|
.locals 0
|
|
|
|
.line 287
|
|
invoke-direct {p0}, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->verifyPlaybackThread()V
|
|
|
|
iget-object p0, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->cryptoConfig:Landroidx/media3/decoder/CryptoConfig;
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public final getError()Landroidx/media3/exoplayer/drm/DrmSession$DrmSessionException;
|
|
.locals 2
|
|
|
|
.line 274
|
|
invoke-direct {p0}, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->verifyPlaybackThread()V
|
|
|
|
iget v0, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->state:I
|
|
|
|
const/4 v1, 0x1
|
|
|
|
if-ne v0, v1, :cond_0
|
|
|
|
iget-object p0, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->lastException:Landroidx/media3/exoplayer/drm/DrmSession$DrmSessionException;
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
const/4 p0, 0x0
|
|
|
|
:goto_0
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public getOfflineLicenseKeySetId()[B
|
|
.locals 0
|
|
|
|
.line 301
|
|
invoke-direct {p0}, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->verifyPlaybackThread()V
|
|
|
|
iget-object p0, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->offlineLicenseKeySetId:[B
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public final getSchemeUuid()Ljava/util/UUID;
|
|
.locals 0
|
|
|
|
.line 280
|
|
invoke-direct {p0}, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->verifyPlaybackThread()V
|
|
|
|
iget-object p0, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->uuid:Ljava/util/UUID;
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public final getState()I
|
|
.locals 0
|
|
|
|
.line 261
|
|
invoke-direct {p0}, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->verifyPlaybackThread()V
|
|
|
|
iget p0, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->state:I
|
|
|
|
return p0
|
|
.end method
|
|
|
|
.method public hasSessionId([B)Z
|
|
.locals 0
|
|
|
|
.line 218
|
|
invoke-direct {p0}, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->verifyPlaybackThread()V
|
|
|
|
iget-object p0, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->sessionId:[B
|
|
|
|
.line 219
|
|
invoke-static {p0, p1}, Ljava/util/Arrays;->equals([B[B)Z
|
|
|
|
move-result p0
|
|
|
|
return p0
|
|
.end method
|
|
|
|
.method onMediaDrmEvent(I)V
|
|
.locals 1
|
|
|
|
const/4 v0, 0x2
|
|
|
|
if-eq p1, v0, :cond_0
|
|
|
|
goto :goto_0
|
|
|
|
.line 225
|
|
:cond_0
|
|
invoke-direct {p0}, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->onKeysRequired()V
|
|
|
|
:goto_0
|
|
return-void
|
|
.end method
|
|
|
|
.method onProvisionCompleted()V
|
|
.locals 1
|
|
|
|
.line 244
|
|
invoke-direct {p0}, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->openInternal()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
const/4 v0, 0x1
|
|
|
|
.line 245
|
|
invoke-direct {p0, v0}, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->doLicense(Z)V
|
|
|
|
:cond_0
|
|
return-void
|
|
.end method
|
|
|
|
.method onProvisionError(Ljava/lang/Exception;Z)V
|
|
.locals 0
|
|
|
|
if-eqz p2, :cond_0
|
|
|
|
const/4 p2, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
const/4 p2, 0x3
|
|
|
|
.line 250
|
|
:goto_0
|
|
invoke-direct {p0, p1, p2}, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->onError(Ljava/lang/Exception;I)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public playClearSamplesWithoutKeys()Z
|
|
.locals 0
|
|
|
|
.line 267
|
|
invoke-direct {p0}, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->verifyPlaybackThread()V
|
|
|
|
iget-boolean p0, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->playClearSamplesWithoutKeys:Z
|
|
|
|
return p0
|
|
.end method
|
|
|
|
.method provision()V
|
|
.locals 3
|
|
|
|
iget-object v0, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->mediaDrm:Landroidx/media3/exoplayer/drm/ExoMediaDrm;
|
|
|
|
.line 235
|
|
invoke-interface {v0}, Landroidx/media3/exoplayer/drm/ExoMediaDrm;->getProvisionRequest()Landroidx/media3/exoplayer/drm/ExoMediaDrm$ProvisionRequest;
|
|
|
|
move-result-object v0
|
|
|
|
iput-object v0, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->currentProvisionRequest:Landroidx/media3/exoplayer/drm/ExoMediaDrm$ProvisionRequest;
|
|
|
|
iget-object v0, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->requestHandler:Landroidx/media3/exoplayer/drm/DefaultDrmSession$RequestHandler;
|
|
|
|
.line 236
|
|
invoke-static {v0}, Landroidx/media3/common/util/Util;->castNonNull(Ljava/lang/Object;)Ljava/lang/Object;
|
|
|
|
move-result-object v0
|
|
|
|
check-cast v0, Landroidx/media3/exoplayer/drm/DefaultDrmSession$RequestHandler;
|
|
|
|
iget-object p0, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->currentProvisionRequest:Landroidx/media3/exoplayer/drm/ExoMediaDrm$ProvisionRequest;
|
|
|
|
.line 239
|
|
invoke-static {p0}, Landroidx/media3/common/util/Assertions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
|
|
|
|
move-result-object p0
|
|
|
|
const/4 v1, 0x1
|
|
|
|
const/4 v2, 0x0
|
|
|
|
.line 237
|
|
invoke-virtual {v0, v2, p0, v1}, Landroidx/media3/exoplayer/drm/DefaultDrmSession$RequestHandler;->post(ILjava/lang/Object;Z)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public queryKeyStatus()Ljava/util/Map;
|
|
.locals 1
|
|
.annotation system Ldalvik/annotation/Signature;
|
|
value = {
|
|
"()",
|
|
"Ljava/util/Map<",
|
|
"Ljava/lang/String;",
|
|
"Ljava/lang/String;",
|
|
">;"
|
|
}
|
|
.end annotation
|
|
|
|
.line 294
|
|
invoke-direct {p0}, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->verifyPlaybackThread()V
|
|
|
|
iget-object v0, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->sessionId:[B
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
const/4 p0, 0x0
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
iget-object p0, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->mediaDrm:Landroidx/media3/exoplayer/drm/ExoMediaDrm;
|
|
|
|
.line 295
|
|
invoke-interface {p0, v0}, Landroidx/media3/exoplayer/drm/ExoMediaDrm;->queryKeyStatus([B)Ljava/util/Map;
|
|
|
|
move-result-object p0
|
|
|
|
:goto_0
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public release(Landroidx/media3/exoplayer/drm/DrmSessionEventListener$EventDispatcher;)V
|
|
.locals 3
|
|
|
|
.line 341
|
|
invoke-direct {p0}, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->verifyPlaybackThread()V
|
|
|
|
iget v0, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->referenceCount:I
|
|
|
|
if-gtz v0, :cond_0
|
|
|
|
const-string p0, "DefaultDrmSession"
|
|
|
|
const-string p1, "release() called on a session that\'s already fully released."
|
|
|
|
.line 343
|
|
invoke-static {p0, p1}, Landroidx/media3/common/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)V
|
|
|
|
return-void
|
|
|
|
:cond_0
|
|
add-int/lit8 v0, v0, -0x1
|
|
|
|
iput v0, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->referenceCount:I
|
|
|
|
if-nez v0, :cond_1
|
|
|
|
const/4 v0, 0x0
|
|
|
|
iput v0, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->state:I
|
|
|
|
iget-object v0, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->responseHandler:Landroidx/media3/exoplayer/drm/DefaultDrmSession$ResponseHandler;
|
|
|
|
.line 349
|
|
invoke-static {v0}, Landroidx/media3/common/util/Util;->castNonNull(Ljava/lang/Object;)Ljava/lang/Object;
|
|
|
|
move-result-object v0
|
|
|
|
check-cast v0, Landroidx/media3/exoplayer/drm/DefaultDrmSession$ResponseHandler;
|
|
|
|
const/4 v1, 0x0
|
|
|
|
invoke-virtual {v0, v1}, Landroidx/media3/exoplayer/drm/DefaultDrmSession$ResponseHandler;->removeCallbacksAndMessages(Ljava/lang/Object;)V
|
|
|
|
iget-object v0, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->requestHandler:Landroidx/media3/exoplayer/drm/DefaultDrmSession$RequestHandler;
|
|
|
|
.line 350
|
|
invoke-static {v0}, Landroidx/media3/common/util/Util;->castNonNull(Ljava/lang/Object;)Ljava/lang/Object;
|
|
|
|
move-result-object v0
|
|
|
|
check-cast v0, Landroidx/media3/exoplayer/drm/DefaultDrmSession$RequestHandler;
|
|
|
|
invoke-virtual {v0}, Landroidx/media3/exoplayer/drm/DefaultDrmSession$RequestHandler;->release()V
|
|
|
|
iput-object v1, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->requestHandler:Landroidx/media3/exoplayer/drm/DefaultDrmSession$RequestHandler;
|
|
|
|
iget-object v0, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->requestHandlerThread:Landroid/os/HandlerThread;
|
|
|
|
.line 352
|
|
invoke-static {v0}, Landroidx/media3/common/util/Util;->castNonNull(Ljava/lang/Object;)Ljava/lang/Object;
|
|
|
|
move-result-object v0
|
|
|
|
check-cast v0, Landroid/os/HandlerThread;
|
|
|
|
invoke-virtual {v0}, Landroid/os/HandlerThread;->quit()Z
|
|
|
|
iput-object v1, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->requestHandlerThread:Landroid/os/HandlerThread;
|
|
|
|
iput-object v1, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->cryptoConfig:Landroidx/media3/decoder/CryptoConfig;
|
|
|
|
iput-object v1, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->lastException:Landroidx/media3/exoplayer/drm/DrmSession$DrmSessionException;
|
|
|
|
iput-object v1, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->currentKeyRequest:Landroidx/media3/exoplayer/drm/ExoMediaDrm$KeyRequest;
|
|
|
|
iput-object v1, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->currentProvisionRequest:Landroidx/media3/exoplayer/drm/ExoMediaDrm$ProvisionRequest;
|
|
|
|
iget-object v0, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->sessionId:[B
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
iget-object v2, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->mediaDrm:Landroidx/media3/exoplayer/drm/ExoMediaDrm;
|
|
|
|
.line 359
|
|
invoke-interface {v2, v0}, Landroidx/media3/exoplayer/drm/ExoMediaDrm;->closeSession([B)V
|
|
|
|
iput-object v1, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->sessionId:[B
|
|
|
|
:cond_1
|
|
if-eqz p1, :cond_2
|
|
|
|
iget-object v0, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->eventDispatchers:Landroidx/media3/common/util/CopyOnWriteMultiset;
|
|
|
|
.line 364
|
|
invoke-virtual {v0, p1}, Landroidx/media3/common/util/CopyOnWriteMultiset;->remove(Ljava/lang/Object;)V
|
|
|
|
iget-object v0, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->eventDispatchers:Landroidx/media3/common/util/CopyOnWriteMultiset;
|
|
|
|
.line 365
|
|
invoke-virtual {v0, p1}, Landroidx/media3/common/util/CopyOnWriteMultiset;->count(Ljava/lang/Object;)I
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_2
|
|
|
|
.line 367
|
|
invoke-virtual {p1}, Landroidx/media3/exoplayer/drm/DrmSessionEventListener$EventDispatcher;->drmSessionReleased()V
|
|
|
|
:cond_2
|
|
iget-object p1, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->referenceCountListener:Landroidx/media3/exoplayer/drm/DefaultDrmSession$ReferenceCountListener;
|
|
|
|
iget v0, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->referenceCount:I
|
|
|
|
.line 370
|
|
invoke-interface {p1, p0, v0}, Landroidx/media3/exoplayer/drm/DefaultDrmSession$ReferenceCountListener;->onReferenceCountDecremented(Landroidx/media3/exoplayer/drm/DefaultDrmSession;I)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public requiresSecureDecoder(Ljava/lang/String;)Z
|
|
.locals 1
|
|
|
|
.line 307
|
|
invoke-direct {p0}, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->verifyPlaybackThread()V
|
|
|
|
iget-object v0, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->mediaDrm:Landroidx/media3/exoplayer/drm/ExoMediaDrm;
|
|
|
|
iget-object p0, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSession;->sessionId:[B
|
|
|
|
.line 308
|
|
invoke-static {p0}, Landroidx/media3/common/util/Assertions;->checkStateNotNull(Ljava/lang/Object;)Ljava/lang/Object;
|
|
|
|
move-result-object p0
|
|
|
|
check-cast p0, [B
|
|
|
|
invoke-interface {v0, p0, p1}, Landroidx/media3/exoplayer/drm/ExoMediaDrm;->requiresSecureDecoder([BLjava/lang/String;)Z
|
|
|
|
move-result p0
|
|
|
|
return p0
|
|
.end method
|