2022-06-10 21:38:30 +09:00

234 lines
6.6 KiB
Smali

.class public final Lcom/google/android/exoplayer2/decoder/CryptoInfo;
.super Ljava/lang/Object;
.source "CryptoInfo.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/android/exoplayer2/decoder/CryptoInfo$PatternHolderV24;
}
.end annotation
# instance fields
.field private final frameworkCryptoInfo:Landroid/media/MediaCodec$CryptoInfo;
.field public iv:[B
.field public key:[B
.field public mode:I
.field public numBytesOfClearData:[I
.field public numBytesOfEncryptedData:[I
.field public numSubSamples:I
.field public patternBlocksToEncrypt:I
.field public patternBlocksToSkip:I
.field private final patternHolder:Lcom/google/android/exoplayer2/decoder/CryptoInfo$PatternHolderV24;
# direct methods
.method public constructor <init>()V
.locals 4
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
sget v0, Lcom/google/android/exoplayer2/util/Util;->SDK_INT:I
const/4 v1, 0x0
const/16 v2, 0x10
if-lt v0, v2, :cond_0
invoke-direct {p0}, Lcom/google/android/exoplayer2/decoder/CryptoInfo;->newFrameworkCryptoInfoV16()Landroid/media/MediaCodec$CryptoInfo;
move-result-object v2
goto :goto_0
:cond_0
move-object v2, v1
:goto_0
iput-object v2, p0, Lcom/google/android/exoplayer2/decoder/CryptoInfo;->frameworkCryptoInfo:Landroid/media/MediaCodec$CryptoInfo;
const/16 v3, 0x18
if-lt v0, v3, :cond_1
.line 3
new-instance v0, Lcom/google/android/exoplayer2/decoder/CryptoInfo$PatternHolderV24;
invoke-direct {v0, v2, v1}, Lcom/google/android/exoplayer2/decoder/CryptoInfo$PatternHolderV24;-><init>(Landroid/media/MediaCodec$CryptoInfo;Lcom/google/android/exoplayer2/decoder/CryptoInfo$1;)V
move-object v1, v0
:cond_1
iput-object v1, p0, Lcom/google/android/exoplayer2/decoder/CryptoInfo;->patternHolder:Lcom/google/android/exoplayer2/decoder/CryptoInfo$PatternHolderV24;
return-void
.end method
.method private newFrameworkCryptoInfoV16()Landroid/media/MediaCodec$CryptoInfo;
.locals 1
.annotation build Landroid/annotation/TargetApi;
value = 0x10
.end annotation
.line 1
new-instance v0, Landroid/media/MediaCodec$CryptoInfo;
invoke-direct {v0}, Landroid/media/MediaCodec$CryptoInfo;-><init>()V
return-object v0
.end method
.method private updateFrameworkCryptoInfoV16()V
.locals 3
.annotation build Landroid/annotation/TargetApi;
value = 0x10
.end annotation
.line 1
iget-object v0, p0, Lcom/google/android/exoplayer2/decoder/CryptoInfo;->frameworkCryptoInfo:Landroid/media/MediaCodec$CryptoInfo;
iget v1, p0, Lcom/google/android/exoplayer2/decoder/CryptoInfo;->numSubSamples:I
iput v1, v0, Landroid/media/MediaCodec$CryptoInfo;->numSubSamples:I
.line 2
iget-object v1, p0, Lcom/google/android/exoplayer2/decoder/CryptoInfo;->numBytesOfClearData:[I
iput-object v1, v0, Landroid/media/MediaCodec$CryptoInfo;->numBytesOfClearData:[I
.line 3
iget-object v1, p0, Lcom/google/android/exoplayer2/decoder/CryptoInfo;->numBytesOfEncryptedData:[I
iput-object v1, v0, Landroid/media/MediaCodec$CryptoInfo;->numBytesOfEncryptedData:[I
.line 4
iget-object v1, p0, Lcom/google/android/exoplayer2/decoder/CryptoInfo;->key:[B
iput-object v1, v0, Landroid/media/MediaCodec$CryptoInfo;->key:[B
.line 5
iget-object v1, p0, Lcom/google/android/exoplayer2/decoder/CryptoInfo;->iv:[B
iput-object v1, v0, Landroid/media/MediaCodec$CryptoInfo;->iv:[B
.line 6
iget v1, p0, Lcom/google/android/exoplayer2/decoder/CryptoInfo;->mode:I
iput v1, v0, Landroid/media/MediaCodec$CryptoInfo;->mode:I
.line 7
sget v0, Lcom/google/android/exoplayer2/util/Util;->SDK_INT:I
const/16 v1, 0x18
if-lt v0, v1, :cond_0
.line 8
iget-object v0, p0, Lcom/google/android/exoplayer2/decoder/CryptoInfo;->patternHolder:Lcom/google/android/exoplayer2/decoder/CryptoInfo$PatternHolderV24;
iget v1, p0, Lcom/google/android/exoplayer2/decoder/CryptoInfo;->patternBlocksToEncrypt:I
iget v2, p0, Lcom/google/android/exoplayer2/decoder/CryptoInfo;->patternBlocksToSkip:I
invoke-static {v0, v1, v2}, Lcom/google/android/exoplayer2/decoder/CryptoInfo$PatternHolderV24;->access$100(Lcom/google/android/exoplayer2/decoder/CryptoInfo$PatternHolderV24;II)V
:cond_0
return-void
.end method
# virtual methods
.method public getFrameworkCryptoInfoV16()Landroid/media/MediaCodec$CryptoInfo;
.locals 1
.annotation build Landroid/annotation/TargetApi;
value = 0x10
.end annotation
.line 1
iget-object v0, p0, Lcom/google/android/exoplayer2/decoder/CryptoInfo;->frameworkCryptoInfo:Landroid/media/MediaCodec$CryptoInfo;
return-object v0
.end method
.method public set(I[I[I[B[BI)V
.locals 0
.line 1
iput p1, p0, Lcom/google/android/exoplayer2/decoder/CryptoInfo;->numSubSamples:I
.line 2
iput-object p2, p0, Lcom/google/android/exoplayer2/decoder/CryptoInfo;->numBytesOfClearData:[I
.line 3
iput-object p3, p0, Lcom/google/android/exoplayer2/decoder/CryptoInfo;->numBytesOfEncryptedData:[I
.line 4
iput-object p4, p0, Lcom/google/android/exoplayer2/decoder/CryptoInfo;->key:[B
.line 5
iput-object p5, p0, Lcom/google/android/exoplayer2/decoder/CryptoInfo;->iv:[B
.line 6
iput p6, p0, Lcom/google/android/exoplayer2/decoder/CryptoInfo;->mode:I
const/4 p1, 0x0
.line 7
iput p1, p0, Lcom/google/android/exoplayer2/decoder/CryptoInfo;->patternBlocksToEncrypt:I
.line 8
iput p1, p0, Lcom/google/android/exoplayer2/decoder/CryptoInfo;->patternBlocksToSkip:I
.line 9
sget p1, Lcom/google/android/exoplayer2/util/Util;->SDK_INT:I
const/16 p2, 0x10
if-lt p1, p2, :cond_0
.line 10
invoke-direct {p0}, Lcom/google/android/exoplayer2/decoder/CryptoInfo;->updateFrameworkCryptoInfoV16()V
:cond_0
return-void
.end method
.method public setPattern(II)V
.locals 2
.line 1
iput p1, p0, Lcom/google/android/exoplayer2/decoder/CryptoInfo;->patternBlocksToEncrypt:I
.line 2
iput p2, p0, Lcom/google/android/exoplayer2/decoder/CryptoInfo;->patternBlocksToSkip:I
.line 3
sget v0, Lcom/google/android/exoplayer2/util/Util;->SDK_INT:I
const/16 v1, 0x18
if-lt v0, v1, :cond_0
.line 4
iget-object v0, p0, Lcom/google/android/exoplayer2/decoder/CryptoInfo;->patternHolder:Lcom/google/android/exoplayer2/decoder/CryptoInfo$PatternHolderV24;
invoke-static {v0, p1, p2}, Lcom/google/android/exoplayer2/decoder/CryptoInfo$PatternHolderV24;->access$100(Lcom/google/android/exoplayer2/decoder/CryptoInfo$PatternHolderV24;II)V
:cond_0
return-void
.end method