MatroskaExtractor$Track.smali
.class final Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;
.super Ljava/lang/Object;
.source "MatroskaExtractor.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1a
name = "Track"
.end annotation
# static fields
.field private static final DEFAULT_MAX_CLL:I
.field private static final DEFAULT_MAX_FALL:I
.field private static final DISPLAY_UNIT_PIXELS:I
.field private static final MAX_CHROMATICITY:I
# instance fields
.field public audioBitDepth:I
.field public channelCount:I
.field public codecDelayNs:J
.field public codecId:Ljava/lang/String;
.field public codecPrivate:[B
.field public colorRange:I
.field public colorSpace:I
.field public colorTransfer:I
.field public cryptoData:Lcom/google/android/exoplayer2/extractor/TrackOutput$CryptoData;
.field public defaultSampleDurationNs:I
.field public displayHeight:I
.field public displayUnit:I
.field public displayWidth:I
.field public drmInitData:Lcom/google/android/exoplayer2/drm/DrmInitData;
.field public flagDefault:Z
.field public flagForced:Z
.field public hasColorInfo:Z
.field public hasContentEncryption:Z
.field public height:I
.field private language:Ljava/lang/String;
.field public maxContentLuminance:I
.field public maxFrameAverageLuminance:I
.field public maxMasteringLuminance:F
.field public minMasteringLuminance:F
.field public nalUnitLengthFieldLength:I
.field public name:Ljava/lang/String;
.field public number:I
.field public output:Lcom/google/android/exoplayer2/extractor/TrackOutput;
.field public primaryBChromaticityX:F
.field public primaryBChromaticityY:F
.field public primaryGChromaticityX:F
.field public primaryGChromaticityY:F
.field public primaryRChromaticityX:F
.field public primaryRChromaticityY:F
.field public projectionData:[B
.field public projectionPosePitch:F
.field public projectionPoseRoll:F
.field public projectionPoseYaw:F
.field public projectionType:I
.field public sampleRate:I
.field public sampleStrippedBytes:[B
.field public seekPreRollNs:J
.field public stereoMode:I
.field public trueHdSampleRechunker:Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$TrueHdSampleRechunker;
.field public type:I
.field public whitePointChromaticityX:F
.field public whitePointChromaticityY:F
.field public width:I
# direct methods
.method static constructor <clinit>()V
.registers 1
const v0, 0x1687
invoke-static {v0}, Lnp/NPFog;->d(I)I
move-result v0
sput v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->DEFAULT_MAX_CLL:I
const v0, 0x15a7
invoke-static {v0}, Lnp/NPFog;->d(I)I
move-result v0
sput v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->DEFAULT_MAX_FALL:I
const v0, 0x156f
invoke-static {v0}, Lnp/NPFog;->d(I)I
move-result v0
sput v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->DISPLAY_UNIT_PIXELS:I
const v0, 0xd63f
invoke-static {v0}, Lnp/NPFog;->d(I)I
move-result v0
sput v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->MAX_CHROMATICITY:I
return-void
.end method
.method private constructor <init>()V
.registers 5
.line 1637
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 1664
const/4 v0, -0x1
iput v0, p0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->width:I
.line 1665
iput v0, p0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->height:I
.line 1666
iput v0, p0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->displayWidth:I
.line 1667
iput v0, p0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->displayHeight:I
.line 1668
const/4 v1, 0x0
iput v1, p0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->displayUnit:I
.line 1669
iput v0, p0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->projectionType:I
.line 1670
const/4 v2, 0x0
iput v2, p0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->projectionPoseYaw:F
.line 1671
iput v2, p0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->projectionPosePitch:F
.line 1672
iput v2, p0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->projectionPoseRoll:F
.line 1673
const/4 v2, 0x0
iput-object v2, p0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->projectionData:[B
.line 1674
iput v0, p0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->stereoMode:I
.line 1676
iput-boolean v1, p0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->hasColorInfo:Z
.line 1677
iput v0, p0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->colorSpace:I
.line 1679
iput v0, p0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->colorTransfer:I
.line 1681
iput v0, p0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->colorRange:I
.line 1683
const/16 v1, 0x3e8
iput v1, p0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->maxContentLuminance:I
.line 1684
const/16 v1, 0xc8
iput v1, p0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->maxFrameAverageLuminance:I
.line 1685
const/high16 v1, -0x40800000 # -1.0f
iput v1, p0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->primaryRChromaticityX:F
.line 1686
iput v1, p0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->primaryRChromaticityY:F
.line 1687
iput v1, p0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->primaryGChromaticityX:F
.line 1688
iput v1, p0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->primaryGChromaticityY:F
.line 1689
iput v1, p0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->primaryBChromaticityX:F
.line 1690
iput v1, p0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->primaryBChromaticityY:F
.line 1691
iput v1, p0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->whitePointChromaticityX:F
.line 1692
iput v1, p0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->whitePointChromaticityY:F
.line 1693
iput v1, p0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->maxMasteringLuminance:F
.line 1694
iput v1, p0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->minMasteringLuminance:F
.line 1697
const/4 v1, 0x1
iput v1, p0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->channelCount:I
.line 1698
iput v0, p0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->audioBitDepth:I
.line 1699
const/16 v0, 0x1f40
iput v0, p0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->sampleRate:I
.line 1700
const-wide/16 v2, 0x0
iput-wide v2, p0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->codecDelayNs:J
.line 1701
iput-wide v2, p0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->seekPreRollNs:J
.line 1706
iput-boolean v1, p0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->flagDefault:Z
.line 1707
const-string v0, "eng"
iput-object v0, p0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->language:Ljava/lang/String;
return-void
.end method
.method synthetic constructor <init>(Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$1;)V
.registers 2
.param p1, "x0" # Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$1;
.line 1637
invoke-direct {p0}, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;-><init>()V
return-void
.end method
.method static synthetic access$202(Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;Ljava/lang/String;)Ljava/lang/String;
.registers 2
.param p0, "x0" # Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;
.param p1, "x1" # Ljava/lang/String;
.line 1637
iput-object p1, p0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->language:Ljava/lang/String;
return-object p1
.end method
.method private getHdrStaticInfo()[B
.registers 6
.line 1975
iget v0, p0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->primaryRChromaticityX:F
const/high16 v1, -0x40800000 # -1.0f
cmpl-float v0, v0, v1
if-eqz v0, :cond_be
iget v0, p0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->primaryRChromaticityY:F
cmpl-float v0, v0, v1
if-eqz v0, :cond_be
iget v0, p0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->primaryGChromaticityX:F
cmpl-float v0, v0, v1
if-eqz v0, :cond_be
iget v0, p0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->primaryGChromaticityY:F
cmpl-float v0, v0, v1
if-eqz v0, :cond_be
iget v0, p0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->primaryBChromaticityX:F
cmpl-float v0, v0, v1
if-eqz v0, :cond_be
iget v0, p0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->primaryBChromaticityY:F
cmpl-float v0, v0, v1
if-eqz v0, :cond_be
iget v0, p0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->whitePointChromaticityX:F
cmpl-float v0, v0, v1
if-eqz v0, :cond_be
iget v0, p0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->whitePointChromaticityY:F
cmpl-float v0, v0, v1
if-eqz v0, :cond_be
iget v0, p0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->maxMasteringLuminance:F
cmpl-float v0, v0, v1
if-eqz v0, :cond_be
iget v0, p0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->minMasteringLuminance:F
cmpl-float v0, v0, v1
if-nez v0, :cond_40
goto/16 :goto_be
.line 1984
:cond_40
const/16 v0, 0x19
new-array v0, v0, [B
.line 1985
.local v0, "hdrStaticInfoData":[B
invoke-static {v0}, Ljava/nio/ByteBuffer;->wrap([B)Ljava/nio/ByteBuffer;
move-result-object v1
.line 1986
.local v1, "hdrStaticInfo":Ljava/nio/ByteBuffer;
const/4 v2, 0x0
invoke-virtual {v1, v2}, Ljava/nio/ByteBuffer;->put(B)Ljava/nio/ByteBuffer;
.line 1987
iget v2, p0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->primaryRChromaticityX:F
const v3, 0x47435000 # 50000.0f
mul-float v2, v2, v3
const/high16 v4, 0x3f000000 # 0.5f
add-float/2addr v2, v4
float-to-int v2, v2
int-to-short v2, v2
invoke-virtual {v1, v2}, Ljava/nio/ByteBuffer;->putShort(S)Ljava/nio/ByteBuffer;
.line 1988
iget v2, p0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->primaryRChromaticityY:F
mul-float v2, v2, v3
add-float/2addr v2, v4
float-to-int v2, v2
int-to-short v2, v2
invoke-virtual {v1, v2}, Ljava/nio/ByteBuffer;->putShort(S)Ljava/nio/ByteBuffer;
.line 1989
iget v2, p0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->primaryGChromaticityX:F
mul-float v2, v2, v3
add-float/2addr v2, v4
float-to-int v2, v2
int-to-short v2, v2
invoke-virtual {v1, v2}, Ljava/nio/ByteBuffer;->putShort(S)Ljava/nio/ByteBuffer;
.line 1990
iget v2, p0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->primaryGChromaticityY:F
mul-float v2, v2, v3
add-float/2addr v2, v4
float-to-int v2, v2
int-to-short v2, v2
invoke-virtual {v1, v2}, Ljava/nio/ByteBuffer;->putShort(S)Ljava/nio/ByteBuffer;
.line 1991
iget v2, p0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->primaryBChromaticityX:F
mul-float v2, v2, v3
add-float/2addr v2, v4
float-to-int v2, v2
int-to-short v2, v2
invoke-virtual {v1, v2}, Ljava/nio/ByteBuffer;->putShort(S)Ljava/nio/ByteBuffer;
.line 1992
iget v2, p0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->primaryBChromaticityY:F
mul-float v2, v2, v3
add-float/2addr v2, v4
float-to-int v2, v2
int-to-short v2, v2
invoke-virtual {v1, v2}, Ljava/nio/ByteBuffer;->putShort(S)Ljava/nio/ByteBuffer;
.line 1993
iget v2, p0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->whitePointChromaticityX:F
mul-float v2, v2, v3
add-float/2addr v2, v4
float-to-int v2, v2
int-to-short v2, v2
invoke-virtual {v1, v2}, Ljava/nio/ByteBuffer;->putShort(S)Ljava/nio/ByteBuffer;
.line 1994
iget v2, p0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->whitePointChromaticityY:F
mul-float v2, v2, v3
add-float/2addr v2, v4
float-to-int v2, v2
int-to-short v2, v2
invoke-virtual {v1, v2}, Ljava/nio/ByteBuffer;->putShort(S)Ljava/nio/ByteBuffer;
.line 1995
iget v2, p0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->maxMasteringLuminance:F
add-float/2addr v2, v4
float-to-int v2, v2
int-to-short v2, v2
invoke-virtual {v1, v2}, Ljava/nio/ByteBuffer;->putShort(S)Ljava/nio/ByteBuffer;
.line 1996
iget v2, p0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->minMasteringLuminance:F
add-float/2addr v2, v4
float-to-int v2, v2
int-to-short v2, v2
invoke-virtual {v1, v2}, Ljava/nio/ByteBuffer;->putShort(S)Ljava/nio/ByteBuffer;
.line 1997
iget v2, p0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->maxContentLuminance:I
int-to-short v2, v2
invoke-virtual {v1, v2}, Ljava/nio/ByteBuffer;->putShort(S)Ljava/nio/ByteBuffer;
.line 1998
iget v2, p0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->maxFrameAverageLuminance:I
int-to-short v2, v2
invoke-virtual {v1, v2}, Ljava/nio/ByteBuffer;->putShort(S)Ljava/nio/ByteBuffer;
.line 1999
return-object v0
.line 1981
.end local v0 # "hdrStaticInfoData":[B
.end local v1 # "hdrStaticInfo":Ljava/nio/ByteBuffer;
:cond_be
:goto_be
const/4 v0, 0x0
return-object v0
.end method
.method private static parseFourCcPrivate(Lcom/google/android/exoplayer2/util/ParsableByteArray;)Landroid/util/Pair;
.registers 10
.param p0, "buffer" # Lcom/google/android/exoplayer2/util/ParsableByteArray;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/android/exoplayer2/util/ParsableByteArray;",
")",
"Landroid/util/Pair<",
"Ljava/lang/String;",
"Ljava/util/List<",
"[B>;>;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/android/exoplayer2/ParserException;
}
.end annotation
.line 2015
const/16 v0, 0x10
:try_start_2
invoke-virtual {p0, v0}, Lcom/google/android/exoplayer2/util/ParsableByteArray;->skipBytes(I)V
.line 2016
invoke-virtual {p0}, Lcom/google/android/exoplayer2/util/ParsableByteArray;->readLittleEndianUnsignedInt()J
move-result-wide v0
.line 2017
.local v0, "compression":J
const-wide/32 v2, 0x58564944
const/4 v4, 0x0
cmp-long v5, v0, v2
if-nez v5, :cond_1a
.line 2018
new-instance v2, Landroid/util/Pair;
const-string/jumbo v3, "video/3gpp"
invoke-direct {v2, v3, v4}, Landroid/util/Pair;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V
return-object v2
.line 2019
:cond_1a
const-wide/32 v2, 0x31435657
cmp-long v5, v0, v2
if-nez v5, :cond_65
.line 2022
invoke-virtual {p0}, Lcom/google/android/exoplayer2/util/ParsableByteArray;->getPosition()I
move-result v2
add-int/lit8 v2, v2, 0x14
.line 2023
.local v2, "startOffset":I
iget-object v3, p0, Lcom/google/android/exoplayer2/util/ParsableByteArray;->data:[B
.line 2024
.local v3, "bufferData":[B
move v4, v2
.local v4, "offset":I
:goto_2a
array-length v5, v3
add-int/lit8 v5, v5, -0x4
if-ge v4, v5, :cond_5d
.line 2025
aget-byte v5, v3, v4
if-nez v5, :cond_5a
add-int/lit8 v5, v4, 0x1
aget-byte v5, v3, v5
if-nez v5, :cond_5a
add-int/lit8 v5, v4, 0x2
aget-byte v5, v3, v5
const/4 v6, 0x1
if-ne v5, v6, :cond_5a
add-int/lit8 v5, v4, 0x3
aget-byte v5, v3, v5
const/16 v6, 0xf
if-ne v5, v6, :cond_5a
.line 2030
array-length v5, v3
invoke-static {v3, v4, v5}, Ljava/util/Arrays;->copyOfRange([BII)[B
move-result-object v5
.line 2031
.local v5, "initializationData":[B
new-instance v6, Landroid/util/Pair;
const-string/jumbo v7, "video/wvc1"
invoke-static {v5}, Ljava/util/Collections;->singletonList(Ljava/lang/Object;)Ljava/util/List;
move-result-object v8
invoke-direct {v6, v7, v8}, Landroid/util/Pair;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V
return-object v6
.line 2024
.end local v5 # "initializationData":[B
:cond_5a
add-int/lit8 v4, v4, 0x1
goto :goto_2a
.line 2034
.end local v4 # "offset":I
:cond_5d
new-instance v4, Lcom/google/android/exoplayer2/ParserException;
const-string v5, "Failed to find FourCC VC1 initialization data"
invoke-direct {v4, v5}, Lcom/google/android/exoplayer2/ParserException;-><init>(Ljava/lang/String;)V
.end local p0 # "buffer":Lcom/google/android/exoplayer2/util/ParsableByteArray;
throw v4
:try_end_65
.catch Ljava/lang/ArrayIndexOutOfBoundsException; {:try_start_2 .. :try_end_65} :catch_76
.line 2038
.end local v0 # "compression":J
.end local v2 # "startOffset":I
.end local v3 # "bufferData":[B
.restart local p0 # "buffer":Lcom/google/android/exoplayer2/util/ParsableByteArray;
:cond_65
nop
.line 2040
const-string v0, "MatroskaExtractor"
const-string v1, "Unknown FourCC. Setting mimeType to video/x-unknown"
invoke-static {v0, v1}, Lcom/google/android/exoplayer2/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)V
.line 2041
new-instance v0, Landroid/util/Pair;
const-string/jumbo v1, "video/x-unknown"
invoke-direct {v0, v1, v4}, Landroid/util/Pair;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V
return-object v0
.line 2036
:catch_76
move-exception v0
.line 2037
.local v0, "e":Ljava/lang/ArrayIndexOutOfBoundsException;
new-instance v1, Lcom/google/android/exoplayer2/ParserException;
const-string v2, "Error parsing FourCC private data"
invoke-direct {v1, v2}, Lcom/google/android/exoplayer2/ParserException;-><init>(Ljava/lang/String;)V
goto :goto_80
:goto_7f
throw v1
:goto_80
goto :goto_7f
.end method
.method private static parseMsAcmCodecPrivate(Lcom/google/android/exoplayer2/util/ParsableByteArray;)Z
.registers 9
.param p0, "buffer" # Lcom/google/android/exoplayer2/util/ParsableByteArray;
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/android/exoplayer2/ParserException;
}
.end annotation
.line 2103
:try_start_0
invoke-virtual {p0}, Lcom/google/android/exoplayer2/util/ParsableByteArray;->readLittleEndianUnsignedShort()I
move-result v0
.line 2104
.local v0, "formatTag":I
const/4 v1, 0x1
if-ne v0, v1, :cond_8
.line 2105
return v1
.line 2106
:cond_8
const v2, 0xfffe
const/4 v3, 0x0
if-ne v0, v2, :cond_36
.line 2107
const/16 v2, 0x18
invoke-virtual {p0, v2}, Lcom/google/android/exoplayer2/util/ParsableByteArray;->setPosition(I)V
.line 2108
invoke-virtual {p0}, Lcom/google/android/exoplayer2/util/ParsableByteArray;->readLong()J
move-result-wide v4
invoke-static {}, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor;->access$400()Ljava/util/UUID;
move-result-object v2
invoke-virtual {v2}, Ljava/util/UUID;->getMostSignificantBits()J
move-result-wide v6
cmp-long v2, v4, v6
if-nez v2, :cond_34
.line 2109
invoke-virtual {p0}, Lcom/google/android/exoplayer2/util/ParsableByteArray;->readLong()J
move-result-wide v4
invoke-static {}, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor;->access$400()Ljava/util/UUID;
move-result-object v2
invoke-virtual {v2}, Ljava/util/UUID;->getLeastSignificantBits()J
move-result-wide v6
:try_end_2f
.catch Ljava/lang/ArrayIndexOutOfBoundsException; {:try_start_0 .. :try_end_2f} :catch_37
cmp-long v2, v4, v6
if-nez v2, :cond_34
goto :goto_35
:cond_34
const/4 v1, 0x0
.line 2108
:goto_35
return v1
.line 2111
:cond_36
return v3
.line 2113
.end local v0 # "formatTag":I
:catch_37
move-exception v0
.line 2114
.local v0, "e":Ljava/lang/ArrayIndexOutOfBoundsException;
new-instance v1, Lcom/google/android/exoplayer2/ParserException;
const-string v2, "Error parsing MS/ACM codec private"
invoke-direct {v1, v2}, Lcom/google/android/exoplayer2/ParserException;-><init>(Ljava/lang/String;)V
throw v1
.end method
.method private static parseVorbisCodecPrivate([B)Ljava/util/List;
.registers 10
.param p0, "codecPrivate" # [B
.annotation system Ldalvik/annotation/Signature;
value = {
"([B)",
"Ljava/util/List<",
"[B>;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/android/exoplayer2/ParserException;
}
.end annotation
.line 2053
const-string v0, "Error parsing vorbis codec private"
const/4 v1, 0x0
:try_start_3
aget-byte v2, p0, v1
const/4 v3, 0x2
if-ne v2, v3, :cond_65
.line 2056
const/4 v2, 0x1
.line 2057
.local v2, "offset":I
const/4 v4, 0x0
.line 2058
.local v4, "vorbisInfoLength":I
:goto_a
aget-byte v5, p0, v2
const/4 v6, -0x1
if-ne v5, v6, :cond_14
.line 2059
add-int/lit16 v4, v4, 0xff
.line 2060
add-int/lit8 v2, v2, 0x1
goto :goto_a
.line 2062
:cond_14
add-int/lit8 v5, v2, 0x1
.end local v2 # "offset":I
.local v5, "offset":I
aget-byte v2, p0, v2
add-int/2addr v4, v2
.line 2064
const/4 v2, 0x0
.line 2065
.local v2, "vorbisSkipLength":I
:goto_1a
aget-byte v7, p0, v5
if-ne v7, v6, :cond_23
.line 2066
add-int/lit16 v2, v2, 0xff
.line 2067
add-int/lit8 v5, v5, 0x1
goto :goto_1a
.line 2069
:cond_23
add-int/lit8 v6, v5, 0x1
.end local v5 # "offset":I
.local v6, "offset":I
aget-byte v5, p0, v5
add-int/2addr v2, v5
.line 2071
aget-byte v5, p0, v6
const/4 v7, 0x1
if-ne v5, v7, :cond_5f
.line 2074
new-array v5, v4, [B
.line 2075
.local v5, "vorbisInfo":[B
invoke-static {p0, v6, v5, v1, v4}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 2076
add-int/2addr v6, v4
.line 2077
aget-byte v7, p0, v6
const/4 v8, 0x3
if-ne v7, v8, :cond_59
.line 2080
add-int/2addr v6, v2
.line 2081
aget-byte v7, p0, v6
const/4 v8, 0x5
if-ne v7, v8, :cond_53
.line 2084
array-length v7, p0
sub-int/2addr v7, v6
new-array v7, v7, [B
.line 2085
.local v7, "vorbisBooks":[B
array-length v8, p0
sub-int/2addr v8, v6
invoke-static {p0, v6, v7, v1, v8}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 2086
new-instance v1, Ljava/util/ArrayList;
invoke-direct {v1, v3}, Ljava/util/ArrayList;-><init>(I)V
.line 2087
.local v1, "initializationData":Ljava/util/List;, "Ljava/util/List<[B>;"
invoke-interface {v1, v5}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 2088
invoke-interface {v1, v7}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 2089
return-object v1
.line 2082
.end local v1 # "initializationData":Ljava/util/List;, "Ljava/util/List<[B>;"
.end local v7 # "vorbisBooks":[B
:cond_53
new-instance v1, Lcom/google/android/exoplayer2/ParserException;
invoke-direct {v1, v0}, Lcom/google/android/exoplayer2/ParserException;-><init>(Ljava/lang/String;)V
.end local p0 # "codecPrivate":[B
throw v1
.line 2078
.restart local p0 # "codecPrivate":[B
:cond_59
new-instance v1, Lcom/google/android/exoplayer2/ParserException;
invoke-direct {v1, v0}, Lcom/google/android/exoplayer2/ParserException;-><init>(Ljava/lang/String;)V
.end local p0 # "codecPrivate":[B
throw v1
.line 2072
.end local v5 # "vorbisInfo":[B
.restart local p0 # "codecPrivate":[B
:cond_5f
new-instance v1, Lcom/google/android/exoplayer2/ParserException;
invoke-direct {v1, v0}, Lcom/google/android/exoplayer2/ParserException;-><init>(Ljava/lang/String;)V
.end local p0 # "codecPrivate":[B
throw v1
.line 2054
.end local v2 # "vorbisSkipLength":I
.end local v4 # "vorbisInfoLength":I
.end local v6 # "offset":I
.restart local p0 # "codecPrivate":[B
:cond_65
new-instance v1, Lcom/google/android/exoplayer2/ParserException;
invoke-direct {v1, v0}, Lcom/google/android/exoplayer2/ParserException;-><init>(Ljava/lang/String;)V
.end local p0 # "codecPrivate":[B
throw v1
:try_end_6b
.catch Ljava/lang/ArrayIndexOutOfBoundsException; {:try_start_3 .. :try_end_6b} :catch_6b
.line 2090
.restart local p0 # "codecPrivate":[B
:catch_6b
move-exception v1
.line 2091
.local v1, "e":Ljava/lang/ArrayIndexOutOfBoundsException;
new-instance v2, Lcom/google/android/exoplayer2/ParserException;
invoke-direct {v2, v0}, Lcom/google/android/exoplayer2/ParserException;-><init>(Ljava/lang/String;)V
goto :goto_73
:goto_72
throw v2
:goto_73
goto :goto_72
.end method
# virtual methods
.method public initializeOutput(Lcom/google/android/exoplayer2/extractor/ExtractorOutput;I)V
.registers 31
.param p1, "output" # Lcom/google/android/exoplayer2/extractor/ExtractorOutput;
.param p2, "trackId" # I
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/android/exoplayer2/ParserException;
}
.end annotation
.line 1716
move-object/from16 v0, p0
const/4 v1, -0x1
.line 1717
.local v1, "maxInputSize":I
const/4 v2, -0x1
.line 1718
.local v2, "pcmEncoding":I
const/4 v3, 0x0
.line 1719
.local v3, "initializationData":Ljava/util/List;, "Ljava/util/List<[B>;"
iget-object v4, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->codecId:Ljava/lang/String;
invoke-virtual {v4}, Ljava/lang/String;->hashCode()I
move-result v5
const/4 v6, 0x4
const/4 v7, 0x1
const/16 v8, 0x8
const/4 v9, 0x0
const/4 v10, 0x3
const/4 v11, 0x2
const/4 v12, -0x1
sparse-switch v5, :sswitch_data_4d6
:cond_16
goto/16 :goto_163
:sswitch_18
const-string v5, "A_OPUS"
invoke-virtual {v4, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_16
const/16 v4, 0xb
goto/16 :goto_164
:sswitch_24
const-string v5, "A_FLAC"
invoke-virtual {v4, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_16
const/16 v4, 0x15
goto/16 :goto_164
:sswitch_30
const-string v5, "A_EAC3"
invoke-virtual {v4, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_16
const/16 v4, 0x10
goto/16 :goto_164
:sswitch_3c
const-string v5, "V_MPEG2"
invoke-virtual {v4, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_16
const/4 v4, 0x2
goto/16 :goto_164
:sswitch_47
const-string v5, "S_TEXT/UTF8"
invoke-virtual {v4, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_16
const/16 v4, 0x18
goto/16 :goto_164
:sswitch_53
const-string v5, "V_MPEGH/ISO/HEVC"
invoke-virtual {v4, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_16
const/4 v4, 0x7
goto/16 :goto_164
:sswitch_5e
const-string v5, "S_TEXT/ASS"
invoke-virtual {v4, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_16
const/16 v4, 0x19
goto/16 :goto_164
:sswitch_6a
const-string v5, "A_PCM/INT/LIT"
invoke-virtual {v4, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_16
const/16 v4, 0x17
goto/16 :goto_164
:sswitch_76
const-string v5, "A_DTS/EXPRESS"
invoke-virtual {v4, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_16
const/16 v4, 0x13
goto/16 :goto_164
:sswitch_82
const-string v5, "V_THEORA"
invoke-virtual {v4, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_16
const/16 v4, 0x9
goto/16 :goto_164
:sswitch_8e
const-string v5, "S_HDMV/PGS"
invoke-virtual {v4, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_16
const/16 v4, 0x1b
goto/16 :goto_164
:sswitch_9a
const-string v5, "V_VP9"
invoke-virtual {v4, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_16
const/4 v4, 0x1
goto/16 :goto_164
:sswitch_a5
const-string v5, "V_VP8"
invoke-virtual {v4, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_16
const/4 v4, 0x0
goto/16 :goto_164
:sswitch_b0
const-string v5, "A_DTS"
invoke-virtual {v4, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_16
const/16 v4, 0x12
goto/16 :goto_164
:sswitch_bc
const-string v5, "A_AC3"
invoke-virtual {v4, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_16
const/16 v4, 0xf
goto/16 :goto_164
:sswitch_c8
const-string v5, "A_AAC"
invoke-virtual {v4, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_16
const/16 v4, 0xc
goto/16 :goto_164
:sswitch_d4
const-string v5, "A_DTS/LOSSLESS"
invoke-virtual {v4, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_16
const/16 v4, 0x14
goto/16 :goto_164
:sswitch_e0
const-string v5, "S_VOBSUB"
invoke-virtual {v4, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_16
const/16 v4, 0x1a
goto/16 :goto_164
:sswitch_ec
const-string v5, "V_MPEG4/ISO/AVC"
invoke-virtual {v4, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_16
const/4 v4, 0x6
goto/16 :goto_164
:sswitch_f7
const-string v5, "V_MPEG4/ISO/ASP"
invoke-virtual {v4, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_16
const/4 v4, 0x4
goto/16 :goto_164
:sswitch_102
const-string v5, "S_DVBSUB"
invoke-virtual {v4, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_16
const/16 v4, 0x1c
goto :goto_164
:sswitch_10d
const-string v5, "V_MS/VFW/FOURCC"
invoke-virtual {v4, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_16
const/16 v4, 0x8
goto :goto_164
:sswitch_118
const-string v5, "A_MPEG/L3"
invoke-virtual {v4, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_16
const/16 v4, 0xe
goto :goto_164
:sswitch_123
const-string v5, "A_MPEG/L2"
invoke-virtual {v4, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_16
const/16 v4, 0xd
goto :goto_164
:sswitch_12e
const-string v5, "A_VORBIS"
invoke-virtual {v4, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_16
const/16 v4, 0xa
goto :goto_164
:sswitch_139
const-string v5, "A_TRUEHD"
invoke-virtual {v4, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_16
const/16 v4, 0x11
goto :goto_164
:sswitch_144
const-string v5, "A_MS/ACM"
invoke-virtual {v4, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_16
const/16 v4, 0x16
goto :goto_164
:sswitch_14f
const-string v5, "V_MPEG4/ISO/SP"
invoke-virtual {v4, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_16
const/4 v4, 0x3
goto :goto_164
:sswitch_159
const-string v5, "V_MPEG4/ISO/AP"
invoke-virtual {v4, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_16
const/4 v4, 0x5
goto :goto_164
:goto_163
const/4 v4, -0x1
:goto_164
const-string v5, ". Setting mimeType to "
const-string v13, "Unsupported PCM bit depth: "
const-string v14, "MatroskaExtractor"
packed-switch v4, :pswitch_data_54c
.line 1851
move-object/from16 v9, p1
new-instance v4, Lcom/google/android/exoplayer2/ParserException;
const-string v5, "Unrecognized codec identifier."
invoke-direct {v4, v5}, Lcom/google/android/exoplayer2/ParserException;-><init>(Ljava/lang/String;)V
throw v4
.line 1845
:pswitch_177
const-string v4, "application/dvbsubs"
.line 1847
.local v4, "mimeType":Ljava/lang/String;
new-array v5, v6, [B
iget-object v6, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->codecPrivate:[B
aget-byte v8, v6, v9
aput-byte v8, v5, v9
aget-byte v8, v6, v7
aput-byte v8, v5, v7
aget-byte v7, v6, v11
aput-byte v7, v5, v11
aget-byte v6, v6, v10
aput-byte v6, v5, v10
invoke-static {v5}, Ljava/util/Collections;->singletonList(Ljava/lang/Object;)Ljava/util/List;
move-result-object v3
.line 1849
goto/16 :goto_30a
.line 1842
.end local v4 # "mimeType":Ljava/lang/String;
:pswitch_193
const-string v4, "application/pgs"
.line 1843
.restart local v4 # "mimeType":Ljava/lang/String;
goto/16 :goto_30a
.line 1838
.end local v4 # "mimeType":Ljava/lang/String;
:pswitch_197
const-string v4, "application/vobsub"
.line 1839
.restart local v4 # "mimeType":Ljava/lang/String;
iget-object v5, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->codecPrivate:[B
invoke-static {v5}, Ljava/util/Collections;->singletonList(Ljava/lang/Object;)Ljava/util/List;
move-result-object v3
.line 1840
goto/16 :goto_30a
.line 1835
.end local v4 # "mimeType":Ljava/lang/String;
:pswitch_1a1
const-string/jumbo v4, "text/x-ssa"
.line 1836
.restart local v4 # "mimeType":Ljava/lang/String;
goto/16 :goto_30a
.line 1832
.end local v4 # "mimeType":Ljava/lang/String;
:pswitch_1a6
const-string v4, "application/x-subrip"
.line 1833
.restart local v4 # "mimeType":Ljava/lang/String;
goto/16 :goto_30a
.line 1822
.end local v4 # "mimeType":Ljava/lang/String;
:pswitch_1aa
const-string v4, "audio/raw"
.line 1823
.restart local v4 # "mimeType":Ljava/lang/String;
iget v6, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->audioBitDepth:I
invoke-static {v6}, Lcom/google/android/exoplayer2/util/Util;->getPcmEncoding(I)I
move-result v2
.line 1824
if-nez v2, :cond_30a
.line 1825
const/4 v2, -0x1
.line 1826
const-string v4, "audio/x-unknown"
.line 1827
new-instance v6, Ljava/lang/StringBuilder;
invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v6, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget v7, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->audioBitDepth:I
invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v6, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v6, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v5
invoke-static {v14, v5}, Lcom/google/android/exoplayer2/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)V
goto/16 :goto_30a
.line 1807
.end local v4 # "mimeType":Ljava/lang/String;
:pswitch_1d3
const-string v4, "audio/raw"
.line 1808
.restart local v4 # "mimeType":Ljava/lang/String;
new-instance v6, Lcom/google/android/exoplayer2/util/ParsableByteArray;
iget-object v7, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->codecPrivate:[B
invoke-direct {v6, v7}, Lcom/google/android/exoplayer2/util/ParsableByteArray;-><init>([B)V
invoke-static {v6}, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->parseMsAcmCodecPrivate(Lcom/google/android/exoplayer2/util/ParsableByteArray;)Z
move-result v6
if-eqz v6, :cond_209
.line 1809
iget v6, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->audioBitDepth:I
invoke-static {v6}, Lcom/google/android/exoplayer2/util/Util;->getPcmEncoding(I)I
move-result v2
.line 1810
if-nez v2, :cond_30a
.line 1811
const/4 v2, -0x1
.line 1812
const-string v4, "audio/x-unknown"
.line 1813
new-instance v6, Ljava/lang/StringBuilder;
invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v6, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget v7, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->audioBitDepth:I
invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v6, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v6, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v5
invoke-static {v14, v5}, Lcom/google/android/exoplayer2/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)V
goto/16 :goto_30a
.line 1817
:cond_209
const-string v4, "audio/x-unknown"
.line 1818
new-instance v5, Ljava/lang/StringBuilder;
invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
const-string v6, "Non-PCM MS/ACM is unsupported. Setting mimeType to "
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v5
invoke-static {v14, v5}, Lcom/google/android/exoplayer2/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)V
.line 1820
goto/16 :goto_30a
.line 1803
.end local v4 # "mimeType":Ljava/lang/String;
:pswitch_221
const-string v4, "audio/flac"
.line 1804
.restart local v4 # "mimeType":Ljava/lang/String;
iget-object v5, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->codecPrivate:[B
invoke-static {v5}, Ljava/util/Collections;->singletonList(Ljava/lang/Object;)Ljava/util/List;
move-result-object v3
.line 1805
goto/16 :goto_30a
.line 1800
.end local v4 # "mimeType":Ljava/lang/String;
:pswitch_22b
const-string v4, "audio/vnd.dts.hd"
.line 1801
.restart local v4 # "mimeType":Ljava/lang/String;
goto/16 :goto_30a
.line 1797
.end local v4 # "mimeType":Ljava/lang/String;
:pswitch_22f
const-string v4, "audio/vnd.dts"
.line 1798
.restart local v4 # "mimeType":Ljava/lang/String;
goto/16 :goto_30a
.line 1792
.end local v4 # "mimeType":Ljava/lang/String;
:pswitch_233
const-string v4, "audio/true-hd"
.line 1793
.restart local v4 # "mimeType":Ljava/lang/String;
new-instance v5, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$TrueHdSampleRechunker;
invoke-direct {v5}, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$TrueHdSampleRechunker;-><init>()V
iput-object v5, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->trueHdSampleRechunker:Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$TrueHdSampleRechunker;
.line 1794
goto/16 :goto_30a
.line 1789
.end local v4 # "mimeType":Ljava/lang/String;
:pswitch_23e
const-string v4, "audio/eac3"
.line 1790
.restart local v4 # "mimeType":Ljava/lang/String;
goto/16 :goto_30a
.line 1786
.end local v4 # "mimeType":Ljava/lang/String;
:pswitch_242
const-string v4, "audio/ac3"
.line 1787
.restart local v4 # "mimeType":Ljava/lang/String;
goto/16 :goto_30a
.line 1782
.end local v4 # "mimeType":Ljava/lang/String;
:pswitch_246
const-string v4, "audio/mpeg"
.line 1783
.restart local v4 # "mimeType":Ljava/lang/String;
const/16 v1, 0x1000
.line 1784
goto/16 :goto_30a
.line 1778
.end local v4 # "mimeType":Ljava/lang/String;
:pswitch_24c
const-string v4, "audio/mpeg-L2"
.line 1779
.restart local v4 # "mimeType":Ljava/lang/String;
const/16 v1, 0x1000
.line 1780
goto/16 :goto_30a
.line 1774
.end local v4 # "mimeType":Ljava/lang/String;
:pswitch_252
const-string v4, "audio/mp4a-latm"
.line 1775
.restart local v4 # "mimeType":Ljava/lang/String;
iget-object v5, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->codecPrivate:[B
invoke-static {v5}, Ljava/util/Collections;->singletonList(Ljava/lang/Object;)Ljava/util/List;
move-result-object v3
.line 1776
goto/16 :goto_30a
.line 1764
.end local v4 # "mimeType":Ljava/lang/String;
:pswitch_25c
const-string v4, "audio/opus"
.line 1765
.restart local v4 # "mimeType":Ljava/lang/String;
const/16 v1, 0x1680
.line 1766
new-instance v5, Ljava/util/ArrayList;
invoke-direct {v5, v10}, Ljava/util/ArrayList;-><init>(I)V
move-object v3, v5
.line 1767
iget-object v5, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->codecPrivate:[B
invoke-interface {v3, v5}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 1768
nop
.line 1769
invoke-static {v8}, Ljava/nio/ByteBuffer;->allocate(I)Ljava/nio/ByteBuffer;
move-result-object v5
invoke-static {}, Ljava/nio/ByteOrder;->nativeOrder()Ljava/nio/ByteOrder;
move-result-object v6
invoke-virtual {v5, v6}, Ljava/nio/ByteBuffer;->order(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
move-result-object v5
iget-wide v6, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->codecDelayNs:J
invoke-virtual {v5, v6, v7}, Ljava/nio/ByteBuffer;->putLong(J)Ljava/nio/ByteBuffer;
move-result-object v5
invoke-virtual {v5}, Ljava/nio/ByteBuffer;->array()[B
move-result-object v5
.line 1768
invoke-interface {v3, v5}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 1770
nop
.line 1771
invoke-static {v8}, Ljava/nio/ByteBuffer;->allocate(I)Ljava/nio/ByteBuffer;
move-result-object v5
invoke-static {}, Ljava/nio/ByteOrder;->nativeOrder()Ljava/nio/ByteOrder;
move-result-object v6
invoke-virtual {v5, v6}, Ljava/nio/ByteBuffer;->order(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
move-result-object v5
iget-wide v6, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->seekPreRollNs:J
invoke-virtual {v5, v6, v7}, Ljava/nio/ByteBuffer;->putLong(J)Ljava/nio/ByteBuffer;
move-result-object v5
invoke-virtual {v5}, Ljava/nio/ByteBuffer;->array()[B
move-result-object v5
.line 1770
invoke-interface {v3, v5}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 1772
goto :goto_30a
.line 1759
.end local v4 # "mimeType":Ljava/lang/String;
:pswitch_2a0
const-string v4, "audio/vorbis"
.line 1760
.restart local v4 # "mimeType":Ljava/lang/String;
const/16 v1, 0x2000
.line 1761
iget-object v5, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->codecPrivate:[B
invoke-static {v5}, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->parseVorbisCodecPrivate([B)Ljava/util/List;
move-result-object v3
.line 1762
goto :goto_30a
.line 1756
.end local v4 # "mimeType":Ljava/lang/String;
:pswitch_2ab
const-string/jumbo v4, "video/x-unknown"
.line 1757
.restart local v4 # "mimeType":Ljava/lang/String;
goto :goto_30a
.line 1749
.end local v4 # "mimeType":Ljava/lang/String;
:pswitch_2af
new-instance v4, Lcom/google/android/exoplayer2/util/ParsableByteArray;
iget-object v5, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->codecPrivate:[B
invoke-direct {v4, v5}, Lcom/google/android/exoplayer2/util/ParsableByteArray;-><init>([B)V
invoke-static {v4}, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->parseFourCcPrivate(Lcom/google/android/exoplayer2/util/ParsableByteArray;)Landroid/util/Pair;
move-result-object v4
.line 1750
.local v4, "pair":Landroid/util/Pair;, "Landroid/util/Pair<Ljava/lang/String;Ljava/util/List<[B>;>;"
iget-object v5, v4, Landroid/util/Pair;->first:Ljava/lang/Object;
check-cast v5, Ljava/lang/String;
.line 1751
.local v5, "mimeType":Ljava/lang/String;
iget-object v6, v4, Landroid/util/Pair;->second:Ljava/lang/Object;
move-object v3, v6
check-cast v3, Ljava/util/List;
.line 1752
move-object v4, v5
goto :goto_30a
.line 1743
.end local v4 # "pair":Landroid/util/Pair;, "Landroid/util/Pair<Ljava/lang/String;Ljava/util/List<[B>;>;"
.end local v5 # "mimeType":Ljava/lang/String;
:pswitch_2c5
const-string/jumbo v4, "video/hevc"
.line 1744
.local v4, "mimeType":Ljava/lang/String;
new-instance v5, Lcom/google/android/exoplayer2/util/ParsableByteArray;
iget-object v6, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->codecPrivate:[B
invoke-direct {v5, v6}, Lcom/google/android/exoplayer2/util/ParsableByteArray;-><init>([B)V
invoke-static {v5}, Lcom/google/android/exoplayer2/video/HevcConfig;->parse(Lcom/google/android/exoplayer2/util/ParsableByteArray;)Lcom/google/android/exoplayer2/video/HevcConfig;
move-result-object v5
.line 1745
.local v5, "hevcConfig":Lcom/google/android/exoplayer2/video/HevcConfig;
iget-object v3, v5, Lcom/google/android/exoplayer2/video/HevcConfig;->initializationData:Ljava/util/List;
.line 1746
iget v6, v5, Lcom/google/android/exoplayer2/video/HevcConfig;->nalUnitLengthFieldLength:I
iput v6, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->nalUnitLengthFieldLength:I
.line 1747
goto :goto_30a
.line 1737
.end local v4 # "mimeType":Ljava/lang/String;
.end local v5 # "hevcConfig":Lcom/google/android/exoplayer2/video/HevcConfig;
:pswitch_2da
const-string/jumbo v4, "video/avc"
.line 1738
.restart local v4 # "mimeType":Ljava/lang/String;
new-instance v5, Lcom/google/android/exoplayer2/util/ParsableByteArray;
iget-object v6, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->codecPrivate:[B
invoke-direct {v5, v6}, Lcom/google/android/exoplayer2/util/ParsableByteArray;-><init>([B)V
invoke-static {v5}, Lcom/google/android/exoplayer2/video/AvcConfig;->parse(Lcom/google/android/exoplayer2/util/ParsableByteArray;)Lcom/google/android/exoplayer2/video/AvcConfig;
move-result-object v5
.line 1739
.local v5, "avcConfig":Lcom/google/android/exoplayer2/video/AvcConfig;
iget-object v3, v5, Lcom/google/android/exoplayer2/video/AvcConfig;->initializationData:Ljava/util/List;
.line 1740
iget v6, v5, Lcom/google/android/exoplayer2/video/AvcConfig;->nalUnitLengthFieldLength:I
iput v6, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->nalUnitLengthFieldLength:I
.line 1741
goto :goto_30a
.line 1732
.end local v4 # "mimeType":Ljava/lang/String;
.end local v5 # "avcConfig":Lcom/google/android/exoplayer2/video/AvcConfig;
:pswitch_2ef
const-string/jumbo v4, "video/mp4v-es"
.line 1733
.restart local v4 # "mimeType":Ljava/lang/String;
iget-object v5, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->codecPrivate:[B
if-nez v5, :cond_2f8
const/4 v5, 0x0
goto :goto_2fc
.line 1734
:cond_2f8
invoke-static {v5}, Ljava/util/Collections;->singletonList(Ljava/lang/Object;)Ljava/util/List;
move-result-object v5
:goto_2fc
move-object v3, v5
.line 1735
goto :goto_30a
.line 1727
.end local v4 # "mimeType":Ljava/lang/String;
:pswitch_2fe
const-string/jumbo v4, "video/mpeg2"
.line 1728
.restart local v4 # "mimeType":Ljava/lang/String;
goto :goto_30a
.line 1724
.end local v4 # "mimeType":Ljava/lang/String;
:pswitch_302
const-string/jumbo v4, "video/x-vnd.on2.vp9"
.line 1725
.restart local v4 # "mimeType":Ljava/lang/String;
goto :goto_30a
.line 1721
.end local v4 # "mimeType":Ljava/lang/String;
:pswitch_306
const-string/jumbo v4, "video/x-vnd.on2.vp8"
.line 1722
.restart local v4 # "mimeType":Ljava/lang/String;
nop
.line 1856
:cond_30a
:goto_30a
const/4 v5, 0x0
.line 1857
.local v5, "selectionFlags":I
iget-boolean v6, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->flagDefault:Z
or-int/2addr v5, v6
.line 1858
iget-boolean v6, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->flagForced:Z
if-eqz v6, :cond_313
const/4 v9, 0x2
:cond_313
or-int/2addr v5, v9
.line 1861
invoke-static {v4}, Lcom/google/android/exoplayer2/util/MimeTypes;->isAudio(Ljava/lang/String;)Z
move-result v6
if-eqz v6, :cond_341
.line 1862
const/4 v6, 0x1
.line 1863
.local v6, "type":I
invoke-static/range {p2 .. p2}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
move-result-object v13
const/4 v15, 0x0
const/16 v16, -0x1
iget v7, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->channelCount:I
iget v8, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->sampleRate:I
iget-object v9, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->drmInitData:Lcom/google/android/exoplayer2/drm/DrmInitData;
iget-object v10, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->language:Ljava/lang/String;
move-object v14, v4
move/from16 v17, v1
move/from16 v18, v7
move/from16 v19, v8
move/from16 v20, v2
move-object/from16 v21, v3
move-object/from16 v22, v9
move/from16 v23, v5
move-object/from16 v24, v10
invoke-static/range {v13 .. v24}, Lcom/google/android/exoplayer2/Format;->createAudioSampleFormat(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IIIIILjava/util/List;Lcom/google/android/exoplayer2/drm/DrmInitData;ILjava/lang/String;)Lcom/google/android/exoplayer2/Format;
move-result-object v7
.local v7, "format":Lcom/google/android/exoplayer2/Format;
goto/16 :goto_4c7
.line 1866
.end local v6 # "type":I
.end local v7 # "format":Lcom/google/android/exoplayer2/Format;
:cond_341
invoke-static {v4}, Lcom/google/android/exoplayer2/util/MimeTypes;->isVideo(Ljava/lang/String;)Z
move-result v6
if-eqz v6, :cond_439
.line 1867
const/4 v6, 0x2
.line 1868
.restart local v6 # "type":I
iget v7, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->displayUnit:I
if-nez v7, :cond_35c
.line 1869
iget v7, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->displayWidth:I
if-ne v7, v12, :cond_352
iget v7, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->width:I
:cond_352
iput v7, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->displayWidth:I
.line 1870
iget v7, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->displayHeight:I
if-ne v7, v12, :cond_35a
iget v7, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->height:I
:cond_35a
iput v7, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->displayHeight:I
.line 1872
:cond_35c
const/high16 v7, -0x40800000 # -1.0f
.line 1873
.local v7, "pixelWidthHeightRatio":F
iget v8, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->displayWidth:I
if-eq v8, v12, :cond_372
iget v9, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->displayHeight:I
if-eq v9, v12, :cond_372
.line 1874
iget v10, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->height:I
mul-int v10, v10, v8
int-to-float v8, v10
iget v10, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->width:I
mul-int v10, v10, v9
int-to-float v9, v10
div-float v7, v8, v9
.line 1876
:cond_372
const/4 v8, 0x0
.line 1877
.local v8, "colorInfo":Lcom/google/android/exoplayer2/video/ColorInfo;
iget-boolean v9, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->hasColorInfo:Z
if-eqz v9, :cond_387
.line 1878
invoke-direct/range {p0 .. p0}, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->getHdrStaticInfo()[B
move-result-object v9
.line 1879
.local v9, "hdrStaticInfo":[B
new-instance v10, Lcom/google/android/exoplayer2/video/ColorInfo;
iget v11, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->colorSpace:I
iget v12, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->colorRange:I
iget v13, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->colorTransfer:I
invoke-direct {v10, v11, v12, v13, v9}, Lcom/google/android/exoplayer2/video/ColorInfo;-><init>(III[B)V
move-object v8, v10
.line 1881
.end local v9 # "hdrStaticInfo":[B
:cond_387
const/4 v9, -0x1
.line 1883
.local v9, "rotationDegrees":I
iget-object v10, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->name:Ljava/lang/String;
const-string v11, "htc_video_rotA-000"
invoke-virtual {v11, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v10
if-eqz v10, :cond_394
.line 1884
const/4 v9, 0x0
goto :goto_3ba
.line 1885
:cond_394
iget-object v10, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->name:Ljava/lang/String;
const-string v11, "htc_video_rotA-090"
invoke-virtual {v11, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v10
if-eqz v10, :cond_3a1
.line 1886
const/16 v9, 0x5a
goto :goto_3ba
.line 1887
:cond_3a1
iget-object v10, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->name:Ljava/lang/String;
const-string v11, "htc_video_rotA-180"
invoke-virtual {v11, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v10
if-eqz v10, :cond_3ae
.line 1888
const/16 v9, 0xb4
goto :goto_3ba
.line 1889
:cond_3ae
iget-object v10, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->name:Ljava/lang/String;
const-string v11, "htc_video_rotA-270"
invoke-virtual {v11, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v10
if-eqz v10, :cond_3ba
.line 1890
const/16 v9, 0x10e
.line 1892
:cond_3ba
:goto_3ba
iget v10, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->projectionType:I
if-nez v10, :cond_40a
iget v10, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->projectionPoseYaw:F
.line 1893
const/4 v11, 0x0
invoke-static {v10, v11}, Ljava/lang/Float;->compare(FF)I
move-result v10
if-nez v10, :cond_40a
iget v10, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->projectionPosePitch:F
.line 1894
invoke-static {v10, v11}, Ljava/lang/Float;->compare(FF)I
move-result v10
if-nez v10, :cond_40a
.line 1896
iget v10, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->projectionPoseRoll:F
invoke-static {v10, v11}, Ljava/lang/Float;->compare(FF)I
move-result v10
if-nez v10, :cond_3d9
.line 1897
const/4 v9, 0x0
goto :goto_40a
.line 1898
:cond_3d9
iget v10, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->projectionPosePitch:F
const/high16 v11, 0x42b40000 # 90.0f
invoke-static {v10, v11}, Ljava/lang/Float;->compare(FF)I
move-result v10
if-nez v10, :cond_3e6
.line 1899
const/16 v9, 0x5a
goto :goto_40a
.line 1900
:cond_3e6
iget v10, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->projectionPosePitch:F
const/high16 v11, -0x3ccc0000 # -180.0f
invoke-static {v10, v11}, Ljava/lang/Float;->compare(FF)I
move-result v10
if-eqz v10, :cond_408
iget v10, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->projectionPosePitch:F
const/high16 v11, 0x43340000 # 180.0f
.line 1901
invoke-static {v10, v11}, Ljava/lang/Float;->compare(FF)I
move-result v10
if-nez v10, :cond_3fb
goto :goto_408
.line 1903
:cond_3fb
iget v10, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->projectionPosePitch:F
const/high16 v11, -0x3d4c0000 # -90.0f
invoke-static {v10, v11}, Ljava/lang/Float;->compare(FF)I
move-result v10
if-nez v10, :cond_40a
.line 1904
const/16 v9, 0x10e
goto :goto_40a
.line 1902
:cond_408
:goto_408
const/16 v9, 0xb4
.line 1907
:cond_40a
:goto_40a
nop
.line 1909
invoke-static/range {p2 .. p2}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
move-result-object v13
const/16 v16, -0x1
iget v10, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->width:I
iget v11, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->height:I
const/high16 v20, -0x40800000 # -1.0f
iget-object v12, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->projectionData:[B
iget v14, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->stereoMode:I
iget-object v15, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->drmInitData:Lcom/google/android/exoplayer2/drm/DrmInitData;
.line 1908
move/from16 v25, v14
move-object v14, v4
move-object/from16 v27, v15
const/4 v15, 0x0
move/from16 v17, v1
move/from16 v18, v10
move/from16 v19, v11
move-object/from16 v21, v3
move/from16 v22, v9
move/from16 v23, v7
move-object/from16 v24, v12
move-object/from16 v26, v8
invoke-static/range {v13 .. v27}, Lcom/google/android/exoplayer2/Format;->createVideoSampleFormat(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IIIIFLjava/util/List;IF[BILcom/google/android/exoplayer2/video/ColorInfo;Lcom/google/android/exoplayer2/drm/DrmInitData;)Lcom/google/android/exoplayer2/Format;
move-result-object v7
.line 1924
.end local v8 # "colorInfo":Lcom/google/android/exoplayer2/video/ColorInfo;
.end local v9 # "rotationDegrees":I
.local v7, "format":Lcom/google/android/exoplayer2/Format;
goto/16 :goto_4c7
.end local v6 # "type":I
.end local v7 # "format":Lcom/google/android/exoplayer2/Format;
:cond_439
const-string v6, "application/x-subrip"
invoke-virtual {v6, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v6
if-eqz v6, :cond_450
.line 1925
const/4 v6, 0x3
.line 1926
.restart local v6 # "type":I
invoke-static/range {p2 .. p2}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
move-result-object v7
iget-object v8, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->language:Ljava/lang/String;
iget-object v9, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->drmInitData:Lcom/google/android/exoplayer2/drm/DrmInitData;
invoke-static {v7, v4, v5, v8, v9}, Lcom/google/android/exoplayer2/Format;->createTextSampleFormat(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Lcom/google/android/exoplayer2/drm/DrmInitData;)Lcom/google/android/exoplayer2/Format;
move-result-object v7
.restart local v7 # "format":Lcom/google/android/exoplayer2/Format;
goto/16 :goto_4c7
.line 1928
.end local v6 # "type":I
.end local v7 # "format":Lcom/google/android/exoplayer2/Format;
:cond_450
const-string/jumbo v6, "text/x-ssa"
invoke-virtual {v6, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v6
if-eqz v6, :cond_48c
.line 1929
const/4 v6, 0x3
.line 1930
.restart local v6 # "type":I
new-instance v7, Ljava/util/ArrayList;
invoke-direct {v7, v11}, Ljava/util/ArrayList;-><init>(I)V
move-object v3, v7
.line 1931
invoke-static {}, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor;->access$300()[B
move-result-object v7
invoke-interface {v3, v7}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 1932
iget-object v7, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->codecPrivate:[B
invoke-interface {v3, v7}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 1933
invoke-static/range {p2 .. p2}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
move-result-object v13
const/4 v15, 0x0
const/16 v16, -0x1
iget-object v7, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->language:Ljava/lang/String;
const/16 v19, -0x1
iget-object v8, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->drmInitData:Lcom/google/android/exoplayer2/drm/DrmInitData;
const-wide v21, 0x7fffffffffffffffL
move-object v14, v4
move/from16 v17, v5
move-object/from16 v18, v7
move-object/from16 v20, v8
move-object/from16 v23, v3
invoke-static/range {v13 .. v23}, Lcom/google/android/exoplayer2/Format;->createTextSampleFormat(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IILjava/lang/String;ILcom/google/android/exoplayer2/drm/DrmInitData;JLjava/util/List;)Lcom/google/android/exoplayer2/Format;
move-result-object v7
.restart local v7 # "format":Lcom/google/android/exoplayer2/Format;
goto :goto_4c7
.line 1936
.end local v6 # "type":I
.end local v7 # "format":Lcom/google/android/exoplayer2/Format;
:cond_48c
const-string v6, "application/vobsub"
invoke-virtual {v6, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v6
if-nez v6, :cond_4ad
.line 1937
const-string v6, "application/pgs"
invoke-virtual {v6, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v6
if-nez v6, :cond_4ad
.line 1938
const-string v6, "application/dvbsubs"
invoke-virtual {v6, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v6
if-eqz v6, :cond_4a5
goto :goto_4ad
.line 1951
:cond_4a5
new-instance v6, Lcom/google/android/exoplayer2/ParserException;
const-string v7, "Unexpected MIME type."
invoke-direct {v6, v7}, Lcom/google/android/exoplayer2/ParserException;-><init>(Ljava/lang/String;)V
throw v6
.line 1939
:cond_4ad
:goto_4ad
const/4 v6, 0x3
.line 1940
.restart local v6 # "type":I
nop
.line 1942
invoke-static/range {p2 .. p2}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
move-result-object v13
const/4 v15, 0x0
const/16 v16, -0x1
iget-object v7, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->language:Ljava/lang/String;
iget-object v8, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->drmInitData:Lcom/google/android/exoplayer2/drm/DrmInitData;
.line 1941
move-object v14, v4
move/from16 v17, v5
move-object/from16 v18, v3
move-object/from16 v19, v7
move-object/from16 v20, v8
invoke-static/range {v13 .. v20}, Lcom/google/android/exoplayer2/Format;->createImageSampleFormat(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IILjava/util/List;Ljava/lang/String;Lcom/google/android/exoplayer2/drm/DrmInitData;)Lcom/google/android/exoplayer2/Format;
move-result-object v7
.line 1954
.restart local v7 # "format":Lcom/google/android/exoplayer2/Format;
:goto_4c7
iget v8, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->number:I
move-object/from16 v9, p1
invoke-interface {v9, v8, v6}, Lcom/google/android/exoplayer2/extractor/ExtractorOutput;->track(II)Lcom/google/android/exoplayer2/extractor/TrackOutput;
move-result-object v8
iput-object v8, v0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->output:Lcom/google/android/exoplayer2/extractor/TrackOutput;
.line 1955
invoke-interface {v8, v7}, Lcom/google/android/exoplayer2/extractor/TrackOutput;->format(Lcom/google/android/exoplayer2/Format;)V
.line 1956
return-void
nop
:sswitch_data_4d6
.sparse-switch
-0x7ce7f5de -> :sswitch_159
-0x7ce7f3b0 -> :sswitch_14f
-0x76567dc0 -> :sswitch_144
-0x6a615338 -> :sswitch_139
-0x672350af -> :sswitch_12e
-0x585f4fce -> :sswitch_123
-0x585f4fcd -> :sswitch_118
-0x51dc40b2 -> :sswitch_10d
-0x37a9c464 -> :sswitch_102
-0x2016c535 -> :sswitch_f7
-0x2016c4e5 -> :sswitch_ec
-0x19552dbd -> :sswitch_e0
-0x1538b2ba -> :sswitch_d4
0x3c02325 -> :sswitch_c8
0x3c02353 -> :sswitch_bc
0x3c030c5 -> :sswitch_b0
0x4e86155 -> :sswitch_a5
0x4e86156 -> :sswitch_9a
0x5e8da3e -> :sswitch_8e
0x1a8350d6 -> :sswitch_82
0x2056f406 -> :sswitch_76
0x2b453ce4 -> :sswitch_6a
0x2c0618eb -> :sswitch_5e
0x32fdf009 -> :sswitch_53
0x54c61e47 -> :sswitch_47
0x6bd6c624 -> :sswitch_3c
0x7446132a -> :sswitch_30
0x7446b0a6 -> :sswitch_24
0x744ad97d -> :sswitch_18
.end sparse-switch
:pswitch_data_54c
.packed-switch 0x0
:pswitch_306
:pswitch_302
:pswitch_2fe
:pswitch_2ef
:pswitch_2ef
:pswitch_2ef
:pswitch_2da
:pswitch_2c5
:pswitch_2af
:pswitch_2ab
:pswitch_2a0
:pswitch_25c
:pswitch_252
:pswitch_24c
:pswitch_246
:pswitch_242
:pswitch_23e
:pswitch_233
:pswitch_22f
:pswitch_22f
:pswitch_22b
:pswitch_221
:pswitch_1d3
:pswitch_1aa
:pswitch_1a6
:pswitch_1a1
:pswitch_197
:pswitch_193
:pswitch_177
.end packed-switch
.end method
.method public outputPendingSampleMetadata()V
.registers 2
.line 1960
iget-object v0, p0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->trueHdSampleRechunker:Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$TrueHdSampleRechunker;
if-eqz v0, :cond_7
.line 1961
invoke-virtual {v0, p0}, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$TrueHdSampleRechunker;->outputPendingSampleMetadata(Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;)V
.line 1963
:cond_7
return-void
.end method
.method public reset()V
.registers 2
.line 1967
iget-object v0, p0, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->trueHdSampleRechunker:Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$TrueHdSampleRechunker;
if-eqz v0, :cond_7
.line 1968
invoke-virtual {v0}, Lcom/google/android/exoplayer2/extractor/mkv/MatroskaExtractor$TrueHdSampleRechunker;->reset()V
.line 1970
:cond_7
return-void
.end method