Add Discord APKTool decompilation (Smali source for modding)

- Imported from https://github.com/supermegamestre/Project-Real-Resurrection-3
- APKTool decompilation (Smali bytecode) for modding and rebuilding APK
- Supports both 32-bit (armeabi-v7a) and 64-bit (arm64-v8a) architectures
- Includes full Smali source, resources, and native libraries
- Ready to rebuild APK after modifications with apktool b command
- Added comprehensive README-apktool.md with modding guide

This branch complements the JADX branches:
- Use JADX (main/discord-community) to UNDERSTAND code (readable Java)
- Use APKTool (this branch) to MODIFY and REBUILD APK (editable Smali)

Total: 44,417 files, 538.51 MB Smali source code
This commit is contained in:
2026-02-18 16:13:44 -08:00
parent c080f0d97f
commit f3960ee359
44288 changed files with 10998761 additions and 0 deletions

View File

@@ -0,0 +1,247 @@
.class public final Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ChunkIndex;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap;
# instance fields
.field private final durationUs:J
.field public final durationsUs:[J
.field public final length:I
.field public final offsets:[J
.field public final sizes:[I
.field public final timesUs:[J
# direct methods
.method public constructor <init>([I[J[J[J)V
.locals 2
.line 28
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ChunkIndex;->sizes:[I
iput-object p2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ChunkIndex;->offsets:[J
iput-object p3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ChunkIndex;->durationsUs:[J
iput-object p4, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ChunkIndex;->timesUs:[J
.line 33
array-length p1, p1
iput p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ChunkIndex;->length:I
if-lez p1, :cond_0
add-int/lit8 p2, p1, -0x1
.line 35
aget-wide p2, p3, p2
add-int/lit8 p1, p1, -0x1
aget-wide v0, p4, p1
add-long/2addr p2, v0
iput-wide p2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ChunkIndex;->durationUs:J
goto :goto_0
:cond_0
const-wide/16 p1, 0x0
iput-wide p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ChunkIndex;->durationUs:J
:goto_0
return-void
.end method
# virtual methods
.method public final getChunkIndex(J)I
.locals 2
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ChunkIndex;->timesUs:[J
const/4 v1, 0x1
.line 43
invoke-static {v0, p1, p2, v1, v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/Util;->binarySearchFloor([JJZZ)I
move-result p1
return p1
.end method
.method public final getDurationUs()J
.locals 2
iget-wide v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ChunkIndex;->durationUs:J
return-wide v0
.end method
.method public final getSeekPoints(J)Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$SeekPoints;
.locals 7
.line 60
invoke-virtual {p0, p1, p2}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ChunkIndex;->getChunkIndex(J)I
move-result v0
.line 61
new-instance v1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;
iget-object v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ChunkIndex;->timesUs:[J
aget-wide v3, v2, v0
iget-object v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ChunkIndex;->offsets:[J
aget-wide v5, v2, v0
invoke-direct {v1, v3, v4, v5, v6}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;-><init>(JJ)V
iget-wide v2, v1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;->timeUs:J
cmp-long p1, v2, p1
if-gez p1, :cond_1
iget p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ChunkIndex;->length:I
add-int/lit8 p1, p1, -0x1
if-ne v0, p1, :cond_0
goto :goto_0
.line 65
:cond_0
new-instance p1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;
iget-object p2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ChunkIndex;->timesUs:[J
add-int/lit8 v0, v0, 0x1
aget-wide v2, p2, v0
iget-object p2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ChunkIndex;->offsets:[J
aget-wide v4, p2, v0
invoke-direct {p1, v2, v3, v4, v5}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;-><init>(JJ)V
.line 66
new-instance p2, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$SeekPoints;
invoke-direct {p2, v1, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$SeekPoints;-><init>(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;)V
return-object p2
.line 63
:cond_1
:goto_0
new-instance p1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$SeekPoints;
invoke-direct {p1, v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$SeekPoints;-><init>(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;)V
return-object p1
.end method
.method public final isSeekable()Z
.locals 1
const/4 v0, 0x1
return v0
.end method
.method public final toString()Ljava/lang/String;
.locals 2
.line 72
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "ChunkIndex(length="
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ChunkIndex;->length:I
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v1, ", sizes="
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ChunkIndex;->sizes:[I
.line 76
invoke-static {v1}, Ljava/util/Arrays;->toString([I)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, ", offsets="
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ChunkIndex;->offsets:[J
.line 78
invoke-static {v1}, Ljava/util/Arrays;->toString([J)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, ", timeUs="
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ChunkIndex;->timesUs:[J
.line 80
invoke-static {v1}, Ljava/util/Arrays;->toString([J)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, ", durationsUs="
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ChunkIndex;->durationsUs:[J
.line 82
invoke-static {v1}, Ljava/util/Arrays;->toString([J)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, ")"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method

View File

@@ -0,0 +1,734 @@
.class public final Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorInput;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;
# static fields
.field private static final PEEK_MAX_FREE_SPACE:I = 0x80000
.field private static final PEEK_MIN_FREE_SPACE_AFTER_RESIZE:I = 0x10000
.field private static final SCRATCH_SPACE_SIZE:I = 0x1000
# instance fields
.field private final dataSource:Lcom/mbridge/msdk/playercommon/exoplayer2/upstream/DataSource;
.field private peekBuffer:[B
.field private peekBufferLength:I
.field private peekBufferPosition:I
.field private position:J
.field private final scratchSpace:[B
.field private final streamLength:J
# direct methods
.method public constructor <init>(Lcom/mbridge/msdk/playercommon/exoplayer2/upstream/DataSource;JJ)V
.locals 0
.line 29
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorInput;->dataSource:Lcom/mbridge/msdk/playercommon/exoplayer2/upstream/DataSource;
iput-wide p2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorInput;->position:J
iput-wide p4, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorInput;->streamLength:J
const/high16 p1, 0x10000
new-array p1, p1, [B
iput-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorInput;->peekBuffer:[B
const/16 p1, 0x1000
new-array p1, p1, [B
iput-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorInput;->scratchSpace:[B
return-void
.end method
.method private commitBytesRead(I)V
.locals 4
const/4 v0, -0x1
if-eq p1, v0, :cond_0
iget-wide v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorInput;->position:J
int-to-long v2, p1
add-long/2addr v0, v2
iput-wide v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorInput;->position:J
:cond_0
return-void
.end method
.method private ensureSpaceForPeek(I)V
.locals 3
iget v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorInput;->peekBufferPosition:I
add-int/2addr v0, p1
iget-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorInput;->peekBuffer:[B
.line 161
array-length v1, p1
if-le v0, v1, :cond_0
.line 162
array-length p1, p1
mul-int/lit8 p1, p1, 0x2
const/high16 v1, 0x10000
add-int/2addr v1, v0
const/high16 v2, 0x80000
add-int/2addr v0, v2
invoke-static {p1, v1, v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/Util;->constrainValue(III)I
move-result p1
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorInput;->peekBuffer:[B
.line 164
invoke-static {v0, p1}, Ljava/util/Arrays;->copyOf([BI)[B
move-result-object p1
iput-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorInput;->peekBuffer:[B
:cond_0
return-void
.end method
.method private readFromDataSource([BIIIZ)I
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/InterruptedException;,
Ljava/io/IOException;
}
.end annotation
.line 201
invoke-static {}, Ljava/lang/Thread;->interrupted()Z
move-result v0
if-nez v0, :cond_2
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorInput;->dataSource:Lcom/mbridge/msdk/playercommon/exoplayer2/upstream/DataSource;
add-int/2addr p2, p4
sub-int/2addr p3, p4
.line 204
invoke-interface {v0, p1, p2, p3}, Lcom/mbridge/msdk/playercommon/exoplayer2/upstream/DataSource;->read([BII)I
move-result p1
const/4 p2, -0x1
if-ne p1, p2, :cond_1
if-nez p4, :cond_0
if-eqz p5, :cond_0
return p2
.line 209
:cond_0
new-instance p1, Ljava/io/EOFException;
invoke-direct {p1}, Ljava/io/EOFException;-><init>()V
throw p1
:cond_1
add-int/2addr p4, p1
return p4
.line 202
:cond_2
new-instance p1, Ljava/lang/InterruptedException;
invoke-direct {p1}, Ljava/lang/InterruptedException;-><init>()V
throw p1
.end method
.method private readFromPeekBuffer([BII)I
.locals 2
iget v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorInput;->peekBufferLength:I
const/4 v1, 0x0
if-nez v0, :cond_0
return v1
.line 180
:cond_0
invoke-static {v0, p3}, Ljava/lang/Math;->min(II)I
move-result p3
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorInput;->peekBuffer:[B
.line 181
invoke-static {v0, v1, p1, p2, p3}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 182
invoke-direct {p0, p3}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorInput;->updatePeekBuffer(I)V
return p3
.end method
.method private skipFromPeekBuffer(I)I
.locals 1
iget v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorInput;->peekBufferLength:I
.line 170
invoke-static {v0, p1}, Ljava/lang/Math;->min(II)I
move-result p1
.line 171
invoke-direct {p0, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorInput;->updatePeekBuffer(I)V
return p1
.end method
.method private updatePeekBuffer(I)V
.locals 5
iget v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorInput;->peekBufferLength:I
sub-int/2addr v0, p1
iput v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorInput;->peekBufferLength:I
const/4 v1, 0x0
iput v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorInput;->peekBufferPosition:I
iget-object v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorInput;->peekBuffer:[B
.line 191
array-length v3, v2
const/high16 v4, 0x80000
sub-int/2addr v3, v4
if-ge v0, v3, :cond_0
const/high16 v3, 0x10000
add-int/2addr v3, v0
.line 192
new-array v3, v3, [B
goto :goto_0
:cond_0
move-object v3, v2
.line 194
:goto_0
invoke-static {v2, p1, v3, v1, v0}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
iput-object v3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorInput;->peekBuffer:[B
return-void
.end method
# virtual methods
.method public final advancePeekPosition(I)V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
const/4 v0, 0x0
.line 128
invoke-virtual {p0, p1, v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorInput;->advancePeekPosition(IZ)Z
return-void
.end method
.method public final advancePeekPosition(IZ)Z
.locals 7
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
.line 112
invoke-direct {p0, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorInput;->ensureSpaceForPeek(I)V
iget v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorInput;->peekBufferLength:I
iget v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorInput;->peekBufferPosition:I
sub-int/2addr v0, v1
.line 113
invoke-static {v0, p1}, Ljava/lang/Math;->min(II)I
move-result v0
move v5, v0
:cond_0
if-ge v5, p1, :cond_1
iget-object v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorInput;->peekBuffer:[B
iget v3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorInput;->peekBufferPosition:I
move-object v1, p0
move v4, p1
move v6, p2
.line 115
invoke-direct/range {v1 .. v6}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorInput;->readFromDataSource([BIIIZ)I
move-result v5
const/4 v0, -0x1
if-ne v5, v0, :cond_0
const/4 p1, 0x0
return p1
:cond_1
iget p2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorInput;->peekBufferPosition:I
add-int/2addr p2, p1
iput p2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorInput;->peekBufferPosition:I
iget p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorInput;->peekBufferLength:I
.line 122
invoke-static {p1, p2}, Ljava/lang/Math;->max(II)I
move-result p1
iput p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorInput;->peekBufferLength:I
const/4 p1, 0x1
return p1
.end method
.method public final getLength()J
.locals 2
iget-wide v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorInput;->streamLength:J
return-wide v0
.end method
.method public final getPeekPosition()J
.locals 4
iget-wide v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorInput;->position:J
iget v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorInput;->peekBufferPosition:I
int-to-long v2, v2
add-long/2addr v0, v2
return-wide v0
.end method
.method public final getPosition()J
.locals 2
iget-wide v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorInput;->position:J
return-wide v0
.end method
.method public final peekFully([BII)V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
const/4 v0, 0x0
.line 106
invoke-virtual {p0, p1, p2, p3, v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorInput;->peekFully([BIIZ)Z
return-void
.end method
.method public final peekFully([BIIZ)Z
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
.line 96
invoke-virtual {p0, p3, p4}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorInput;->advancePeekPosition(IZ)Z
move-result p4
if-nez p4, :cond_0
const/4 p1, 0x0
return p1
:cond_0
iget-object p4, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorInput;->peekBuffer:[B
iget v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorInput;->peekBufferPosition:I
sub-int/2addr v0, p3
.line 99
invoke-static {p4, v0, p1, p2, p3}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
const/4 p1, 0x1
return p1
.end method
.method public final read([BII)I
.locals 7
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
.line 39
invoke-direct {p0, p1, p2, p3}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorInput;->readFromPeekBuffer([BII)I
move-result v0
if-nez v0, :cond_0
const/4 v5, 0x0
const/4 v6, 0x1
move-object v1, p0
move-object v2, p1
move v3, p2
move v4, p3
.line 41
invoke-direct/range {v1 .. v6}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorInput;->readFromDataSource([BIIIZ)I
move-result v0
.line 43
:cond_0
invoke-direct {p0, v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorInput;->commitBytesRead(I)V
return v0
.end method
.method public final readFully([BII)V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
const/4 v0, 0x0
.line 61
invoke-virtual {p0, p1, p2, p3, v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorInput;->readFully([BIIZ)Z
return-void
.end method
.method public final readFully([BIIZ)Z
.locals 7
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
.line 50
invoke-direct {p0, p1, p2, p3}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorInput;->readFromPeekBuffer([BII)I
move-result v0
move v5, v0
:goto_0
const/4 v0, -0x1
if-ge v5, p3, :cond_0
if-eq v5, v0, :cond_0
move-object v1, p0
move-object v2, p1
move v3, p2
move v4, p3
move v6, p4
.line 52
invoke-direct/range {v1 .. v6}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorInput;->readFromDataSource([BIIIZ)I
move-result v5
goto :goto_0
.line 54
:cond_0
invoke-direct {p0, v5}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorInput;->commitBytesRead(I)V
if-eq v5, v0, :cond_1
const/4 p1, 0x1
goto :goto_1
:cond_1
const/4 p1, 0x0
:goto_1
return p1
.end method
.method public final resetPeekPosition()V
.locals 1
const/4 v0, 0x0
iput v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorInput;->peekBufferPosition:I
return-void
.end method
.method public final setRetryPosition(JLjava/lang/Throwable;)V
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"<E:",
"Ljava/lang/Throwable;",
">(JTE;)V^TE;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Throwable;
}
.end annotation
const-wide/16 v0, 0x0
cmp-long v0, p1, v0
if-ltz v0, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
.line 153
:goto_0
invoke-static {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/Assertions;->checkArgument(Z)V
iput-wide p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorInput;->position:J
.line 155
throw p3
.end method
.method public final skip(I)I
.locals 7
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
.line 66
invoke-direct {p0, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorInput;->skipFromPeekBuffer(I)I
move-result v0
if-nez v0, :cond_0
iget-object v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorInput;->scratchSpace:[B
const/4 v3, 0x0
.line 68
array-length v0, v2
.line 69
invoke-static {p1, v0}, Ljava/lang/Math;->min(II)I
move-result v4
const/4 v5, 0x0
const/4 v6, 0x1
move-object v1, p0
invoke-direct/range {v1 .. v6}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorInput;->readFromDataSource([BIIIZ)I
move-result v0
.line 71
:cond_0
invoke-direct {p0, v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorInput;->commitBytesRead(I)V
return v0
.end method
.method public final skipFully(I)V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
const/4 v0, 0x0
.line 90
invoke-virtual {p0, p1, v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorInput;->skipFully(IZ)Z
return-void
.end method
.method public final skipFully(IZ)Z
.locals 7
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
.line 78
invoke-direct {p0, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorInput;->skipFromPeekBuffer(I)I
move-result v0
move v5, v0
:goto_0
const/4 v0, -0x1
if-ge v5, p1, :cond_0
if-eq v5, v0, :cond_0
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorInput;->scratchSpace:[B
.line 80
array-length v0, v0
add-int/2addr v0, v5
invoke-static {p1, v0}, Ljava/lang/Math;->min(II)I
move-result v4
iget-object v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorInput;->scratchSpace:[B
neg-int v3, v5
move-object v1, p0
move v6, p2
.line 82
invoke-direct/range {v1 .. v6}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorInput;->readFromDataSource([BIIIZ)I
move-result v5
goto :goto_0
.line 84
:cond_0
invoke-direct {p0, v5}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorInput;->commitBytesRead(I)V
if-eq v5, v0, :cond_1
const/4 p1, 0x1
goto :goto_1
:cond_1
const/4 p1, 0x0
:goto_1
return p1
.end method

View File

@@ -0,0 +1,438 @@
.class public final Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorsFactory;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorsFactory;
# static fields
.field private static final FLAC_EXTRACTOR_CONSTRUCTOR:Ljava/lang/reflect/Constructor;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/reflect/Constructor<",
"+",
"Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/Extractor;",
">;"
}
.end annotation
.end field
# instance fields
.field private fragmentedMp4Flags:I
.field private matroskaFlags:I
.field private mp3Flags:I
.field private mp4Flags:I
.field private tsFlags:I
.field private tsMode:I
# direct methods
.method static constructor <clinit>()V
.locals 3
:try_start_0
const-string v0, "com.mbridge.msdk.playercommon.exoplayer2.ext.flac.FlacExtractor"
.line 30
invoke-static {v0}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v0
const-class v1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/Extractor;
.line 31
invoke-virtual {v0, v1}, Ljava/lang/Class;->asSubclass(Ljava/lang/Class;)Ljava/lang/Class;
move-result-object v0
const/4 v1, 0x0
new-array v1, v1, [Ljava/lang/Class;
.line 32
invoke-virtual {v0, v1}, Ljava/lang/Class;->getConstructor([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
move-result-object v0
:try_end_0
.catch Ljava/lang/ClassNotFoundException; {:try_start_0 .. :try_end_0} :catch_1
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
goto :goto_0
:catch_0
move-exception v0
.line 38
new-instance v1, Ljava/lang/RuntimeException;
const-string v2, "Error instantiating FLAC extension"
invoke-direct {v1, v2, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw v1
:catch_1
const/4 v0, 0x0
:goto_0
sput-object v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorsFactory;->FLAC_EXTRACTOR_CONSTRUCTOR:Ljava/lang/reflect/Constructor;
return-void
.end method
.method public constructor <init>()V
.locals 1
.line 50
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/4 v0, 0x1
iput v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorsFactory;->tsMode:I
return-void
.end method
# virtual methods
.method public final declared-synchronized createExtractors()[Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/Extractor;
.locals 7
monitor-enter p0
:try_start_0
sget-object v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorsFactory;->FLAC_EXTRACTOR_CONSTRUCTOR:Ljava/lang/reflect/Constructor;
const/16 v1, 0xc
if-nez v0, :cond_0
move v2, v1
goto :goto_0
:cond_0
const/16 v2, 0xd
.line 95
:goto_0
new-array v2, v2, [Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/Extractor;
.line 96
new-instance v3, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor;
iget v4, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorsFactory;->matroskaFlags:I
invoke-direct {v3, v4}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor;-><init>(I)V
const/4 v4, 0x0
aput-object v3, v2, v4
.line 97
new-instance v3, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FragmentedMp4Extractor;
iget v5, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorsFactory;->fragmentedMp4Flags:I
invoke-direct {v3, v5}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FragmentedMp4Extractor;-><init>(I)V
const/4 v5, 0x1
aput-object v3, v2, v5
.line 98
new-instance v3, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Mp4Extractor;
iget v5, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorsFactory;->mp4Flags:I
invoke-direct {v3, v5}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Mp4Extractor;-><init>(I)V
const/4 v5, 0x2
aput-object v3, v2, v5
.line 99
new-instance v3, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/Mp3Extractor;
iget v5, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorsFactory;->mp3Flags:I
invoke-direct {v3, v5}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/Mp3Extractor;-><init>(I)V
const/4 v5, 0x3
aput-object v3, v2, v5
.line 100
new-instance v3, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ts/AdtsExtractor;
invoke-direct {v3}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ts/AdtsExtractor;-><init>()V
const/4 v5, 0x4
aput-object v3, v2, v5
.line 101
new-instance v3, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ts/Ac3Extractor;
invoke-direct {v3}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ts/Ac3Extractor;-><init>()V
const/4 v5, 0x5
aput-object v3, v2, v5
.line 102
new-instance v3, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ts/TsExtractor;
iget v5, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorsFactory;->tsMode:I
iget v6, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorsFactory;->tsFlags:I
invoke-direct {v3, v5, v6}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ts/TsExtractor;-><init>(II)V
const/4 v5, 0x6
aput-object v3, v2, v5
.line 103
new-instance v3, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;
invoke-direct {v3}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;-><init>()V
const/4 v5, 0x7
aput-object v3, v2, v5
.line 104
new-instance v3, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggExtractor;
invoke-direct {v3}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggExtractor;-><init>()V
const/16 v5, 0x8
aput-object v3, v2, v5
.line 105
new-instance v3, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ts/PsExtractor;
invoke-direct {v3}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ts/PsExtractor;-><init>()V
const/16 v5, 0x9
aput-object v3, v2, v5
.line 106
new-instance v3, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/wav/WavExtractor;
invoke-direct {v3}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/wav/WavExtractor;-><init>()V
const/16 v5, 0xa
aput-object v3, v2, v5
.line 107
new-instance v3, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/amr/AmrExtractor;
invoke-direct {v3}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/amr/AmrExtractor;-><init>()V
const/16 v5, 0xb
aput-object v3, v2, v5
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
if-eqz v0, :cond_1
:try_start_1
new-array v3, v4, [Ljava/lang/Object;
.line 110
invoke-virtual {v0, v3}, Ljava/lang/reflect/Constructor;->newInstance([Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/Extractor;
aput-object v0, v2, v1
:try_end_1
.catch Ljava/lang/Exception; {:try_start_1 .. :try_end_1} :catch_0
.catchall {:try_start_1 .. :try_end_1} :catchall_0
goto :goto_1
:catchall_0
move-exception v0
goto :goto_2
:catch_0
move-exception v0
.line 113
:try_start_2
new-instance v1, Ljava/lang/IllegalStateException;
const-string v2, "Unexpected error creating FLAC extractor"
invoke-direct {v1, v2, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw v1
:try_end_2
.catchall {:try_start_2 .. :try_end_2} :catchall_0
.line 116
:cond_1
:goto_1
monitor-exit p0
return-object v2
:goto_2
monitor-exit p0
throw v0
.end method
.method public final declared-synchronized setFragmentedMp4ExtractorFlags(I)Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorsFactory;
.locals 0
monitor-enter p0
:try_start_0
iput p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorsFactory;->fragmentedMp4Flags:I
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 71
monitor-exit p0
return-object p0
:catchall_0
move-exception p1
monitor-exit p0
throw p1
.end method
.method public final declared-synchronized setMatroskaExtractorFlags(I)Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorsFactory;
.locals 0
monitor-enter p0
:try_start_0
iput p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorsFactory;->matroskaFlags:I
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 58
monitor-exit p0
return-object p0
:catchall_0
move-exception p1
monitor-exit p0
throw p1
.end method
.method public final declared-synchronized setMp3ExtractorFlags(I)Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorsFactory;
.locals 0
monitor-enter p0
:try_start_0
iput p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorsFactory;->mp3Flags:I
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 77
monitor-exit p0
return-object p0
:catchall_0
move-exception p1
monitor-exit p0
throw p1
.end method
.method public final declared-synchronized setMp4ExtractorFlags(I)Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorsFactory;
.locals 0
monitor-enter p0
:try_start_0
iput p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorsFactory;->mp4Flags:I
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 64
monitor-exit p0
return-object p0
:catchall_0
move-exception p1
monitor-exit p0
throw p1
.end method
.method public final declared-synchronized setTsExtractorFlags(I)Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorsFactory;
.locals 0
monitor-enter p0
:try_start_0
iput p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorsFactory;->tsFlags:I
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 90
monitor-exit p0
return-object p0
:catchall_0
move-exception p1
monitor-exit p0
throw p1
.end method
.method public final declared-synchronized setTsExtractorMode(I)Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorsFactory;
.locals 0
monitor-enter p0
:try_start_0
iput p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DefaultExtractorsFactory;->tsMode:I
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 83
monitor-exit p0
return-object p0
:catchall_0
move-exception p1
monitor-exit p0
throw p1
.end method

View File

@@ -0,0 +1,73 @@
.class public final Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/DummyTrackOutput;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;
# direct methods
.method public constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public final format(Lcom/mbridge/msdk/playercommon/exoplayer2/Format;)V
.locals 0
return-void
.end method
.method public final sampleData(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;IZ)I
.locals 0
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
.line 21
invoke-interface {p1, p2}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->skip(I)I
move-result p1
const/4 p2, -0x1
if-ne p1, p2, :cond_1
if-eqz p3, :cond_0
return p2
.line 26
:cond_0
new-instance p1, Ljava/io/EOFException;
invoke-direct {p1}, Ljava/io/EOFException;-><init>()V
throw p1
:cond_1
return p1
.end method
.method public final sampleData(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;I)V
.locals 0
.line 33
invoke-virtual {p1, p2}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->skipBytes(I)V
return-void
.end method
.method public final sampleMetadata(JIIILcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput$CryptoData;)V
.locals 0
return-void
.end method

View File

@@ -0,0 +1,40 @@
.class public interface abstract Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/Extractor;
.super Ljava/lang/Object;
.source "SourceFile"
# static fields
.field public static final RESULT_CONTINUE:I = 0x0
.field public static final RESULT_END_OF_INPUT:I = -0x1
.field public static final RESULT_SEEK:I = 0x1
# virtual methods
.method public abstract init(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorOutput;)V
.end method
.method public abstract read(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/PositionHolder;)I
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
.end method
.method public abstract release()V
.end method
.method public abstract seek(JJ)V
.end method
.method public abstract sniff(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;)Z
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
.end method

View File

@@ -0,0 +1,123 @@
.class public interface abstract Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;
.super Ljava/lang/Object;
.source "SourceFile"
# virtual methods
.method public abstract advancePeekPosition(I)V
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
.end method
.method public abstract advancePeekPosition(IZ)Z
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
.end method
.method public abstract getLength()J
.end method
.method public abstract getPeekPosition()J
.end method
.method public abstract getPosition()J
.end method
.method public abstract peekFully([BII)V
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
.end method
.method public abstract peekFully([BIIZ)Z
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
.end method
.method public abstract read([BII)I
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
.end method
.method public abstract readFully([BII)V
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
.end method
.method public abstract readFully([BIIZ)Z
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
.end method
.method public abstract resetPeekPosition()V
.end method
.method public abstract setRetryPosition(JLjava/lang/Throwable;)V
.annotation system Ldalvik/annotation/Signature;
value = {
"<E:",
"Ljava/lang/Throwable;",
">(JTE;)V^TE;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Throwable;
}
.end annotation
.end method
.method public abstract skip(I)I
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
.end method
.method public abstract skipFully(I)V
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
.end method
.method public abstract skipFully(IZ)Z
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
.end method

View File

@@ -0,0 +1,14 @@
.class public interface abstract Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorOutput;
.super Ljava/lang/Object;
.source "SourceFile"
# virtual methods
.method public abstract endTracks()V
.end method
.method public abstract seekMap(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap;)V
.end method
.method public abstract track(II)Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;
.end method

View File

@@ -0,0 +1,8 @@
.class public interface abstract Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorsFactory;
.super Ljava/lang/Object;
.source "SourceFile"
# virtual methods
.method public abstract createExtractors()[Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/Extractor;
.end method

View File

@@ -0,0 +1,62 @@
.class Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/GaplessInfoHolder$1;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Lcom/mbridge/msdk/playercommon/exoplayer2/metadata/id3/Id3Decoder$FramePredicate;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/GaplessInfoHolder;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public evaluate(IIIII)Z
.locals 1
const/16 v0, 0x43
if-ne p2, v0, :cond_1
const/16 p2, 0x4f
if-ne p3, p2, :cond_1
const/16 p2, 0x4d
if-ne p4, p2, :cond_1
if-eq p5, p2, :cond_0
const/4 p2, 0x2
if-ne p1, p2, :cond_1
:cond_0
const/4 p1, 0x1
goto :goto_0
:cond_1
const/4 p1, 0x0
:goto_0
return p1
.end method

View File

@@ -0,0 +1,276 @@
.class public final Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/GaplessInfoHolder;
.super Ljava/lang/Object;
.source "SourceFile"
# static fields
.field private static final GAPLESS_COMMENT_PATTERN:Ljava/util/regex/Pattern;
.field private static final GAPLESS_DESCRIPTION:Ljava/lang/String; = "iTunSMPB"
.field private static final GAPLESS_DOMAIN:Ljava/lang/String; = "com.apple.iTunes"
.field public static final GAPLESS_INFO_ID3_FRAME_PREDICATE:Lcom/mbridge/msdk/playercommon/exoplayer2/metadata/id3/Id3Decoder$FramePredicate;
# instance fields
.field public encoderDelay:I
.field public encoderPadding:I
# direct methods
.method static constructor <clinit>()V
.locals 1
.line 16
new-instance v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/GaplessInfoHolder$1;
invoke-direct {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/GaplessInfoHolder$1;-><init>()V
sput-object v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/GaplessInfoHolder;->GAPLESS_INFO_ID3_FRAME_PREDICATE:Lcom/mbridge/msdk/playercommon/exoplayer2/metadata/id3/Id3Decoder$FramePredicate;
const-string v0, "^ [0-9a-fA-F]{8} ([0-9a-fA-F]{8}) ([0-9a-fA-F]{8})"
.line 26
invoke-static {v0}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
move-result-object v0
sput-object v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/GaplessInfoHolder;->GAPLESS_COMMENT_PATTERN:Ljava/util/regex/Pattern;
return-void
.end method
.method public constructor <init>()V
.locals 1
.line 35
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/4 v0, -0x1
iput v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/GaplessInfoHolder;->encoderDelay:I
iput v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/GaplessInfoHolder;->encoderPadding:I
return-void
.end method
.method private setFromComment(Ljava/lang/String;)Z
.locals 4
sget-object v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/GaplessInfoHolder;->GAPLESS_COMMENT_PATTERN:Ljava/util/regex/Pattern;
.line 76
invoke-virtual {v0, p1}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
move-result-object p1
.line 77
invoke-virtual {p1}, Ljava/util/regex/Matcher;->find()Z
move-result v0
if-eqz v0, :cond_1
const/4 v0, 0x1
.line 79
:try_start_0
invoke-virtual {p1, v0}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object v1
const/16 v2, 0x10
invoke-static {v1, v2}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;I)I
move-result v1
const/4 v3, 0x2
.line 80
invoke-virtual {p1, v3}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object p1
invoke-static {p1, v2}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;I)I
move-result p1
if-gtz v1, :cond_0
if-lez p1, :cond_1
:cond_0
iput v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/GaplessInfoHolder;->encoderDelay:I
iput p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/GaplessInfoHolder;->encoderPadding:I
:try_end_0
.catch Ljava/lang/NumberFormatException; {:try_start_0 .. :try_end_0} :catch_0
return v0
:catch_0
:cond_1
const/4 p1, 0x0
return p1
.end method
# virtual methods
.method public final hasGaplessInfo()Z
.locals 2
iget v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/GaplessInfoHolder;->encoderDelay:I
const/4 v1, -0x1
if-eq v0, v1, :cond_0
iget v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/GaplessInfoHolder;->encoderPadding:I
if-eq v0, v1, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
return v0
.end method
.method public final setFromMetadata(Lcom/mbridge/msdk/playercommon/exoplayer2/metadata/Metadata;)Z
.locals 7
const/4 v0, 0x0
move v1, v0
.line 54
:goto_0
invoke-virtual {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/metadata/Metadata;->length()I
move-result v2
if-ge v1, v2, :cond_2
.line 55
invoke-virtual {p1, v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/metadata/Metadata;->get(I)Lcom/mbridge/msdk/playercommon/exoplayer2/metadata/Metadata$Entry;
move-result-object v2
.line 56
instance-of v3, v2, Lcom/mbridge/msdk/playercommon/exoplayer2/metadata/id3/CommentFrame;
const-string v4, "iTunSMPB"
const/4 v5, 0x1
if-eqz v3, :cond_0
.line 57
check-cast v2, Lcom/mbridge/msdk/playercommon/exoplayer2/metadata/id3/CommentFrame;
.line 58
iget-object v3, v2, Lcom/mbridge/msdk/playercommon/exoplayer2/metadata/id3/CommentFrame;->description:Ljava/lang/String;
invoke-virtual {v4, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_1
iget-object v2, v2, Lcom/mbridge/msdk/playercommon/exoplayer2/metadata/id3/CommentFrame;->text:Ljava/lang/String;
.line 59
invoke-direct {p0, v2}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/GaplessInfoHolder;->setFromComment(Ljava/lang/String;)Z
move-result v2
if-eqz v2, :cond_1
return v5
.line 62
:cond_0
instance-of v3, v2, Lcom/mbridge/msdk/playercommon/exoplayer2/metadata/id3/InternalFrame;
if-eqz v3, :cond_1
.line 63
check-cast v2, Lcom/mbridge/msdk/playercommon/exoplayer2/metadata/id3/InternalFrame;
.line 64
iget-object v3, v2, Lcom/mbridge/msdk/playercommon/exoplayer2/metadata/id3/InternalFrame;->domain:Ljava/lang/String;
const-string v6, "com.apple.iTunes"
invoke-virtual {v6, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_1
iget-object v3, v2, Lcom/mbridge/msdk/playercommon/exoplayer2/metadata/id3/InternalFrame;->description:Ljava/lang/String;
.line 65
invoke-virtual {v4, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_1
iget-object v2, v2, Lcom/mbridge/msdk/playercommon/exoplayer2/metadata/id3/InternalFrame;->text:Ljava/lang/String;
.line 66
invoke-direct {p0, v2}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/GaplessInfoHolder;->setFromComment(Ljava/lang/String;)Z
move-result v2
if-eqz v2, :cond_1
return v5
:cond_1
add-int/lit8 v1, v1, 0x1
goto :goto_0
:cond_2
return v0
.end method
.method public final setFromXingHeaderValue(I)Z
.locals 1
shr-int/lit8 v0, p1, 0xc
and-int/lit16 p1, p1, 0xfff
if-gtz v0, :cond_1
if-lez p1, :cond_0
goto :goto_0
:cond_0
const/4 p1, 0x0
return p1
:cond_1
:goto_0
iput v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/GaplessInfoHolder;->encoderDelay:I
iput p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/GaplessInfoHolder;->encoderPadding:I
const/4 p1, 0x1
return p1
.end method

View File

@@ -0,0 +1,145 @@
.class public final Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/Id3Peeker;
.super Ljava/lang/Object;
.source "SourceFile"
# instance fields
.field private final scratch:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
# direct methods
.method public constructor <init>()V
.locals 2
.line 17
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 18
new-instance v0, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
const/16 v1, 0xa
invoke-direct {v0, v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;-><init>(I)V
iput-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/Id3Peeker;->scratch:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
return-void
.end method
# virtual methods
.method public final peekId3Data(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;Lcom/mbridge/msdk/playercommon/exoplayer2/metadata/id3/Id3Decoder$FramePredicate;)Lcom/mbridge/msdk/playercommon/exoplayer2/metadata/Metadata;
.locals 7
.param p2 # Lcom/mbridge/msdk/playercommon/exoplayer2/metadata/id3/Id3Decoder$FramePredicate;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.annotation build Landroidx/annotation/Nullable;
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
const/4 v0, 0x0
const/4 v1, 0x0
move v2, v0
:goto_0
:try_start_0
iget-object v3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/Id3Peeker;->scratch:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 30
iget-object v3, v3, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->data:[B
const/16 v4, 0xa
invoke-interface {p1, v3, v0, v4}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->peekFully([BII)V
:try_end_0
.catch Ljava/io/EOFException; {:try_start_0 .. :try_end_0} :catch_0
iget-object v3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/Id3Peeker;->scratch:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 35
invoke-virtual {v3, v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->setPosition(I)V
iget-object v3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/Id3Peeker;->scratch:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 36
invoke-virtual {v3}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readUnsignedInt24()I
move-result v3
sget v5, Lcom/mbridge/msdk/playercommon/exoplayer2/metadata/id3/Id3Decoder;->ID3_TAG:I
if-eq v3, v5, :cond_0
goto :goto_2
:cond_0
iget-object v3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/Id3Peeker;->scratch:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
const/4 v5, 0x3
.line 40
invoke-virtual {v3, v5}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->skipBytes(I)V
iget-object v3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/Id3Peeker;->scratch:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 41
invoke-virtual {v3}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readSynchSafeInt()I
move-result v3
add-int/lit8 v5, v3, 0xa
if-nez v1, :cond_1
.line 45
new-array v1, v5, [B
iget-object v6, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/Id3Peeker;->scratch:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 46
iget-object v6, v6, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->data:[B
invoke-static {v6, v0, v1, v0, v4}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 47
invoke-interface {p1, v1, v4, v3}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->peekFully([BII)V
.line 49
new-instance v3, Lcom/mbridge/msdk/playercommon/exoplayer2/metadata/id3/Id3Decoder;
invoke-direct {v3, p2}, Lcom/mbridge/msdk/playercommon/exoplayer2/metadata/id3/Id3Decoder;-><init>(Lcom/mbridge/msdk/playercommon/exoplayer2/metadata/id3/Id3Decoder$FramePredicate;)V
invoke-virtual {v3, v1, v5}, Lcom/mbridge/msdk/playercommon/exoplayer2/metadata/id3/Id3Decoder;->decode([BI)Lcom/mbridge/msdk/playercommon/exoplayer2/metadata/Metadata;
move-result-object v1
goto :goto_1
.line 51
:cond_1
invoke-interface {p1, v3}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->advancePeekPosition(I)V
:goto_1
add-int/2addr v2, v5
goto :goto_0
.line 57
:catch_0
:goto_2
invoke-interface {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->resetPeekPosition()V
.line 58
invoke-interface {p1, v2}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->advancePeekPosition(I)V
return-object v1
.end method

View File

@@ -0,0 +1,627 @@
.class public final Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/MpegAudioHeader;
.super Ljava/lang/Object;
.source "SourceFile"
# static fields
.field private static final BITRATE_V1_L1:[I
.field private static final BITRATE_V1_L2:[I
.field private static final BITRATE_V1_L3:[I
.field private static final BITRATE_V2:[I
.field private static final BITRATE_V2_L1:[I
.field public static final MAX_FRAME_SIZE_BYTES:I = 0x1000
.field private static final MIME_TYPE_BY_LAYER:[Ljava/lang/String;
.field private static final SAMPLING_RATE_V1:[I
# instance fields
.field public bitrate:I
.field public channels:I
.field public frameSize:I
.field public mimeType:Ljava/lang/String;
.field public sampleRate:I
.field public samplesPerFrame:I
.field public version:I
# direct methods
.method static constructor <clinit>()V
.locals 3
const-string v0, "audio/mpeg-L2"
const-string v1, "audio/mpeg"
const-string v2, "audio/mpeg-L1"
filled-new-array {v2, v0, v1}, [Ljava/lang/String;
move-result-object v0
sput-object v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/MpegAudioHeader;->MIME_TYPE_BY_LAYER:[Ljava/lang/String;
const v0, 0xbb80
const/16 v1, 0x7d00
const v2, 0xac44
filled-new-array {v2, v0, v1}, [I
move-result-object v0
sput-object v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/MpegAudioHeader;->SAMPLING_RATE_V1:[I
const/16 v0, 0xe
new-array v1, v0, [I
fill-array-data v1, :array_0
sput-object v1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/MpegAudioHeader;->BITRATE_V1_L1:[I
new-array v1, v0, [I
fill-array-data v1, :array_1
sput-object v1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/MpegAudioHeader;->BITRATE_V2_L1:[I
new-array v1, v0, [I
fill-array-data v1, :array_2
sput-object v1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/MpegAudioHeader;->BITRATE_V1_L2:[I
new-array v1, v0, [I
fill-array-data v1, :array_3
sput-object v1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/MpegAudioHeader;->BITRATE_V1_L3:[I
new-array v0, v0, [I
fill-array-data v0, :array_4
sput-object v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/MpegAudioHeader;->BITRATE_V2:[I
return-void
:array_0
.array-data 4
0x20
0x40
0x60
0x80
0xa0
0xc0
0xe0
0x100
0x120
0x140
0x160
0x180
0x1a0
0x1c0
.end array-data
:array_1
.array-data 4
0x20
0x30
0x38
0x40
0x50
0x60
0x70
0x80
0x90
0xa0
0xb0
0xc0
0xe0
0x100
.end array-data
:array_2
.array-data 4
0x20
0x30
0x38
0x40
0x50
0x60
0x70
0x80
0xa0
0xc0
0xe0
0x100
0x140
0x180
.end array-data
:array_3
.array-data 4
0x20
0x28
0x30
0x38
0x40
0x50
0x60
0x70
0x80
0xa0
0xc0
0xe0
0x100
0x140
.end array-data
:array_4
.array-data 4
0x8
0x10
0x18
0x20
0x28
0x30
0x38
0x40
0x50
0x60
0x70
0x80
0x90
0xa0
.end array-data
.end method
.method public constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static getFrameSize(I)I
.locals 7
const/high16 v0, -0x200000
and-int v1, p0, v0
const/4 v2, -0x1
if-eq v1, v0, :cond_0
return v2
:cond_0
ushr-int/lit8 v0, p0, 0x13
const/4 v1, 0x3
and-int/2addr v0, v1
const/4 v3, 0x1
if-ne v0, v3, :cond_1
return v2
:cond_1
ushr-int/lit8 v4, p0, 0x11
and-int/2addr v4, v1
if-nez v4, :cond_2
return v2
:cond_2
ushr-int/lit8 v5, p0, 0xc
const/16 v6, 0xf
and-int/2addr v5, v6
if-eqz v5, :cond_d
if-ne v5, v6, :cond_3
goto :goto_3
:cond_3
ushr-int/lit8 v6, p0, 0xa
and-int/2addr v6, v1
if-ne v6, v1, :cond_4
return v2
:cond_4
sget-object v2, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/MpegAudioHeader;->SAMPLING_RATE_V1:[I
.line 54
aget v2, v2, v6
const/4 v6, 0x2
if-ne v0, v6, :cond_5
.line 57
div-int/lit8 v2, v2, 0x2
goto :goto_0
:cond_5
if-nez v0, :cond_6
.line 60
div-int/lit8 v2, v2, 0x4
:cond_6
:goto_0
ushr-int/lit8 p0, p0, 0x9
and-int/2addr p0, v3
if-ne v4, v1, :cond_8
if-ne v0, v1, :cond_7
sget-object v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/MpegAudioHeader;->BITRATE_V1_L1:[I
sub-int/2addr v5, v3
.line 67
aget v0, v0, v5
goto :goto_1
:cond_7
sget-object v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/MpegAudioHeader;->BITRATE_V2_L1:[I
sub-int/2addr v5, v3
aget v0, v0, v5
:goto_1
mul-int/lit16 v0, v0, 0x2ee0
.line 68
div-int/2addr v0, v2
add-int/2addr v0, p0
mul-int/lit8 v0, v0, 0x4
return v0
:cond_8
if-ne v0, v1, :cond_a
if-ne v4, v6, :cond_9
sget-object v6, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/MpegAudioHeader;->BITRATE_V1_L2:[I
sub-int/2addr v5, v3
.line 72
aget v5, v6, v5
goto :goto_2
:cond_9
sget-object v6, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/MpegAudioHeader;->BITRATE_V1_L3:[I
sub-int/2addr v5, v3
aget v5, v6, v5
goto :goto_2
:cond_a
sget-object v6, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/MpegAudioHeader;->BITRATE_V2:[I
sub-int/2addr v5, v3
.line 75
aget v5, v6, v5
:goto_2
const v6, 0x23280
if-ne v0, v1, :cond_b
mul-int/2addr v5, v6
.line 81
div-int/2addr v5, v2
add-int/2addr v5, p0
return v5
:cond_b
if-ne v4, v3, :cond_c
const v6, 0x11940
:cond_c
mul-int/2addr v6, v5
.line 84
div-int/2addr v6, v2
add-int/2addr v6, p0
return v6
:cond_d
:goto_3
return v2
.end method
.method public static populateHeader(ILcom/mbridge/msdk/playercommon/exoplayer2/extractor/MpegAudioHeader;)Z
.locals 11
const/high16 v0, -0x200000
and-int v1, p0, v0
const/4 v2, 0x0
if-eq v1, v0, :cond_0
return v2
:cond_0
ushr-int/lit8 v0, p0, 0x13
const/4 v1, 0x3
and-int/lit8 v4, v0, 0x3
const/4 v0, 0x1
if-ne v4, v0, :cond_1
return v2
:cond_1
ushr-int/lit8 v3, p0, 0x11
and-int/2addr v3, v1
if-nez v3, :cond_2
return v2
:cond_2
ushr-int/lit8 v5, p0, 0xc
const/16 v6, 0xf
and-int/2addr v5, v6
if-eqz v5, :cond_e
if-ne v5, v6, :cond_3
goto/16 :goto_7
:cond_3
ushr-int/lit8 v6, p0, 0xa
and-int/2addr v6, v1
if-ne v6, v1, :cond_4
return v2
:cond_4
sget-object v2, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/MpegAudioHeader;->SAMPLING_RATE_V1:[I
.line 115
aget v2, v2, v6
const/4 v6, 0x2
if-ne v4, v6, :cond_6
.line 118
div-int/lit8 v2, v2, 0x2
:cond_5
:goto_0
move v7, v2
goto :goto_1
:cond_6
if-nez v4, :cond_5
.line 121
div-int/lit8 v2, v2, 0x4
goto :goto_0
:goto_1
ushr-int/lit8 v2, p0, 0x9
and-int/2addr v2, v0
if-ne v3, v1, :cond_8
if-ne v4, v1, :cond_7
sget-object v8, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/MpegAudioHeader;->BITRATE_V1_L1:[I
sub-int/2addr v5, v0
.line 128
aget v5, v8, v5
goto :goto_2
:cond_7
sget-object v8, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/MpegAudioHeader;->BITRATE_V2_L1:[I
sub-int/2addr v5, v0
aget v5, v8, v5
:goto_2
mul-int/lit16 v8, v5, 0x2ee0
.line 129
div-int/2addr v8, v7
add-int/2addr v8, v2
mul-int/lit8 v8, v8, 0x4
const/16 v2, 0x180
move v10, v2
goto :goto_5
:cond_8
const/16 v8, 0x480
if-ne v4, v1, :cond_a
if-ne v3, v6, :cond_9
sget-object v9, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/MpegAudioHeader;->BITRATE_V1_L2:[I
sub-int/2addr v5, v0
.line 135
aget v5, v9, v5
goto :goto_3
:cond_9
sget-object v9, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/MpegAudioHeader;->BITRATE_V1_L3:[I
sub-int/2addr v5, v0
aget v5, v9, v5
goto :goto_3
:cond_a
sget-object v9, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/MpegAudioHeader;->BITRATE_V2:[I
sub-int/2addr v5, v0
.line 140
aget v5, v9, v5
if-ne v3, v0, :cond_b
const/16 v8, 0x240
:cond_b
if-ne v3, v0, :cond_c
const v9, 0x11940
goto :goto_4
:cond_c
:goto_3
const v9, 0x23280
:goto_4
mul-int/2addr v9, v5
.line 142
div-int/2addr v9, v7
add-int/2addr v9, v2
move v10, v8
move v8, v9
:goto_5
sget-object v2, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/MpegAudioHeader;->MIME_TYPE_BY_LAYER:[Ljava/lang/String;
rsub-int/lit8 v3, v3, 0x3
.line 146
aget-object v2, v2, v3
shr-int/lit8 p0, p0, 0x6
and-int/2addr p0, v1
if-ne p0, v1, :cond_d
move p0, v0
goto :goto_6
:cond_d
move p0, v6
:goto_6
mul-int/lit16 v9, v5, 0x3e8
move-object v3, p1
move-object v5, v2
move v6, v8
move v8, p0
.line 148
invoke-direct/range {v3 .. v10}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/MpegAudioHeader;->setValues(ILjava/lang/String;IIIII)V
return v0
:cond_e
:goto_7
return v2
.end method
.method private setValues(ILjava/lang/String;IIIII)V
.locals 0
iput p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/MpegAudioHeader;->version:I
iput-object p2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/MpegAudioHeader;->mimeType:Ljava/lang/String;
iput p3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/MpegAudioHeader;->frameSize:I
iput p4, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/MpegAudioHeader;->sampleRate:I
iput p5, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/MpegAudioHeader;->channels:I
iput p6, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/MpegAudioHeader;->bitrate:I
iput p7, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/MpegAudioHeader;->samplesPerFrame:I
return-void
.end method

View File

@@ -0,0 +1,17 @@
.class public final Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/PositionHolder;
.super Ljava/lang/Object;
.source "SourceFile"
# instance fields
.field public position:J
# direct methods
.method public constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method

View File

@@ -0,0 +1,211 @@
.class public final Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$SeekPoints;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "SeekPoints"
.end annotation
# instance fields
.field public final first:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;
.field public final second:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;
# direct methods
.method public constructor <init>(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;)V
.locals 0
.line 55
invoke-direct {p0, p1, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$SeekPoints;-><init>(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;)V
return-void
.end method
.method public constructor <init>(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;)V
.locals 0
.line 59
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 60
invoke-static {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/Assertions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;
iput-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$SeekPoints;->first:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;
.line 61
invoke-static {p2}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/Assertions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;
iput-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$SeekPoints;->second:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;
return-void
.end method
# virtual methods
.method public final equals(Ljava/lang/Object;)Z
.locals 4
.param p1 # Ljava/lang/Object;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
const/4 v0, 0x1
if-ne p0, p1, :cond_0
return v0
:cond_0
const/4 v1, 0x0
if-eqz p1, :cond_3
.line 74
invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v2
const-class v3, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$SeekPoints;
if-eq v3, v2, :cond_1
goto :goto_1
.line 77
:cond_1
check-cast p1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$SeekPoints;
iget-object v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$SeekPoints;->first:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;
.line 78
iget-object v3, p1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$SeekPoints;->first:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;
invoke-virtual {v2, v3}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_2
iget-object v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$SeekPoints;->second:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;
iget-object p1, p1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$SeekPoints;->second:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;
invoke-virtual {v2, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_2
goto :goto_0
:cond_2
move v0, v1
:goto_0
return v0
:cond_3
:goto_1
return v1
.end method
.method public final hashCode()I
.locals 2
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$SeekPoints;->first:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;
.line 83
invoke-virtual {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;->hashCode()I
move-result v0
mul-int/lit8 v0, v0, 0x1f
iget-object v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$SeekPoints;->second:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;
invoke-virtual {v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;->hashCode()I
move-result v1
add-int/2addr v0, v1
return v0
.end method
.method public final toString()Ljava/lang/String;
.locals 3
.line 66
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "["
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$SeekPoints;->first:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
iget-object v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$SeekPoints;->first:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;
iget-object v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$SeekPoints;->second:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;
invoke-virtual {v1, v2}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_0
const-string v1, ""
goto :goto_0
:cond_0
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, ", "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$SeekPoints;->second:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
:goto_0
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, "]"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method

View File

@@ -0,0 +1,97 @@
.class public final Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$Unseekable;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "Unseekable"
.end annotation
# instance fields
.field private final durationUs:J
.field private final startSeekPoints:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$SeekPoints;
# direct methods
.method public constructor <init>(J)V
.locals 2
const-wide/16 v0, 0x0
.line 19
invoke-direct {p0, p1, p2, v0, v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$Unseekable;-><init>(JJ)V
return-void
.end method
.method public constructor <init>(JJ)V
.locals 2
.line 23
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-wide p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$Unseekable;->durationUs:J
.line 25
new-instance p1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$SeekPoints;
const-wide/16 v0, 0x0
cmp-long p2, p3, v0
if-nez p2, :cond_0
.line 26
sget-object p2, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;->START:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;
goto :goto_0
:cond_0
new-instance p2, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;
invoke-direct {p2, v0, v1, p3, p4}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;-><init>(JJ)V
:goto_0
invoke-direct {p1, p2}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$SeekPoints;-><init>(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;)V
iput-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$Unseekable;->startSeekPoints:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$SeekPoints;
return-void
.end method
# virtual methods
.method public final getDurationUs()J
.locals 2
iget-wide v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$Unseekable;->durationUs:J
return-wide v0
.end method
.method public final getSeekPoints(J)Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$SeekPoints;
.locals 0
iget-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$Unseekable;->startSeekPoints:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$SeekPoints;
return-object p1
.end method
.method public final isSeekable()Z
.locals 1
const/4 v0, 0x0
return v0
.end method

View File

@@ -0,0 +1,23 @@
.class public interface abstract Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$SeekPoints;,
Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$Unseekable;
}
.end annotation
# virtual methods
.method public abstract getDurationUs()J
.end method
.method public abstract getSeekPoints(J)Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$SeekPoints;
.end method
.method public abstract isSeekable()Z
.end method

View File

@@ -0,0 +1,161 @@
.class public final Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;
.super Ljava/lang/Object;
.source "SourceFile"
# static fields
.field public static final START:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;
# instance fields
.field public final position:J
.field public final timeUs:J
# direct methods
.method static constructor <clinit>()V
.locals 3
.line 10
new-instance v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;
const-wide/16 v1, 0x0
invoke-direct {v0, v1, v2, v1, v2}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;-><init>(JJ)V
sput-object v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;->START:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;
return-void
.end method
.method public constructor <init>(JJ)V
.locals 0
.line 19
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-wide p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;->timeUs:J
iput-wide p3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;->position:J
return-void
.end method
# virtual methods
.method public final equals(Ljava/lang/Object;)Z
.locals 6
.param p1 # Ljava/lang/Object;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
const/4 v0, 0x1
if-ne p0, p1, :cond_0
return v0
:cond_0
const/4 v1, 0x0
if-eqz p1, :cond_3
.line 34
invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v2
const-class v3, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;
if-eq v3, v2, :cond_1
goto :goto_1
.line 37
:cond_1
check-cast p1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;
iget-wide v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;->timeUs:J
.line 38
iget-wide v4, p1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;->timeUs:J
cmp-long v2, v2, v4
if-nez v2, :cond_2
iget-wide v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;->position:J
iget-wide v4, p1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;->position:J
cmp-long p1, v2, v4
if-nez p1, :cond_2
goto :goto_0
:cond_2
move v0, v1
:goto_0
return v0
:cond_3
:goto_1
return v1
.end method
.method public final hashCode()I
.locals 3
iget-wide v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;->timeUs:J
long-to-int v0, v0
mul-int/lit8 v0, v0, 0x1f
iget-wide v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;->position:J
long-to-int v1, v1
add-int/2addr v0, v1
return v0
.end method
.method public final toString()Ljava/lang/String;
.locals 3
.line 26
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "[timeUs="
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-wide v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;->timeUs:J
invoke-virtual {v0, v1, v2}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
const-string v1, ", position="
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-wide v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;->position:J
invoke-virtual {v0, v1, v2}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
const-string v1, "]"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method

View File

@@ -0,0 +1,152 @@
.class public final Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput$CryptoData;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "CryptoData"
.end annotation
# instance fields
.field public final clearBlocks:I
.field public final cryptoMode:I
.field public final encryptedBlocks:I
.field public final encryptionKey:[B
# direct methods
.method public constructor <init>(I[BII)V
.locals 0
.line 32
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput$CryptoData;->cryptoMode:I
iput-object p2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput$CryptoData;->encryptionKey:[B
iput p3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput$CryptoData;->encryptedBlocks:I
iput p4, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput$CryptoData;->clearBlocks:I
return-void
.end method
# virtual methods
.method public final equals(Ljava/lang/Object;)Z
.locals 4
.param p1 # Ljava/lang/Object;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
const/4 v0, 0x1
if-ne p0, p1, :cond_0
return v0
:cond_0
const/4 v1, 0x0
if-eqz p1, :cond_3
.line 44
invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v2
const-class v3, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput$CryptoData;
if-eq v3, v2, :cond_1
goto :goto_1
.line 47
:cond_1
check-cast p1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput$CryptoData;
iget v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput$CryptoData;->cryptoMode:I
.line 48
iget v3, p1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput$CryptoData;->cryptoMode:I
if-ne v2, v3, :cond_2
iget v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput$CryptoData;->encryptedBlocks:I
iget v3, p1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput$CryptoData;->encryptedBlocks:I
if-ne v2, v3, :cond_2
iget v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput$CryptoData;->clearBlocks:I
iget v3, p1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput$CryptoData;->clearBlocks:I
if-ne v2, v3, :cond_2
iget-object v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput$CryptoData;->encryptionKey:[B
iget-object p1, p1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput$CryptoData;->encryptionKey:[B
.line 49
invoke-static {v2, p1}, Ljava/util/Arrays;->equals([B[B)Z
move-result p1
if-eqz p1, :cond_2
goto :goto_0
:cond_2
move v0, v1
:goto_0
return v0
:cond_3
:goto_1
return v1
.end method
.method public final hashCode()I
.locals 2
iget v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput$CryptoData;->cryptoMode:I
mul-int/lit8 v0, v0, 0x1f
iget-object v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput$CryptoData;->encryptionKey:[B
.line 55
invoke-static {v1}, Ljava/util/Arrays;->hashCode([B)I
move-result v1
add-int/2addr v0, v1
mul-int/lit8 v0, v0, 0x1f
iget v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput$CryptoData;->encryptedBlocks:I
add-int/2addr v0, v1
mul-int/lit8 v0, v0, 0x1f
iget v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput$CryptoData;->clearBlocks:I
add-int/2addr v0, v1
return v0
.end method

View File

@@ -0,0 +1,31 @@
.class public interface abstract Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput$CryptoData;
}
.end annotation
# virtual methods
.method public abstract format(Lcom/mbridge/msdk/playercommon/exoplayer2/Format;)V
.end method
.method public abstract sampleData(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;IZ)I
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
.end method
.method public abstract sampleData(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;I)V
.end method
.method public abstract sampleMetadata(JIIILcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput$CryptoData;)V
.end method

View File

@@ -0,0 +1,48 @@
.class Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/amr/AmrExtractor$1;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorsFactory;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/amr/AmrExtractor;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public createExtractors()[Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/Extractor;
.locals 3
const/4 v0, 0x1
new-array v0, v0, [Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/Extractor;
.line 29
new-instance v1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/amr/AmrExtractor;
invoke-direct {v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/amr/AmrExtractor;-><init>()V
const/4 v2, 0x0
aput-object v1, v0, v2
return-object v0
.end method

View File

@@ -0,0 +1,804 @@
.class public final Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/amr/AmrExtractor;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/Extractor;
# static fields
.field public static final FACTORY:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorsFactory;
.field private static final MAX_FRAME_SIZE_BYTES:I
.field private static final SAMPLE_RATE_NB:I = 0x1f40
.field private static final SAMPLE_RATE_WB:I = 0x3e80
.field private static final SAMPLE_TIME_PER_FRAME_US:I = 0x4e20
.field private static final amrSignatureNb:[B
.field private static final amrSignatureWb:[B
.field private static final frameSizeBytesByTypeNb:[I
.field private static final frameSizeBytesByTypeWb:[I
# instance fields
.field private currentSampleBytesRemaining:I
.field private currentSampleTimeUs:J
.field private currentSampleTotalBytes:I
.field private hasOutputFormat:Z
.field private isWideBand:Z
.field private final scratch:[B
.field private trackOutput:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;
# direct methods
.method static constructor <clinit>()V
.locals 2
.line 24
new-instance v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/amr/AmrExtractor$1;
invoke-direct {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/amr/AmrExtractor$1;-><init>()V
sput-object v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/amr/AmrExtractor;->FACTORY:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorsFactory;
const/16 v0, 0x10
new-array v1, v0, [I
fill-array-data v1, :array_0
sput-object v1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/amr/AmrExtractor;->frameSizeBytesByTypeNb:[I
new-array v0, v0, [I
fill-array-data v0, :array_1
sput-object v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/amr/AmrExtractor;->frameSizeBytesByTypeWb:[I
const-string v1, "#!AMR\n"
.line 73
invoke-static {v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/Util;->getUtf8Bytes(Ljava/lang/String;)[B
move-result-object v1
sput-object v1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/amr/AmrExtractor;->amrSignatureNb:[B
const-string v1, "#!AMR-WB\n"
.line 74
invoke-static {v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/Util;->getUtf8Bytes(Ljava/lang/String;)[B
move-result-object v1
sput-object v1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/amr/AmrExtractor;->amrSignatureWb:[B
const/16 v1, 0x8
aget v0, v0, v1
sput v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/amr/AmrExtractor;->MAX_FRAME_SIZE_BYTES:I
return-void
:array_0
.array-data 4
0xd
0xe
0x10
0x12
0x14
0x15
0x1b
0x20
0x6
0x7
0x6
0x6
0x1
0x1
0x1
0x1
.end array-data
:array_1
.array-data 4
0x12
0x18
0x21
0x25
0x29
0x2f
0x33
0x3b
0x3d
0x6
0x1
0x1
0x1
0x1
0x1
0x1
.end array-data
.end method
.method public constructor <init>()V
.locals 1
.line 93
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/4 v0, 0x1
new-array v0, v0, [B
iput-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/amr/AmrExtractor;->scratch:[B
return-void
.end method
.method public static amrSignatureNb()[B
.locals 2
sget-object v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/amr/AmrExtractor;->amrSignatureNb:[B
.line 144
array-length v1, v0
invoke-static {v0, v1}, Ljava/util/Arrays;->copyOf([BI)[B
move-result-object v0
return-object v0
.end method
.method public static amrSignatureWb()[B
.locals 2
sget-object v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/amr/AmrExtractor;->amrSignatureWb:[B
.line 148
array-length v1, v0
invoke-static {v0, v1}, Ljava/util/Arrays;->copyOf([BI)[B
move-result-object v0
return-object v0
.end method
.method public static frameSizeBytesByTypeNb(I)I
.locals 1
sget-object v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/amr/AmrExtractor;->frameSizeBytesByTypeNb:[I
.line 136
aget p0, v0, p0
return p0
.end method
.method public static frameSizeBytesByTypeWb(I)I
.locals 1
sget-object v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/amr/AmrExtractor;->frameSizeBytesByTypeWb:[I
.line 140
aget p0, v0, p0
return p0
.end method
.method private getFrameSizeInBytes(I)I
.locals 3
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/mbridge/msdk/playercommon/exoplayer2/ParserException;
}
.end annotation
.line 246
invoke-direct {p0, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/amr/AmrExtractor;->isValidFrameType(I)Z
move-result v0
if-nez v0, :cond_1
.line 247
new-instance v0, Lcom/mbridge/msdk/playercommon/exoplayer2/ParserException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Illegal AMR "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-boolean v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/amr/AmrExtractor;->isWideBand:Z
if-eqz v2, :cond_0
const-string v2, "WB"
goto :goto_0
:cond_0
const-string v2, "NB"
.line 248
:goto_0
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v2, " frame type "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {v0, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/ParserException;-><init>(Ljava/lang/String;)V
throw v0
:cond_1
iget-boolean v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/amr/AmrExtractor;->isWideBand:Z
if-eqz v0, :cond_2
sget-object v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/amr/AmrExtractor;->frameSizeBytesByTypeWb:[I
.line 251
aget p1, v0, p1
goto :goto_1
:cond_2
sget-object v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/amr/AmrExtractor;->frameSizeBytesByTypeNb:[I
aget p1, v0, p1
:goto_1
return p1
.end method
.method private isNarrowBandValidFrameType(I)Z
.locals 1
iget-boolean v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/amr/AmrExtractor;->isWideBand:Z
if-nez v0, :cond_1
const/16 v0, 0xc
if-lt p1, v0, :cond_0
const/16 v0, 0xe
if-le p1, v0, :cond_1
:cond_0
const/4 p1, 0x1
goto :goto_0
:cond_1
const/4 p1, 0x0
:goto_0
return p1
.end method
.method private isValidFrameType(I)Z
.locals 1
if-ltz p1, :cond_1
const/16 v0, 0xf
if-gt p1, v0, :cond_1
.line 257
invoke-direct {p0, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/amr/AmrExtractor;->isWideBandValidFrameType(I)Z
move-result v0
if-nez v0, :cond_0
invoke-direct {p0, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/amr/AmrExtractor;->isNarrowBandValidFrameType(I)Z
move-result p1
if-eqz p1, :cond_1
:cond_0
const/4 p1, 0x1
goto :goto_0
:cond_1
const/4 p1, 0x0
:goto_0
return p1
.end method
.method private isWideBandValidFrameType(I)Z
.locals 1
iget-boolean v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/amr/AmrExtractor;->isWideBand:Z
if-eqz v0, :cond_1
const/16 v0, 0xa
if-lt p1, v0, :cond_0
const/16 v0, 0xd
if-le p1, v0, :cond_1
:cond_0
const/4 p1, 0x1
goto :goto_0
:cond_1
const/4 p1, 0x0
:goto_0
return p1
.end method
.method private maybeOutputFormat()V
.locals 14
iget-boolean v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/amr/AmrExtractor;->hasOutputFormat:Z
if-nez v0, :cond_2
const/4 v0, 0x1
iput-boolean v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/amr/AmrExtractor;->hasOutputFormat:Z
iget-boolean v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/amr/AmrExtractor;->isWideBand:Z
if-eqz v0, :cond_0
const-string v1, "audio/amr-wb"
:goto_0
move-object v3, v1
goto :goto_1
:cond_0
const-string v1, "audio/3gpp"
goto :goto_0
:goto_1
if-eqz v0, :cond_1
const/16 v0, 0x3e80
:goto_2
move v8, v0
goto :goto_3
:cond_1
const/16 v0, 0x1f40
goto :goto_2
:goto_3
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/amr/AmrExtractor;->trackOutput:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;
const/4 v2, 0x0
const/4 v4, 0x0
const/4 v5, -0x1
sget v6, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/amr/AmrExtractor;->MAX_FRAME_SIZE_BYTES:I
const/4 v7, 0x1
const/4 v9, -0x1
const/4 v10, 0x0
const/4 v11, 0x0
const/4 v12, 0x0
const/4 v13, 0x0
.line 182
invoke-static/range {v2 .. v13}, Lcom/mbridge/msdk/playercommon/exoplayer2/Format;->createAudioSampleFormat(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IIIIILjava/util/List;Lcom/mbridge/msdk/playercommon/exoplayer2/drm/DrmInitData;ILjava/lang/String;)Lcom/mbridge/msdk/playercommon/exoplayer2/Format;
move-result-object v1
.line 181
invoke-interface {v0, v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;->format(Lcom/mbridge/msdk/playercommon/exoplayer2/Format;)V
:cond_2
return-void
.end method
.method private peekAmrSignature(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;[B)Z
.locals 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
.line 170
invoke-interface {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->resetPeekPosition()V
.line 171
array-length v0, p2
new-array v0, v0, [B
const/4 v1, 0x0
.line 172
array-length v2, p2
invoke-interface {p1, v0, v1, v2}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->peekFully([BII)V
.line 173
invoke-static {v0, p2}, Ljava/util/Arrays;->equals([B[B)Z
move-result p1
return p1
.end method
.method private readAmrHeader(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;)Z
.locals 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
sget-object v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/amr/AmrExtractor;->amrSignatureNb:[B
.line 155
invoke-direct {p0, p1, v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/amr/AmrExtractor;->peekAmrSignature(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;[B)Z
move-result v1
const/4 v2, 0x0
const/4 v3, 0x1
if-eqz v1, :cond_0
iput-boolean v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/amr/AmrExtractor;->isWideBand:Z
.line 157
array-length v0, v0
invoke-interface {p1, v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->skipFully(I)V
return v3
:cond_0
sget-object v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/amr/AmrExtractor;->amrSignatureWb:[B
.line 159
invoke-direct {p0, p1, v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/amr/AmrExtractor;->peekAmrSignature(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;[B)Z
move-result v1
if-eqz v1, :cond_1
iput-boolean v3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/amr/AmrExtractor;->isWideBand:Z
.line 161
array-length v0, v0
invoke-interface {p1, v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->skipFully(I)V
return v3
:cond_1
return v2
.end method
.method private readNextSampleSize(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;)I
.locals 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
.line 231
invoke-interface {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->resetPeekPosition()V
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/amr/AmrExtractor;->scratch:[B
const/4 v1, 0x1
const/4 v2, 0x0
.line 232
invoke-interface {p1, v0, v2, v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->peekFully([BII)V
iget-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/amr/AmrExtractor;->scratch:[B
.line 234
aget-byte p1, p1, v2
and-int/lit16 v0, p1, 0x83
if-gtz v0, :cond_0
shr-int/lit8 p1, p1, 0x3
and-int/lit8 p1, p1, 0xf
.line 242
invoke-direct {p0, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/amr/AmrExtractor;->getFrameSizeInBytes(I)I
move-result p1
return p1
.line 238
:cond_0
new-instance v0, Lcom/mbridge/msdk/playercommon/exoplayer2/ParserException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Invalid padding bits for frame header "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {v0, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/ParserException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method private readSample(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;)I
.locals 8
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
iget v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/amr/AmrExtractor;->currentSampleBytesRemaining:I
const/4 v1, -0x1
if-nez v0, :cond_0
.line 201
:try_start_0
invoke-direct {p0, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/amr/AmrExtractor;->readNextSampleSize(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;)I
move-result v0
iput v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/amr/AmrExtractor;->currentSampleTotalBytes:I
:try_end_0
.catch Ljava/io/EOFException; {:try_start_0 .. :try_end_0} :catch_0
iput v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/amr/AmrExtractor;->currentSampleBytesRemaining:I
goto :goto_0
:catch_0
return v1
:cond_0
:goto_0
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/amr/AmrExtractor;->trackOutput:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;
iget v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/amr/AmrExtractor;->currentSampleBytesRemaining:I
const/4 v3, 0x1
.line 209
invoke-interface {v0, p1, v2, v3}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;->sampleData(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;IZ)I
move-result p1
if-ne p1, v1, :cond_1
return v1
:cond_1
iget v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/amr/AmrExtractor;->currentSampleBytesRemaining:I
sub-int/2addr v0, p1
iput v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/amr/AmrExtractor;->currentSampleBytesRemaining:I
const/4 p1, 0x0
if-lez v0, :cond_2
return p1
:cond_2
iget-object v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/amr/AmrExtractor;->trackOutput:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;
iget-wide v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/amr/AmrExtractor;->currentSampleTimeUs:J
const/4 v4, 0x1
iget v5, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/amr/AmrExtractor;->currentSampleTotalBytes:I
const/4 v6, 0x0
const/4 v7, 0x0
.line 219
invoke-interface/range {v1 .. v7}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;->sampleMetadata(JIIILcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput$CryptoData;)V
iget-wide v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/amr/AmrExtractor;->currentSampleTimeUs:J
const-wide/16 v2, 0x4e20
add-long/2addr v0, v2
iput-wide v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/amr/AmrExtractor;->currentSampleTimeUs:J
return p1
.end method
# virtual methods
.method public final init(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorOutput;)V
.locals 3
.line 106
new-instance v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$Unseekable;
const-wide v1, -0x7fffffffffffffffL # -4.9E-324
invoke-direct {v0, v1, v2}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$Unseekable;-><init>(J)V
invoke-interface {p1, v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorOutput;->seekMap(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap;)V
const/4 v0, 0x0
const/4 v1, 0x1
.line 107
invoke-interface {p1, v0, v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorOutput;->track(II)Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;
move-result-object v0
iput-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/amr/AmrExtractor;->trackOutput:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;
.line 108
invoke-interface {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorOutput;->endTracks()V
return-void
.end method
.method public final read(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/PositionHolder;)I
.locals 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
.line 114
invoke-interface {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->getPosition()J
move-result-wide v0
const-wide/16 v2, 0x0
cmp-long p2, v0, v2
if-nez p2, :cond_1
.line 115
invoke-direct {p0, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/amr/AmrExtractor;->readAmrHeader(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;)Z
move-result p2
if-eqz p2, :cond_0
goto :goto_0
.line 116
:cond_0
new-instance p1, Lcom/mbridge/msdk/playercommon/exoplayer2/ParserException;
const-string p2, "Could not find AMR header."
invoke-direct {p1, p2}, Lcom/mbridge/msdk/playercommon/exoplayer2/ParserException;-><init>(Ljava/lang/String;)V
throw p1
.line 119
:cond_1
:goto_0
invoke-direct {p0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/amr/AmrExtractor;->maybeOutputFormat()V
.line 120
invoke-direct {p0, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/amr/AmrExtractor;->readSample(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;)I
move-result p1
return p1
.end method
.method public final release()V
.locals 0
return-void
.end method
.method public final seek(JJ)V
.locals 0
const-wide/16 p1, 0x0
iput-wide p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/amr/AmrExtractor;->currentSampleTimeUs:J
const/4 p1, 0x0
iput p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/amr/AmrExtractor;->currentSampleTotalBytes:I
iput p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/amr/AmrExtractor;->currentSampleBytesRemaining:I
return-void
.end method
.method public final sniff(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;)Z
.locals 0
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
.line 101
invoke-direct {p0, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/amr/AmrExtractor;->readAmrHeader(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;)Z
move-result p1
return p1
.end method

View File

@@ -0,0 +1,425 @@
.class final Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/AudioTagPayloadReader;
.super Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/TagPayloadReader;
.source "SourceFile"
# static fields
.field private static final AAC_PACKET_TYPE_AAC_RAW:I = 0x1
.field private static final AAC_PACKET_TYPE_SEQUENCE_HEADER:I = 0x0
.field private static final AUDIO_FORMAT_AAC:I = 0xa
.field private static final AUDIO_FORMAT_ALAW:I = 0x7
.field private static final AUDIO_FORMAT_MP3:I = 0x2
.field private static final AUDIO_FORMAT_ULAW:I = 0x8
.field private static final AUDIO_SAMPLING_RATE_TABLE:[I
# instance fields
.field private audioFormat:I
.field private hasOutputFormat:Z
.field private hasParsedAudioDataHeader:Z
# direct methods
.method static constructor <clinit>()V
.locals 4
const/16 v0, 0x5622
const v1, 0xac44
const/16 v2, 0x1588
const/16 v3, 0x2b11
filled-new-array {v2, v3, v0, v1}, [I
move-result-object v0
sput-object v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/AudioTagPayloadReader;->AUDIO_SAMPLING_RATE_TABLE:[I
return-void
.end method
.method public constructor <init>(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;)V
.locals 0
.line 33
invoke-direct {p0, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/TagPayloadReader;-><init>(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;)V
return-void
.end method
# virtual methods
.method public final parseHeader(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;)Z
.locals 18
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/TagPayloadReader$UnsupportedFormatException;
}
.end annotation
move-object/from16 v0, p0
iget-boolean v1, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/AudioTagPayloadReader;->hasParsedAudioDataHeader:Z
const/4 v2, 0x1
if-nez v1, :cond_6
.line 44
invoke-virtual/range {p1 .. p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readUnsignedByte()I
move-result v1
shr-int/lit8 v3, v1, 0x4
and-int/lit8 v3, v3, 0xf
iput v3, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/AudioTagPayloadReader;->audioFormat:I
const/4 v4, 0x3
const/4 v5, 0x2
if-ne v3, v5, :cond_0
shr-int/2addr v1, v5
and-int/2addr v1, v4
sget-object v3, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/AudioTagPayloadReader;->AUDIO_SAMPLING_RATE_TABLE:[I
.line 48
aget v10, v3, v1
const/4 v4, 0x0
const-string v5, "audio/mpeg"
const/4 v6, 0x0
const/4 v7, -0x1
const/4 v8, -0x1
const/4 v9, 0x1
const/4 v11, 0x0
const/4 v12, 0x0
const/4 v13, 0x0
const/4 v14, 0x0
.line 49
invoke-static/range {v4 .. v14}, Lcom/mbridge/msdk/playercommon/exoplayer2/Format;->createAudioSampleFormat(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IIIILjava/util/List;Lcom/mbridge/msdk/playercommon/exoplayer2/drm/DrmInitData;ILjava/lang/String;)Lcom/mbridge/msdk/playercommon/exoplayer2/Format;
move-result-object v1
iget-object v3, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/TagPayloadReader;->output:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;
.line 51
invoke-interface {v3, v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;->format(Lcom/mbridge/msdk/playercommon/exoplayer2/Format;)V
iput-boolean v2, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/AudioTagPayloadReader;->hasOutputFormat:Z
goto :goto_4
:cond_0
const/4 v6, 0x7
if-eq v3, v6, :cond_3
const/16 v7, 0x8
if-ne v3, v7, :cond_1
goto :goto_0
:cond_1
const/16 v1, 0xa
if-ne v3, v1, :cond_2
goto :goto_4
.line 62
:cond_2
new-instance v1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/TagPayloadReader$UnsupportedFormatException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "Audio format not supported: "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget v3, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/AudioTagPayloadReader;->audioFormat:I
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/TagPayloadReader$UnsupportedFormatException;-><init>(Ljava/lang/String;)V
throw v1
:cond_3
:goto_0
if-ne v3, v6, :cond_4
const-string v3, "audio/g711-alaw"
:goto_1
move-object v7, v3
goto :goto_2
:cond_4
const-string v3, "audio/g711-mlaw"
goto :goto_1
:goto_2
and-int/2addr v1, v2
if-ne v1, v2, :cond_5
move v13, v5
goto :goto_3
:cond_5
move v13, v4
:goto_3
const/4 v6, 0x0
const/4 v8, 0x0
const/4 v9, -0x1
const/4 v10, -0x1
const/4 v11, 0x1
const/16 v12, 0x1f40
const/4 v14, 0x0
const/4 v15, 0x0
const/16 v16, 0x0
const/16 v17, 0x0
.line 57
invoke-static/range {v6 .. v17}, Lcom/mbridge/msdk/playercommon/exoplayer2/Format;->createAudioSampleFormat(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IIIIILjava/util/List;Lcom/mbridge/msdk/playercommon/exoplayer2/drm/DrmInitData;ILjava/lang/String;)Lcom/mbridge/msdk/playercommon/exoplayer2/Format;
move-result-object v1
iget-object v3, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/TagPayloadReader;->output:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;
.line 59
invoke-interface {v3, v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;->format(Lcom/mbridge/msdk/playercommon/exoplayer2/Format;)V
iput-boolean v2, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/AudioTagPayloadReader;->hasOutputFormat:Z
:goto_4
iput-boolean v2, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/AudioTagPayloadReader;->hasParsedAudioDataHeader:Z
goto :goto_5
:cond_6
move-object/from16 v1, p1
.line 67
invoke-virtual {v1, v2}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->skipBytes(I)V
:goto_5
return v2
.end method
.method public final parsePayload(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;J)V
.locals 16
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/mbridge/msdk/playercommon/exoplayer2/ParserException;
}
.end annotation
move-object/from16 v0, p0
move-object/from16 v1, p1
iget v2, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/AudioTagPayloadReader;->audioFormat:I
const/4 v3, 0x2
if-ne v2, v3, :cond_0
.line 75
invoke-virtual/range {p1 .. p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->bytesLeft()I
move-result v8
iget-object v2, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/TagPayloadReader;->output:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;
.line 76
invoke-interface {v2, v1, v8}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;->sampleData(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;I)V
iget-object v4, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/TagPayloadReader;->output:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;
const/4 v7, 0x1
const/4 v9, 0x0
const/4 v10, 0x0
move-wide/from16 v5, p2
.line 77
invoke-interface/range {v4 .. v10}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;->sampleMetadata(JIIILcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput$CryptoData;)V
goto :goto_0
.line 79
:cond_0
invoke-virtual/range {p1 .. p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readUnsignedByte()I
move-result v2
const/4 v3, 0x1
if-nez v2, :cond_1
iget-boolean v4, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/AudioTagPayloadReader;->hasOutputFormat:Z
if-nez v4, :cond_1
.line 82
invoke-virtual/range {p1 .. p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->bytesLeft()I
move-result v2
new-array v4, v2, [B
const/4 v5, 0x0
.line 83
invoke-virtual {v1, v4, v5, v2}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readBytes([BII)V
.line 84
invoke-static {v4}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/CodecSpecificDataUtil;->parseAacAudioSpecificConfig([B)Landroid/util/Pair;
move-result-object v1
const/4 v5, 0x0
const-string v6, "audio/mp4a-latm"
const/4 v7, 0x0
const/4 v8, -0x1
const/4 v9, -0x1
.line 86
iget-object v2, v1, Landroid/util/Pair;->second:Ljava/lang/Object;
check-cast v2, Ljava/lang/Integer;
.line 87
invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
move-result v10
iget-object v1, v1, Landroid/util/Pair;->first:Ljava/lang/Object;
check-cast v1, Ljava/lang/Integer;
invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
move-result v11
.line 88
invoke-static {v4}, Ljava/util/Collections;->singletonList(Ljava/lang/Object;)Ljava/util/List;
move-result-object v12
const/4 v13, 0x0
const/4 v14, 0x0
const/4 v15, 0x0
.line 86
invoke-static/range {v5 .. v15}, Lcom/mbridge/msdk/playercommon/exoplayer2/Format;->createAudioSampleFormat(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IIIILjava/util/List;Lcom/mbridge/msdk/playercommon/exoplayer2/drm/DrmInitData;ILjava/lang/String;)Lcom/mbridge/msdk/playercommon/exoplayer2/Format;
move-result-object v1
iget-object v2, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/TagPayloadReader;->output:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;
.line 89
invoke-interface {v2, v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;->format(Lcom/mbridge/msdk/playercommon/exoplayer2/Format;)V
iput-boolean v3, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/AudioTagPayloadReader;->hasOutputFormat:Z
goto :goto_0
:cond_1
iget v4, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/AudioTagPayloadReader;->audioFormat:I
const/16 v5, 0xa
if-ne v4, v5, :cond_2
if-ne v2, v3, :cond_3
.line 92
:cond_2
invoke-virtual/range {p1 .. p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->bytesLeft()I
move-result v10
iget-object v2, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/TagPayloadReader;->output:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;
.line 93
invoke-interface {v2, v1, v10}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;->sampleData(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;I)V
iget-object v6, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/TagPayloadReader;->output:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;
const/4 v9, 0x1
const/4 v11, 0x0
const/4 v12, 0x0
move-wide/from16 v7, p2
.line 94
invoke-interface/range {v6 .. v12}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;->sampleMetadata(JIIILcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput$CryptoData;)V
:cond_3
:goto_0
return-void
.end method
.method public final seek()V
.locals 0
return-void
.end method

View File

@@ -0,0 +1,48 @@
.class Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor$1;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorsFactory;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public createExtractors()[Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/Extractor;
.locals 3
const/4 v0, 0x1
new-array v0, v0, [Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/Extractor;
.line 26
new-instance v1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;
invoke-direct {v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;-><init>()V
const/4 v2, 0x0
aput-object v1, v0, v2
return-object v0
.end method

View File

@@ -0,0 +1,21 @@
.class interface abstract annotation Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor$States;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Ljava/lang/annotation/Annotation;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x2609
name = "States"
.end annotation
.annotation runtime Ljava/lang/annotation/Retention;
value = .enum Ljava/lang/annotation/RetentionPolicy;->SOURCE:Ljava/lang/annotation/RetentionPolicy;
.end annotation

View File

@@ -0,0 +1,905 @@
.class public final Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/Extractor;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor$States;
}
.end annotation
# static fields
.field public static final FACTORY:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorsFactory;
.field private static final FLV_HEADER_SIZE:I = 0x9
.field private static final FLV_TAG:I
.field private static final FLV_TAG_HEADER_SIZE:I = 0xb
.field private static final STATE_READING_FLV_HEADER:I = 0x1
.field private static final STATE_READING_TAG_DATA:I = 0x4
.field private static final STATE_READING_TAG_HEADER:I = 0x3
.field private static final STATE_SKIPPING_TO_TAG_HEADER:I = 0x2
.field private static final TAG_TYPE_AUDIO:I = 0x8
.field private static final TAG_TYPE_SCRIPT_DATA:I = 0x12
.field private static final TAG_TYPE_VIDEO:I = 0x9
# instance fields
.field private audioReader:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/AudioTagPayloadReader;
.field private bytesToNextTagHeader:I
.field private extractorOutput:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorOutput;
.field private final headerBuffer:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.field private mediaTagTimestampOffsetUs:J
.field private final metadataReader:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/ScriptTagPayloadReader;
.field private outputSeekMap:Z
.field private final scratch:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.field private state:I
.field private final tagData:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.field private tagDataSize:I
.field private final tagHeaderBuffer:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.field private tagTimestampUs:J
.field private tagType:I
.field private videoReader:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/VideoTagPayloadReader;
# direct methods
.method static constructor <clinit>()V
.locals 1
.line 22
new-instance v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor$1;
invoke-direct {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor$1;-><init>()V
sput-object v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->FACTORY:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorsFactory;
const-string v0, "FLV"
.line 51
invoke-static {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/Util;->getIntegerCodeForString(Ljava/lang/String;)I
move-result v0
sput v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->FLV_TAG:I
return-void
.end method
.method public constructor <init>()V
.locals 2
.line 70
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 71
new-instance v0, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
const/4 v1, 0x4
invoke-direct {v0, v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;-><init>(I)V
iput-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->scratch:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 72
new-instance v0, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
const/16 v1, 0x9
invoke-direct {v0, v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;-><init>(I)V
iput-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->headerBuffer:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 73
new-instance v0, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
const/16 v1, 0xb
invoke-direct {v0, v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;-><init>(I)V
iput-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->tagHeaderBuffer:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 74
new-instance v0, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
invoke-direct {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;-><init>()V
iput-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->tagData:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 75
new-instance v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/ScriptTagPayloadReader;
invoke-direct {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/ScriptTagPayloadReader;-><init>()V
iput-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->metadataReader:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/ScriptTagPayloadReader;
const/4 v0, 0x1
iput v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->state:I
const-wide v0, -0x7fffffffffffffffL # -4.9E-324
iput-wide v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->mediaTagTimestampOffsetUs:J
return-void
.end method
.method private ensureReadyForMediaOutput()V
.locals 5
iget-boolean v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->outputSeekMap:Z
const-wide v1, -0x7fffffffffffffffL # -4.9E-324
if-nez v0, :cond_0
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->extractorOutput:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorOutput;
.line 249
new-instance v3, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$Unseekable;
invoke-direct {v3, v1, v2}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$Unseekable;-><init>(J)V
invoke-interface {v0, v3}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorOutput;->seekMap(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap;)V
const/4 v0, 0x1
iput-boolean v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->outputSeekMap:Z
:cond_0
iget-wide v3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->mediaTagTimestampOffsetUs:J
cmp-long v0, v3, v1
if-nez v0, :cond_2
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->metadataReader:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/ScriptTagPayloadReader;
.line 254
invoke-virtual {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/ScriptTagPayloadReader;->getDurationUs()J
move-result-wide v3
cmp-long v0, v3, v1
if-nez v0, :cond_1
iget-wide v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->tagTimestampUs:J
neg-long v0, v0
goto :goto_0
:cond_1
const-wide/16 v0, 0x0
:goto_0
iput-wide v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->mediaTagTimestampOffsetUs:J
:cond_2
return-void
.end method
.method private prepareTagData(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;)Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.locals 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
iget v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->tagDataSize:I
iget-object v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->tagData:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 237
invoke-virtual {v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->capacity()I
move-result v1
const/4 v2, 0x0
if-le v0, v1, :cond_0
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->tagData:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 238
invoke-virtual {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->capacity()I
move-result v1
mul-int/lit8 v1, v1, 0x2
iget v3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->tagDataSize:I
invoke-static {v1, v3}, Ljava/lang/Math;->max(II)I
move-result v1
new-array v1, v1, [B
invoke-virtual {v0, v1, v2}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->reset([BI)V
goto :goto_0
:cond_0
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->tagData:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 240
invoke-virtual {v0, v2}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->setPosition(I)V
:goto_0
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->tagData:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
iget v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->tagDataSize:I
.line 242
invoke-virtual {v0, v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->setLimit(I)V
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->tagData:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 243
iget-object v0, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->data:[B
iget v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->tagDataSize:I
invoke-interface {p1, v0, v2, v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->readFully([BII)V
iget-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->tagData:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
return-object p1
.end method
.method private readFlvHeader(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;)Z
.locals 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->headerBuffer:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 160
iget-object v0, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->data:[B
const/4 v1, 0x0
const/16 v2, 0x9
const/4 v3, 0x1
invoke-interface {p1, v0, v1, v2, v3}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->readFully([BIIZ)Z
move-result p1
if-nez p1, :cond_0
return v1
:cond_0
iget-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->headerBuffer:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 165
invoke-virtual {p1, v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->setPosition(I)V
iget-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->headerBuffer:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
const/4 v0, 0x4
.line 166
invoke-virtual {p1, v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->skipBytes(I)V
iget-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->headerBuffer:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 167
invoke-virtual {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readUnsignedByte()I
move-result p1
and-int/lit8 v0, p1, 0x4
if-eqz v0, :cond_1
move v0, v3
goto :goto_0
:cond_1
move v0, v1
:goto_0
and-int/2addr p1, v3
if-eqz p1, :cond_2
move v1, v3
:cond_2
if-eqz v0, :cond_3
iget-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->audioReader:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/AudioTagPayloadReader;
if-nez p1, :cond_3
.line 171
new-instance p1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/AudioTagPayloadReader;
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->extractorOutput:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorOutput;
const/16 v4, 0x8
.line 172
invoke-interface {v0, v4, v3}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorOutput;->track(II)Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;
move-result-object v0
invoke-direct {p1, v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/AudioTagPayloadReader;-><init>(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;)V
iput-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->audioReader:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/AudioTagPayloadReader;
:cond_3
const/4 p1, 0x2
if-eqz v1, :cond_4
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->videoReader:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/VideoTagPayloadReader;
if-nez v0, :cond_4
.line 175
new-instance v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/VideoTagPayloadReader;
iget-object v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->extractorOutput:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorOutput;
.line 176
invoke-interface {v1, v2, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorOutput;->track(II)Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;
move-result-object v1
invoke-direct {v0, v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/VideoTagPayloadReader;-><init>(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;)V
iput-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->videoReader:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/VideoTagPayloadReader;
:cond_4
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->extractorOutput:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorOutput;
.line 178
invoke-interface {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorOutput;->endTracks()V
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->headerBuffer:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 181
invoke-virtual {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readInt()I
move-result v0
add-int/lit8 v0, v0, -0x5
iput v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->bytesToNextTagHeader:I
iput p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->state:I
return v3
.end method
.method private readTagData(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;)Z
.locals 7
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
iget v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->tagType:I
const/16 v1, 0x8
const/4 v2, 0x1
if-ne v0, v1, :cond_0
iget-object v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->audioReader:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/AudioTagPayloadReader;
if-eqz v1, :cond_0
.line 214
invoke-direct {p0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->ensureReadyForMediaOutput()V
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->audioReader:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/AudioTagPayloadReader;
.line 215
invoke-direct {p0, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->prepareTagData(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;)Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
move-result-object p1
iget-wide v3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->mediaTagTimestampOffsetUs:J
iget-wide v5, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->tagTimestampUs:J
add-long/2addr v3, v5
invoke-virtual {v0, p1, v3, v4}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/TagPayloadReader;->consume(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;J)V
goto :goto_0
:cond_0
const/16 v1, 0x9
if-ne v0, v1, :cond_1
iget-object v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->videoReader:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/VideoTagPayloadReader;
if-eqz v1, :cond_1
.line 217
invoke-direct {p0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->ensureReadyForMediaOutput()V
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->videoReader:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/VideoTagPayloadReader;
.line 218
invoke-direct {p0, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->prepareTagData(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;)Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
move-result-object p1
iget-wide v3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->mediaTagTimestampOffsetUs:J
iget-wide v5, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->tagTimestampUs:J
add-long/2addr v3, v5
invoke-virtual {v0, p1, v3, v4}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/TagPayloadReader;->consume(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;J)V
goto :goto_0
:cond_1
const/16 v1, 0x12
if-ne v0, v1, :cond_2
iget-boolean v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->outputSeekMap:Z
if-nez v0, :cond_2
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->metadataReader:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/ScriptTagPayloadReader;
.line 220
invoke-direct {p0, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->prepareTagData(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;)Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
move-result-object p1
iget-wide v3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->tagTimestampUs:J
invoke-virtual {v0, p1, v3, v4}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/TagPayloadReader;->consume(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;J)V
iget-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->metadataReader:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/ScriptTagPayloadReader;
.line 221
invoke-virtual {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/ScriptTagPayloadReader;->getDurationUs()J
move-result-wide v0
const-wide v3, -0x7fffffffffffffffL # -4.9E-324
cmp-long p1, v0, v3
if-eqz p1, :cond_3
iget-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->extractorOutput:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorOutput;
.line 223
new-instance v3, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$Unseekable;
invoke-direct {v3, v0, v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$Unseekable;-><init>(J)V
invoke-interface {p1, v3}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorOutput;->seekMap(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap;)V
iput-boolean v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->outputSeekMap:Z
goto :goto_0
:cond_2
iget v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->tagDataSize:I
.line 227
invoke-interface {p1, v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->skipFully(I)V
const/4 v2, 0x0
:cond_3
:goto_0
const/4 p1, 0x4
iput p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->bytesToNextTagHeader:I
const/4 p1, 0x2
iput p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->state:I
return v2
.end method
.method private readTagHeader(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;)Z
.locals 6
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->tagHeaderBuffer:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 195
iget-object v0, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->data:[B
const/4 v1, 0x0
const/16 v2, 0xb
const/4 v3, 0x1
invoke-interface {p1, v0, v1, v2, v3}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->readFully([BIIZ)Z
move-result p1
if-nez p1, :cond_0
return v1
:cond_0
iget-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->tagHeaderBuffer:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 200
invoke-virtual {p1, v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->setPosition(I)V
iget-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->tagHeaderBuffer:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 201
invoke-virtual {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readUnsignedByte()I
move-result p1
iput p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->tagType:I
iget-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->tagHeaderBuffer:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 202
invoke-virtual {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readUnsignedInt24()I
move-result p1
iput p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->tagDataSize:I
iget-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->tagHeaderBuffer:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 203
invoke-virtual {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readUnsignedInt24()I
move-result p1
int-to-long v0, p1
iput-wide v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->tagTimestampUs:J
iget-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->tagHeaderBuffer:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 204
invoke-virtual {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readUnsignedByte()I
move-result p1
shl-int/lit8 p1, p1, 0x18
int-to-long v0, p1
iget-wide v4, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->tagTimestampUs:J
or-long/2addr v0, v4
const-wide/16 v4, 0x3e8
mul-long/2addr v0, v4
iput-wide v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->tagTimestampUs:J
iget-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->tagHeaderBuffer:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
const/4 v0, 0x3
.line 205
invoke-virtual {p1, v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->skipBytes(I)V
const/4 p1, 0x4
iput p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->state:I
return v3
.end method
.method private skipToTagHeader(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;)V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
iget v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->bytesToNextTagHeader:I
.line 188
invoke-interface {p1, v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->skipFully(I)V
const/4 p1, 0x0
iput p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->bytesToNextTagHeader:I
const/4 p1, 0x3
iput p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->state:I
return-void
.end method
# virtual methods
.method public final init(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorOutput;)V
.locals 0
iput-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->extractorOutput:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorOutput;
return-void
.end method
.method public final read(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/PositionHolder;)I
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
:cond_0
:goto_0
iget p2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->state:I
const/4 v0, 0x1
const/4 v1, -0x1
if-eq p2, v0, :cond_4
const/4 v0, 0x2
if-eq p2, v0, :cond_3
const/4 v0, 0x3
if-eq p2, v0, :cond_2
const/4 v0, 0x4
if-ne p2, v0, :cond_1
.line 147
invoke-direct {p0, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->readTagData(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;)Z
move-result p2
if-eqz p2, :cond_0
const/4 p1, 0x0
return p1
.line 153
:cond_1
new-instance p1, Ljava/lang/IllegalStateException;
invoke-direct {p1}, Ljava/lang/IllegalStateException;-><init>()V
throw p1
.line 142
:cond_2
invoke-direct {p0, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->readTagHeader(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;)Z
move-result p2
if-nez p2, :cond_0
return v1
.line 139
:cond_3
invoke-direct {p0, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->skipToTagHeader(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;)V
goto :goto_0
.line 134
:cond_4
invoke-direct {p0, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->readFlvHeader(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;)Z
move-result p2
if-nez p2, :cond_0
return v1
.end method
.method public final release()V
.locals 0
return-void
.end method
.method public final seek(JJ)V
.locals 0
const/4 p1, 0x1
iput p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->state:I
const-wide p1, -0x7fffffffffffffffL # -4.9E-324
iput-wide p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->mediaTagTimestampOffsetUs:J
const/4 p1, 0x0
iput p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->bytesToNextTagHeader:I
return-void
.end method
.method public final sniff(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;)Z
.locals 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->scratch:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 83
iget-object v0, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->data:[B
const/4 v1, 0x3
const/4 v2, 0x0
invoke-interface {p1, v0, v2, v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->peekFully([BII)V
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->scratch:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 84
invoke-virtual {v0, v2}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->setPosition(I)V
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->scratch:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 85
invoke-virtual {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readUnsignedInt24()I
move-result v0
sget v1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->FLV_TAG:I
if-eq v0, v1, :cond_0
return v2
:cond_0
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->scratch:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 90
iget-object v0, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->data:[B
const/4 v1, 0x2
invoke-interface {p1, v0, v2, v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->peekFully([BII)V
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->scratch:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 91
invoke-virtual {v0, v2}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->setPosition(I)V
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->scratch:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 92
invoke-virtual {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readUnsignedShort()I
move-result v0
and-int/lit16 v0, v0, 0xfa
if-eqz v0, :cond_1
return v2
:cond_1
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->scratch:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 97
iget-object v0, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->data:[B
const/4 v1, 0x4
invoke-interface {p1, v0, v2, v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->peekFully([BII)V
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->scratch:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 98
invoke-virtual {v0, v2}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->setPosition(I)V
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->scratch:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 99
invoke-virtual {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readInt()I
move-result v0
.line 101
invoke-interface {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->resetPeekPosition()V
.line 102
invoke-interface {p1, v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->advancePeekPosition(I)V
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->scratch:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 105
iget-object v0, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->data:[B
invoke-interface {p1, v0, v2, v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->peekFully([BII)V
iget-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->scratch:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 106
invoke-virtual {p1, v2}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->setPosition(I)V
iget-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/FlvExtractor;->scratch:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 108
invoke-virtual {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readInt()I
move-result p1
if-nez p1, :cond_2
const/4 v2, 0x1
:cond_2
return v2
.end method

View File

@@ -0,0 +1,513 @@
.class final Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/ScriptTagPayloadReader;
.super Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/TagPayloadReader;
.source "SourceFile"
# static fields
.field private static final AMF_TYPE_BOOLEAN:I = 0x1
.field private static final AMF_TYPE_DATE:I = 0xb
.field private static final AMF_TYPE_ECMA_ARRAY:I = 0x8
.field private static final AMF_TYPE_END_MARKER:I = 0x9
.field private static final AMF_TYPE_NUMBER:I = 0x0
.field private static final AMF_TYPE_OBJECT:I = 0x3
.field private static final AMF_TYPE_STRICT_ARRAY:I = 0xa
.field private static final AMF_TYPE_STRING:I = 0x2
.field private static final KEY_DURATION:Ljava/lang/String; = "duration"
.field private static final NAME_METADATA:Ljava/lang/String; = "onMetaData"
# instance fields
.field private durationUs:J
# direct methods
.method public constructor <init>()V
.locals 2
const/4 v0, 0x0
.line 31
invoke-direct {p0, v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/TagPayloadReader;-><init>(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;)V
const-wide v0, -0x7fffffffffffffffL # -4.9E-324
iput-wide v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/ScriptTagPayloadReader;->durationUs:J
return-void
.end method
.method private static readAmfBoolean(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;)Ljava/lang/Boolean;
.locals 1
.line 82
invoke-virtual {p0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readUnsignedByte()I
move-result p0
const/4 v0, 0x1
if-ne p0, v0, :cond_0
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
invoke-static {v0}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object p0
return-object p0
.end method
.method private static readAmfData(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;I)Ljava/lang/Object;
.locals 1
if-eqz p1, :cond_6
const/4 v0, 0x1
if-eq p1, v0, :cond_5
const/4 v0, 0x2
if-eq p1, v0, :cond_4
const/4 v0, 0x3
if-eq p1, v0, :cond_3
const/16 v0, 0x8
if-eq p1, v0, :cond_2
const/16 v0, 0xa
if-eq p1, v0, :cond_1
const/16 v0, 0xb
if-eq p1, v0, :cond_0
const/4 p0, 0x0
return-object p0
.line 157
:cond_0
invoke-static {p0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/ScriptTagPayloadReader;->readAmfDate(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;)Ljava/util/Date;
move-result-object p0
return-object p0
.line 155
:cond_1
invoke-static {p0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/ScriptTagPayloadReader;->readAmfStrictArray(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;)Ljava/util/ArrayList;
move-result-object p0
return-object p0
.line 153
:cond_2
invoke-static {p0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/ScriptTagPayloadReader;->readAmfEcmaArray(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;)Ljava/util/HashMap;
move-result-object p0
return-object p0
.line 151
:cond_3
invoke-static {p0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/ScriptTagPayloadReader;->readAmfObject(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;)Ljava/util/HashMap;
move-result-object p0
return-object p0
.line 149
:cond_4
invoke-static {p0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/ScriptTagPayloadReader;->readAmfString(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;)Ljava/lang/String;
move-result-object p0
return-object p0
.line 147
:cond_5
invoke-static {p0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/ScriptTagPayloadReader;->readAmfBoolean(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;)Ljava/lang/Boolean;
move-result-object p0
return-object p0
.line 145
:cond_6
invoke-static {p0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/ScriptTagPayloadReader;->readAmfDouble(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;)Ljava/lang/Double;
move-result-object p0
return-object p0
.end method
.method private static readAmfDate(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;)Ljava/util/Date;
.locals 3
.line 137
new-instance v0, Ljava/util/Date;
invoke-static {p0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/ScriptTagPayloadReader;->readAmfDouble(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;)Ljava/lang/Double;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/Double;->doubleValue()D
move-result-wide v1
double-to-long v1, v1
invoke-direct {v0, v1, v2}, Ljava/util/Date;-><init>(J)V
const/4 v1, 0x2
.line 138
invoke-virtual {p0, v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->skipBytes(I)V
return-object v0
.end method
.method private static readAmfDouble(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;)Ljava/lang/Double;
.locals 2
.line 87
invoke-virtual {p0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readLong()J
move-result-wide v0
invoke-static {v0, v1}, Ljava/lang/Double;->longBitsToDouble(J)D
move-result-wide v0
invoke-static {v0, v1}, Ljava/lang/Double;->valueOf(D)Ljava/lang/Double;
move-result-object p0
return-object p0
.end method
.method private static readAmfEcmaArray(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;)Ljava/util/HashMap;
.locals 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;",
")",
"Ljava/util/HashMap<",
"Ljava/lang/String;",
"Ljava/lang/Object;",
">;"
}
.end annotation
.line 125
invoke-virtual {p0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readUnsignedIntToInt()I
move-result v0
.line 126
new-instance v1, Ljava/util/HashMap;
invoke-direct {v1, v0}, Ljava/util/HashMap;-><init>(I)V
const/4 v2, 0x0
:goto_0
if-ge v2, v0, :cond_0
.line 128
invoke-static {p0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/ScriptTagPayloadReader;->readAmfString(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;)Ljava/lang/String;
move-result-object v3
.line 129
invoke-static {p0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/ScriptTagPayloadReader;->readAmfType(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;)I
move-result v4
.line 130
invoke-static {p0, v4}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/ScriptTagPayloadReader;->readAmfData(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;I)Ljava/lang/Object;
move-result-object v4
invoke-virtual {v1, v3, v4}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
add-int/lit8 v2, v2, 0x1
goto :goto_0
:cond_0
return-object v1
.end method
.method private static readAmfObject(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;)Ljava/util/HashMap;
.locals 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;",
")",
"Ljava/util/HashMap<",
"Ljava/lang/String;",
"Ljava/lang/Object;",
">;"
}
.end annotation
.line 111
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
.line 113
:goto_0
invoke-static {p0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/ScriptTagPayloadReader;->readAmfString(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;)Ljava/lang/String;
move-result-object v1
.line 114
invoke-static {p0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/ScriptTagPayloadReader;->readAmfType(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;)I
move-result v2
const/16 v3, 0x9
if-ne v2, v3, :cond_0
return-object v0
.line 118
:cond_0
invoke-static {p0, v2}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/ScriptTagPayloadReader;->readAmfData(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;I)Ljava/lang/Object;
move-result-object v2
invoke-virtual {v0, v1, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
goto :goto_0
.end method
.method private static readAmfStrictArray(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;)Ljava/util/ArrayList;
.locals 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;",
")",
"Ljava/util/ArrayList<",
"Ljava/lang/Object;",
">;"
}
.end annotation
.line 100
invoke-virtual {p0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readUnsignedIntToInt()I
move-result v0
.line 101
new-instance v1, Ljava/util/ArrayList;
invoke-direct {v1, v0}, Ljava/util/ArrayList;-><init>(I)V
const/4 v2, 0x0
:goto_0
if-ge v2, v0, :cond_0
.line 103
invoke-static {p0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/ScriptTagPayloadReader;->readAmfType(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;)I
move-result v3
.line 104
invoke-static {p0, v3}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/ScriptTagPayloadReader;->readAmfData(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;I)Ljava/lang/Object;
move-result-object v3
invoke-virtual {v1, v3}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
add-int/lit8 v2, v2, 0x1
goto :goto_0
:cond_0
return-object v1
.end method
.method private static readAmfString(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;)Ljava/lang/String;
.locals 3
.line 92
invoke-virtual {p0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readUnsignedShort()I
move-result v0
.line 93
invoke-virtual {p0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->getPosition()I
move-result v1
.line 94
invoke-virtual {p0, v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->skipBytes(I)V
.line 95
new-instance v2, Ljava/lang/String;
iget-object p0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->data:[B
invoke-direct {v2, p0, v1, v0}, Ljava/lang/String;-><init>([BII)V
return-object v2
.end method
.method private static readAmfType(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;)I
.locals 0
.line 77
invoke-virtual {p0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readUnsignedByte()I
move-result p0
return p0
.end method
# virtual methods
.method public final getDurationUs()J
.locals 2
iget-wide v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/ScriptTagPayloadReader;->durationUs:J
return-wide v0
.end method
.method public final parseHeader(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;)Z
.locals 0
const/4 p1, 0x1
return p1
.end method
.method public final parsePayload(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;J)V
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/mbridge/msdk/playercommon/exoplayer2/ParserException;
}
.end annotation
.line 51
invoke-static {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/ScriptTagPayloadReader;->readAmfType(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;)I
move-result p2
const/4 p3, 0x2
if-ne p2, p3, :cond_3
.line 56
invoke-static {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/ScriptTagPayloadReader;->readAmfString(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;)Ljava/lang/String;
move-result-object p2
const-string p3, "onMetaData"
.line 57
invoke-virtual {p3, p2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p2
if-nez p2, :cond_0
return-void
.line 61
:cond_0
invoke-static {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/ScriptTagPayloadReader;->readAmfType(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;)I
move-result p2
const/16 p3, 0x8
if-eq p2, p3, :cond_1
return-void
.line 67
:cond_1
invoke-static {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/ScriptTagPayloadReader;->readAmfEcmaArray(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;)Ljava/util/HashMap;
move-result-object p1
const-string p2, "duration"
.line 68
invoke-interface {p1, p2}, Ljava/util/Map;->containsKey(Ljava/lang/Object;)Z
move-result p3
if-eqz p3, :cond_2
.line 69
invoke-interface {p1, p2}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/lang/Double;
invoke-virtual {p1}, Ljava/lang/Double;->doubleValue()D
move-result-wide p1
const-wide/16 v0, 0x0
cmpl-double p3, p1, v0
if-lez p3, :cond_2
const-wide v0, 0x412e848000000000L # 1000000.0
mul-double/2addr p1, v0
double-to-long p1, p1
iput-wide p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/ScriptTagPayloadReader;->durationUs:J
:cond_2
return-void
.line 54
:cond_3
new-instance p1, Lcom/mbridge/msdk/playercommon/exoplayer2/ParserException;
invoke-direct {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/ParserException;-><init>()V
throw p1
.end method
.method public final seek()V
.locals 0
return-void
.end method

View File

@@ -0,0 +1,25 @@
.class public final Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/TagPayloadReader$UnsupportedFormatException;
.super Lcom/mbridge/msdk/playercommon/exoplayer2/ParserException;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/TagPayloadReader;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "UnsupportedFormatException"
.end annotation
# direct methods
.method public constructor <init>(Ljava/lang/String;)V
.locals 0
.line 15
invoke-direct {p0, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/ParserException;-><init>(Ljava/lang/String;)V
return-void
.end method

View File

@@ -0,0 +1,71 @@
.class abstract Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/TagPayloadReader;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/TagPayloadReader$UnsupportedFormatException;
}
.end annotation
# instance fields
.field protected final output:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;
# direct methods
.method public constructor <init>(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;)V
.locals 0
.line 23
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/TagPayloadReader;->output:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;
return-void
.end method
# virtual methods
.method public final consume(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;J)V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/mbridge/msdk/playercommon/exoplayer2/ParserException;
}
.end annotation
.line 32
invoke-virtual {p0, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/TagPayloadReader;->parseHeader(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;)Z
move-result v0
if-eqz v0, :cond_0
.line 33
invoke-virtual {p0, p1, p2, p3}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/TagPayloadReader;->parsePayload(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;J)V
:cond_0
return-void
.end method
.method public abstract parseHeader(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;)Z
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/mbridge/msdk/playercommon/exoplayer2/ParserException;
}
.end annotation
.end method
.method public abstract parsePayload(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;J)V
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/mbridge/msdk/playercommon/exoplayer2/ParserException;
}
.end annotation
.end method
.method public abstract seek()V
.end method

View File

@@ -0,0 +1,340 @@
.class final Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/VideoTagPayloadReader;
.super Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/TagPayloadReader;
.source "SourceFile"
# static fields
.field private static final AVC_PACKET_TYPE_AVC_NALU:I = 0x1
.field private static final AVC_PACKET_TYPE_SEQUENCE_HEADER:I = 0x0
.field private static final VIDEO_CODEC_AVC:I = 0x7
.field private static final VIDEO_FRAME_KEYFRAME:I = 0x1
.field private static final VIDEO_FRAME_VIDEO_INFO:I = 0x5
# instance fields
.field private frameType:I
.field private hasOutputFormat:Z
.field private final nalLength:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.field private final nalStartCode:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.field private nalUnitLengthFieldLength:I
# direct methods
.method public constructor <init>(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;)V
.locals 1
.line 38
invoke-direct {p0, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/TagPayloadReader;-><init>(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;)V
.line 39
new-instance p1, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
sget-object v0, Lcom/mbridge/msdk/playercommon/exoplayer2/util/NalUnitUtil;->NAL_START_CODE:[B
invoke-direct {p1, v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;-><init>([B)V
iput-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/VideoTagPayloadReader;->nalStartCode:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 40
new-instance p1, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
const/4 v0, 0x4
invoke-direct {p1, v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;-><init>(I)V
iput-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/VideoTagPayloadReader;->nalLength:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
return-void
.end method
# virtual methods
.method public final parseHeader(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;)Z
.locals 3
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/TagPayloadReader$UnsupportedFormatException;
}
.end annotation
.line 50
invoke-virtual {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readUnsignedByte()I
move-result p1
shr-int/lit8 v0, p1, 0x4
and-int/lit8 v0, v0, 0xf
and-int/lit8 p1, p1, 0xf
const/4 v1, 0x7
if-ne p1, v1, :cond_1
iput v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/VideoTagPayloadReader;->frameType:I
const/4 p1, 0x5
if-eq v0, p1, :cond_0
const/4 p1, 0x1
goto :goto_0
:cond_0
const/4 p1, 0x0
:goto_0
return p1
.line 55
:cond_1
new-instance v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/TagPayloadReader$UnsupportedFormatException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Video format not supported: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {v0, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/TagPayloadReader$UnsupportedFormatException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public final parsePayload(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;J)V
.locals 12
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/mbridge/msdk/playercommon/exoplayer2/ParserException;
}
.end annotation
.line 63
invoke-virtual {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readUnsignedByte()I
move-result v0
.line 64
invoke-virtual {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readInt24()I
move-result v1
int-to-long v1, v1
const-wide/16 v3, 0x3e8
mul-long/2addr v1, v3
add-long v4, p2, v1
const/4 p2, 0x1
const/4 p3, 0x0
if-nez v0, :cond_0
iget-boolean v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/VideoTagPayloadReader;->hasOutputFormat:Z
if-nez v1, :cond_0
.line 69
new-instance v0, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
invoke-virtual {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->bytesLeft()I
move-result v1
new-array v1, v1, [B
invoke-direct {v0, v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;-><init>([B)V
iget-object v1, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->data:[B
.line 70
invoke-virtual {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->bytesLeft()I
move-result v2
invoke-virtual {p1, v1, p3, v2}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readBytes([BII)V
.line 71
invoke-static {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/video/AvcConfig;->parse(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;)Lcom/mbridge/msdk/playercommon/exoplayer2/video/AvcConfig;
move-result-object p1
.line 72
iget p3, p1, Lcom/mbridge/msdk/playercommon/exoplayer2/video/AvcConfig;->nalUnitLengthFieldLength:I
iput p3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/VideoTagPayloadReader;->nalUnitLengthFieldLength:I
const/4 v0, 0x0
const-string v1, "video/avc"
const/4 v2, 0x0
const/4 v3, -0x1
const/4 v4, -0x1
.line 74
iget v5, p1, Lcom/mbridge/msdk/playercommon/exoplayer2/video/AvcConfig;->width:I
iget v6, p1, Lcom/mbridge/msdk/playercommon/exoplayer2/video/AvcConfig;->height:I
const/high16 v7, -0x40800000 # -1.0f
iget-object v8, p1, Lcom/mbridge/msdk/playercommon/exoplayer2/video/AvcConfig;->initializationData:Ljava/util/List;
const/4 v9, -0x1
iget v10, p1, Lcom/mbridge/msdk/playercommon/exoplayer2/video/AvcConfig;->pixelWidthAspectRatio:F
const/4 v11, 0x0
invoke-static/range {v0 .. v11}, Lcom/mbridge/msdk/playercommon/exoplayer2/Format;->createVideoSampleFormat(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IIIIFLjava/util/List;IFLcom/mbridge/msdk/playercommon/exoplayer2/drm/DrmInitData;)Lcom/mbridge/msdk/playercommon/exoplayer2/Format;
move-result-object p1
iget-object p3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/TagPayloadReader;->output:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;
.line 77
invoke-interface {p3, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;->format(Lcom/mbridge/msdk/playercommon/exoplayer2/Format;)V
iput-boolean p2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/VideoTagPayloadReader;->hasOutputFormat:Z
goto :goto_2
:cond_0
if-ne v0, p2, :cond_3
iget-boolean v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/VideoTagPayloadReader;->hasOutputFormat:Z
if-eqz v0, :cond_3
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/VideoTagPayloadReader;->nalLength:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 83
iget-object v0, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->data:[B
.line 84
aput-byte p3, v0, p3
.line 85
aput-byte p3, v0, p2
const/4 v1, 0x2
.line 86
aput-byte p3, v0, v1
iget v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/VideoTagPayloadReader;->nalUnitLengthFieldLength:I
const/4 v1, 0x4
rsub-int/lit8 v0, v0, 0x4
move v7, p3
.line 93
:goto_0
invoke-virtual {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->bytesLeft()I
move-result v2
if-lez v2, :cond_1
iget-object v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/VideoTagPayloadReader;->nalLength:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 95
iget-object v2, v2, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->data:[B
iget v3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/VideoTagPayloadReader;->nalUnitLengthFieldLength:I
invoke-virtual {p1, v2, v0, v3}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readBytes([BII)V
iget-object v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/VideoTagPayloadReader;->nalLength:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 96
invoke-virtual {v2, p3}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->setPosition(I)V
iget-object v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/VideoTagPayloadReader;->nalLength:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 97
invoke-virtual {v2}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readUnsignedIntToInt()I
move-result v2
iget-object v3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/VideoTagPayloadReader;->nalStartCode:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 100
invoke-virtual {v3, p3}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->setPosition(I)V
iget-object v3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/TagPayloadReader;->output:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;
iget-object v6, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/VideoTagPayloadReader;->nalStartCode:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 101
invoke-interface {v3, v6, v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;->sampleData(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;I)V
add-int/lit8 v7, v7, 0x4
iget-object v3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/TagPayloadReader;->output:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;
.line 105
invoke-interface {v3, p1, v2}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;->sampleData(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;I)V
add-int/2addr v7, v2
goto :goto_0
:cond_1
iget-object v3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/TagPayloadReader;->output:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;
iget p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/flv/VideoTagPayloadReader;->frameType:I
if-ne p1, p2, :cond_2
move v6, p2
goto :goto_1
:cond_2
move v6, p3
:goto_1
const/4 v8, 0x0
const/4 v9, 0x0
.line 108
invoke-interface/range {v3 .. v9}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;->sampleMetadata(JIIILcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput$CryptoData;)V
:cond_3
:goto_2
return-void
.end method
.method public final seek()V
.locals 0
return-void
.end method

View File

@@ -0,0 +1,14 @@
.class synthetic Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader$1;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1009
name = null
.end annotation

View File

@@ -0,0 +1,21 @@
.class interface abstract annotation Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader$ElementState;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Ljava/lang/annotation/Annotation;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x2609
name = "ElementState"
.end annotation
.annotation runtime Ljava/lang/annotation/Retention;
value = .enum Ljava/lang/annotation/RetentionPolicy;->SOURCE:Ljava/lang/annotation/RetentionPolicy;
.end annotation

View File

@@ -0,0 +1,62 @@
.class final Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader$MasterElement;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "MasterElement"
.end annotation
# instance fields
.field private final elementEndPosition:J
.field private final elementId:I
# direct methods
.method private constructor <init>(IJ)V
.locals 0
.line 197
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader$MasterElement;->elementId:I
iput-wide p2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader$MasterElement;->elementEndPosition:J
return-void
.end method
.method public synthetic constructor <init>(IJLcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader$1;)V
.locals 0
.line 192
invoke-direct {p0, p1, p2, p3}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader$MasterElement;-><init>(IJ)V
return-void
.end method
.method public static synthetic access$000(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader$MasterElement;)J
.locals 2
.line 192
iget-wide v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader$MasterElement;->elementEndPosition:J
return-wide v0
.end method
.method public static synthetic access$100(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader$MasterElement;)I
.locals 0
.line 192
iget p0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader$MasterElement;->elementId:I
return p0
.end method

View File

@@ -0,0 +1,728 @@
.class final Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/EbmlReader;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader$MasterElement;,
Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader$ElementState;
}
.end annotation
# static fields
.field private static final ELEMENT_STATE_READ_CONTENT:I = 0x2
.field private static final ELEMENT_STATE_READ_CONTENT_SIZE:I = 0x1
.field private static final ELEMENT_STATE_READ_ID:I = 0x0
.field private static final MAX_ID_BYTES:I = 0x4
.field private static final MAX_INTEGER_ELEMENT_SIZE_BYTES:I = 0x8
.field private static final MAX_LENGTH_BYTES:I = 0x8
.field private static final VALID_FLOAT32_ELEMENT_SIZE_BYTES:I = 0x4
.field private static final VALID_FLOAT64_ELEMENT_SIZE_BYTES:I = 0x8
# instance fields
.field private elementContentSize:J
.field private elementId:I
.field private elementState:I
.field private final masterElementsStack:Ljava/util/ArrayDeque;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/ArrayDeque<",
"Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader$MasterElement;",
">;"
}
.end annotation
.end field
.field private output:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/EbmlReaderOutput;
.field private final scratch:[B
.field private final varintReader:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/VarintReader;
# direct methods
.method public constructor <init>()V
.locals 1
.line 42
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/16 v0, 0x8
new-array v0, v0, [B
iput-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader;->scratch:[B
.line 44
new-instance v0, Ljava/util/ArrayDeque;
invoke-direct {v0}, Ljava/util/ArrayDeque;-><init>()V
iput-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader;->masterElementsStack:Ljava/util/ArrayDeque;
.line 45
new-instance v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/VarintReader;
invoke-direct {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/VarintReader;-><init>()V
iput-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader;->varintReader:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/VarintReader;
return-void
.end method
.method private maybeResyncToNextLevel1Element(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;)J
.locals 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
.line 136
invoke-interface {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->resetPeekPosition()V
:goto_0
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader;->scratch:[B
const/4 v1, 0x0
const/4 v2, 0x4
.line 138
invoke-interface {p1, v0, v1, v2}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->peekFully([BII)V
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader;->scratch:[B
.line 139
aget-byte v0, v0, v1
invoke-static {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/VarintReader;->parseUnsignedVarintLength(I)I
move-result v0
const/4 v3, -0x1
if-eq v0, v3, :cond_0
if-gt v0, v2, :cond_0
iget-object v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader;->scratch:[B
.line 141
invoke-static {v2, v0, v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/VarintReader;->assembleVarint([BIZ)J
move-result-wide v1
long-to-int v1, v1
iget-object v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader;->output:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/EbmlReaderOutput;
.line 142
invoke-interface {v2, v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/EbmlReaderOutput;->isLevel1Element(I)Z
move-result v2
if-eqz v2, :cond_0
.line 143
invoke-interface {p1, v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->skipFully(I)V
int-to-long v0, v1
return-wide v0
:cond_0
const/4 v0, 0x1
.line 147
invoke-interface {p1, v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->skipFully(I)V
goto :goto_0
.end method
.method private readFloat(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;I)D
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
.line 165
invoke-direct {p0, p1, p2}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader;->readInteger(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;I)J
move-result-wide v0
const/4 p1, 0x4
if-ne p2, p1, :cond_0
long-to-int p1, v0
.line 168
invoke-static {p1}, Ljava/lang/Float;->intBitsToFloat(I)F
move-result p1
float-to-double p1, p1
goto :goto_0
.line 170
:cond_0
invoke-static {v0, v1}, Ljava/lang/Double;->longBitsToDouble(J)D
move-result-wide p1
:goto_0
return-wide p1
.end method
.method private readInteger(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;I)J
.locals 6
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader;->scratch:[B
const/4 v1, 0x0
.line 154
invoke-interface {p1, v0, v1, p2}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->readFully([BII)V
const-wide/16 v2, 0x0
:goto_0
if-ge v1, p2, :cond_0
const/16 p1, 0x8
shl-long/2addr v2, p1
iget-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader;->scratch:[B
.line 157
aget-byte p1, p1, v1
and-int/lit16 p1, p1, 0xff
int-to-long v4, p1
or-long/2addr v2, v4
add-int/lit8 v1, v1, 0x1
goto :goto_0
:cond_0
return-wide v2
.end method
.method private readString(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;I)Ljava/lang/String;
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
if-nez p2, :cond_0
const-string p1, ""
return-object p1
.line 181
:cond_0
new-array v0, p2, [B
const/4 v1, 0x0
.line 182
invoke-interface {p1, v0, v1, p2}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->readFully([BII)V
:goto_0
if-lez p2, :cond_1
add-int/lit8 p1, p2, -0x1
.line 185
aget-byte p1, v0, p1
if-nez p1, :cond_1
add-int/lit8 p2, p2, -0x1
goto :goto_0
.line 188
:cond_1
new-instance p1, Ljava/lang/String;
invoke-direct {p1, v0, v1, p2}, Ljava/lang/String;-><init>([BII)V
return-object p1
.end method
# virtual methods
.method public final init(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/EbmlReaderOutput;)V
.locals 0
iput-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader;->output:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/EbmlReaderOutput;
return-void
.end method
.method public final read(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;)Z
.locals 9
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader;->output:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/EbmlReaderOutput;
const/4 v1, 0x0
const/4 v2, 0x1
if-eqz v0, :cond_0
move v0, v2
goto :goto_0
:cond_0
move v0, v1
.line 62
:goto_0
invoke-static {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/Assertions;->checkState(Z)V
:goto_1
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader;->masterElementsStack:Ljava/util/ArrayDeque;
.line 64
invoke-virtual {v0}, Ljava/util/ArrayDeque;->isEmpty()Z
move-result v0
if-nez v0, :cond_1
.line 65
invoke-interface {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->getPosition()J
move-result-wide v3
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader;->masterElementsStack:Ljava/util/ArrayDeque;
invoke-virtual {v0}, Ljava/util/ArrayDeque;->peek()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader$MasterElement;
invoke-static {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader$MasterElement;->access$000(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader$MasterElement;)J
move-result-wide v5
cmp-long v0, v3, v5
if-ltz v0, :cond_1
iget-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader;->output:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/EbmlReaderOutput;
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader;->masterElementsStack:Ljava/util/ArrayDeque;
.line 66
invoke-virtual {v0}, Ljava/util/ArrayDeque;->pop()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader$MasterElement;
invoke-static {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader$MasterElement;->access$100(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader$MasterElement;)I
move-result v0
invoke-interface {p1, v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/EbmlReaderOutput;->endMasterElement(I)V
return v2
:cond_1
iget v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader;->elementState:I
const/4 v3, 0x4
if-nez v0, :cond_4
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader;->varintReader:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/VarintReader;
.line 71
invoke-virtual {v0, p1, v2, v1, v3}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/VarintReader;->readUnsignedVarint(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;ZZI)J
move-result-wide v4
const-wide/16 v6, -0x2
cmp-long v0, v4, v6
if-nez v0, :cond_2
.line 73
invoke-direct {p0, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader;->maybeResyncToNextLevel1Element(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;)J
move-result-wide v4
:cond_2
const-wide/16 v6, -0x1
cmp-long v0, v4, v6
if-nez v0, :cond_3
return v1
:cond_3
long-to-int v0, v4
iput v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader;->elementId:I
iput v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader;->elementState:I
:cond_4
iget v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader;->elementState:I
const/4 v4, 0x2
if-ne v0, v2, :cond_5
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader;->varintReader:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/VarintReader;
const/16 v5, 0x8
.line 84
invoke-virtual {v0, p1, v1, v2, v5}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/VarintReader;->readUnsignedVarint(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;ZZI)J
move-result-wide v5
iput-wide v5, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader;->elementContentSize:J
iput v4, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader;->elementState:I
:cond_5
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader;->output:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/EbmlReaderOutput;
iget v5, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader;->elementId:I
.line 88
invoke-interface {v0, v5}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/EbmlReaderOutput;->getElementType(I)I
move-result v0
if-eqz v0, :cond_f
if-eq v0, v2, :cond_e
const-wide/16 v5, 0x8
if-eq v0, v4, :cond_c
const/4 v4, 0x3
if-eq v0, v4, :cond_a
if-eq v0, v3, :cond_9
const/4 v3, 0x5
if-ne v0, v3, :cond_8
iget-wide v3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader;->elementContentSize:J
const-wide/16 v7, 0x4
cmp-long v0, v3, v7
if-eqz v0, :cond_7
cmp-long v0, v3, v5
if-nez v0, :cond_6
goto :goto_2
.line 107
:cond_6
new-instance p1, Lcom/mbridge/msdk/playercommon/exoplayer2/ParserException;
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "Invalid float size: "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-wide v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader;->elementContentSize:J
invoke-virtual {v0, v1, v2}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {p1, v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/ParserException;-><init>(Ljava/lang/String;)V
throw p1
:cond_7
:goto_2
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader;->output:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/EbmlReaderOutput;
iget v5, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader;->elementId:I
long-to-int v3, v3
.line 109
invoke-direct {p0, p1, v3}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader;->readFloat(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;I)D
move-result-wide v3
invoke-interface {v0, v5, v3, v4}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/EbmlReaderOutput;->floatElement(ID)V
iput v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader;->elementState:I
return v2
.line 128
:cond_8
new-instance p1, Lcom/mbridge/msdk/playercommon/exoplayer2/ParserException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Invalid element type "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {p1, v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/ParserException;-><init>(Ljava/lang/String;)V
throw p1
:cond_9
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader;->output:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/EbmlReaderOutput;
iget v3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader;->elementId:I
iget-wide v4, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader;->elementContentSize:J
long-to-int v4, v4
.line 120
invoke-interface {v0, v3, v4, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/EbmlReaderOutput;->binaryElement(IILcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;)V
iput v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader;->elementState:I
return v2
:cond_a
iget-wide v3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader;->elementContentSize:J
const-wide/32 v5, 0x7fffffff
cmp-long v0, v3, v5
if-gtz v0, :cond_b
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader;->output:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/EbmlReaderOutput;
iget v5, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader;->elementId:I
long-to-int v3, v3
.line 116
invoke-direct {p0, p1, v3}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader;->readString(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;I)Ljava/lang/String;
move-result-object p1
invoke-interface {v0, v5, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/EbmlReaderOutput;->stringElement(ILjava/lang/String;)V
iput v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader;->elementState:I
return v2
.line 114
:cond_b
new-instance p1, Lcom/mbridge/msdk/playercommon/exoplayer2/ParserException;
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "String element size: "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-wide v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader;->elementContentSize:J
invoke-virtual {v0, v1, v2}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {p1, v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/ParserException;-><init>(Ljava/lang/String;)V
throw p1
:cond_c
iget-wide v3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader;->elementContentSize:J
cmp-long v0, v3, v5
if-gtz v0, :cond_d
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader;->output:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/EbmlReaderOutput;
iget v5, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader;->elementId:I
long-to-int v3, v3
.line 101
invoke-direct {p0, p1, v3}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader;->readInteger(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;I)J
move-result-wide v3
invoke-interface {v0, v5, v3, v4}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/EbmlReaderOutput;->integerElement(IJ)V
iput v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader;->elementState:I
return v2
.line 99
:cond_d
new-instance p1, Lcom/mbridge/msdk/playercommon/exoplayer2/ParserException;
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "Invalid integer size: "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-wide v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader;->elementContentSize:J
invoke-virtual {v0, v1, v2}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {p1, v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/ParserException;-><init>(Ljava/lang/String;)V
throw p1
.line 91
:cond_e
invoke-interface {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->getPosition()J
move-result-wide v5
iget-wide v3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader;->elementContentSize:J
add-long/2addr v3, v5
iget-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader;->masterElementsStack:Ljava/util/ArrayDeque;
.line 93
new-instance v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader$MasterElement;
iget v7, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader;->elementId:I
const/4 v8, 0x0
invoke-direct {v0, v7, v3, v4, v8}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader$MasterElement;-><init>(IJLcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader$1;)V
invoke-virtual {p1, v0}, Ljava/util/ArrayDeque;->push(Ljava/lang/Object;)V
iget-object v3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader;->output:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/EbmlReaderOutput;
iget v4, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader;->elementId:I
iget-wide v7, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader;->elementContentSize:J
.line 94
invoke-interface/range {v3 .. v8}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/EbmlReaderOutput;->startMasterElement(IJJ)V
iput v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader;->elementState:I
return v2
:cond_f
iget-wide v3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader;->elementContentSize:J
long-to-int v0, v3
.line 124
invoke-interface {p1, v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->skipFully(I)V
iput v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader;->elementState:I
goto/16 :goto_1
.end method
.method public final reset()V
.locals 1
const/4 v0, 0x0
iput v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader;->elementState:I
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader;->masterElementsStack:Ljava/util/ArrayDeque;
.line 56
invoke-virtual {v0}, Ljava/util/ArrayDeque;->clear()V
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/DefaultEbmlReader;->varintReader:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/VarintReader;
.line 57
invoke-virtual {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/VarintReader;->reset()V
return-void
.end method

View File

@@ -0,0 +1,20 @@
.class interface abstract Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/EbmlReader;
.super Ljava/lang/Object;
.source "SourceFile"
# virtual methods
.method public abstract init(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/EbmlReaderOutput;)V
.end method
.method public abstract read(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;)Z
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
.end method
.method public abstract reset()V
.end method

View File

@@ -0,0 +1,21 @@
.class public interface abstract annotation Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/EbmlReaderOutput$ElementType;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Ljava/lang/annotation/Annotation;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/EbmlReaderOutput;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x2609
name = "ElementType"
.end annotation
.annotation runtime Ljava/lang/annotation/Retention;
value = .enum Ljava/lang/annotation/RetentionPolicy;->SOURCE:Ljava/lang/annotation/RetentionPolicy;
.end annotation

View File

@@ -0,0 +1,82 @@
.class interface abstract Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/EbmlReaderOutput;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/EbmlReaderOutput$ElementType;
}
.end annotation
# static fields
.field public static final TYPE_BINARY:I = 0x4
.field public static final TYPE_FLOAT:I = 0x5
.field public static final TYPE_MASTER:I = 0x1
.field public static final TYPE_STRING:I = 0x3
.field public static final TYPE_UNKNOWN:I = 0x0
.field public static final TYPE_UNSIGNED_INT:I = 0x2
# virtual methods
.method public abstract binaryElement(IILcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;)V
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
.end method
.method public abstract endMasterElement(I)V
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/mbridge/msdk/playercommon/exoplayer2/ParserException;
}
.end annotation
.end method
.method public abstract floatElement(ID)V
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/mbridge/msdk/playercommon/exoplayer2/ParserException;
}
.end annotation
.end method
.method public abstract getElementType(I)I
.end method
.method public abstract integerElement(IJ)V
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/mbridge/msdk/playercommon/exoplayer2/ParserException;
}
.end annotation
.end method
.method public abstract isLevel1Element(I)Z
.end method
.method public abstract startMasterElement(IJJ)V
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/mbridge/msdk/playercommon/exoplayer2/ParserException;
}
.end annotation
.end method
.method public abstract stringElement(ILjava/lang/String;)V
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/mbridge/msdk/playercommon/exoplayer2/ParserException;
}
.end annotation
.end method

View File

@@ -0,0 +1,48 @@
.class Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor$1;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorsFactory;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public createExtractors()[Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/Extractor;
.locals 3
const/4 v0, 0x1
new-array v0, v0, [Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/Extractor;
.line 53
new-instance v1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor;
invoke-direct {v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor;-><init>()V
const/4 v2, 0x0
aput-object v1, v0, v2
return-object v0
.end method

View File

@@ -0,0 +1,21 @@
.class public interface abstract annotation Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor$Flags;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Ljava/lang/annotation/Annotation;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x2609
name = "Flags"
.end annotation
.annotation runtime Ljava/lang/annotation/Retention;
value = .enum Ljava/lang/annotation/RetentionPolicy;->SOURCE:Ljava/lang/annotation/RetentionPolicy;
.end annotation

View File

@@ -0,0 +1,301 @@
.class final Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor$InnerEbmlReaderOutput;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/EbmlReaderOutput;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x11
name = "InnerEbmlReaderOutput"
.end annotation
# instance fields
.field final synthetic this$0:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor;
# direct methods
.method private constructor <init>(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor;)V
.locals 0
iput-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor$InnerEbmlReaderOutput;->this$0:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor;
.line 1306
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public synthetic constructor <init>(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor;Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor$1;)V
.locals 0
.line 1306
invoke-direct {p0, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor$InnerEbmlReaderOutput;-><init>(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor;)V
return-void
.end method
# virtual methods
.method public final binaryElement(IILcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;)V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor$InnerEbmlReaderOutput;->this$0:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor;
.line 1433
invoke-virtual {v0, p1, p2, p3}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor;->binaryElement(IILcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;)V
return-void
.end method
.method public final endMasterElement(I)V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/mbridge/msdk/playercommon/exoplayer2/ParserException;
}
.end annotation
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor$InnerEbmlReaderOutput;->this$0:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor;
.line 1412
invoke-virtual {v0, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor;->endMasterElement(I)V
return-void
.end method
.method public final floatElement(ID)V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/mbridge/msdk/playercommon/exoplayer2/ParserException;
}
.end annotation
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor$InnerEbmlReaderOutput;->this$0:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor;
.line 1422
invoke-virtual {v0, p1, p2, p3}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor;->floatElement(ID)V
return-void
.end method
.method public final getElementType(I)I
.locals 0
sparse-switch p1, :sswitch_data_0
const/4 p1, 0x0
return p1
:sswitch_0
const/4 p1, 0x5
return p1
:sswitch_1
const/4 p1, 0x4
return p1
:sswitch_2
const/4 p1, 0x1
return p1
:sswitch_3
const/4 p1, 0x3
return p1
:sswitch_4
const/4 p1, 0x2
return p1
nop
:sswitch_data_0
.sparse-switch
0x83 -> :sswitch_4
0x86 -> :sswitch_3
0x88 -> :sswitch_4
0x9b -> :sswitch_4
0x9f -> :sswitch_4
0xa0 -> :sswitch_2
0xa1 -> :sswitch_1
0xa3 -> :sswitch_1
0xae -> :sswitch_2
0xb0 -> :sswitch_4
0xb3 -> :sswitch_4
0xb5 -> :sswitch_0
0xb7 -> :sswitch_2
0xba -> :sswitch_4
0xbb -> :sswitch_2
0xd7 -> :sswitch_4
0xe0 -> :sswitch_2
0xe1 -> :sswitch_2
0xe7 -> :sswitch_4
0xf1 -> :sswitch_4
0xfb -> :sswitch_4
0x4254 -> :sswitch_4
0x4255 -> :sswitch_1
0x4282 -> :sswitch_3
0x4285 -> :sswitch_4
0x42f7 -> :sswitch_4
0x4489 -> :sswitch_0
0x47e1 -> :sswitch_4
0x47e2 -> :sswitch_1
0x47e7 -> :sswitch_2
0x47e8 -> :sswitch_4
0x4dbb -> :sswitch_2
0x5031 -> :sswitch_4
0x5032 -> :sswitch_4
0x5034 -> :sswitch_2
0x5035 -> :sswitch_2
0x53ab -> :sswitch_1
0x53ac -> :sswitch_4
0x53b8 -> :sswitch_4
0x54b0 -> :sswitch_4
0x54b2 -> :sswitch_4
0x54ba -> :sswitch_4
0x55aa -> :sswitch_4
0x55b0 -> :sswitch_2
0x55b9 -> :sswitch_4
0x55ba -> :sswitch_4
0x55bb -> :sswitch_4
0x55bc -> :sswitch_4
0x55bd -> :sswitch_4
0x55d0 -> :sswitch_2
0x55d1 -> :sswitch_0
0x55d2 -> :sswitch_0
0x55d3 -> :sswitch_0
0x55d4 -> :sswitch_0
0x55d5 -> :sswitch_0
0x55d6 -> :sswitch_0
0x55d7 -> :sswitch_0
0x55d8 -> :sswitch_0
0x55d9 -> :sswitch_0
0x55da -> :sswitch_0
0x56aa -> :sswitch_4
0x56bb -> :sswitch_4
0x6240 -> :sswitch_2
0x6264 -> :sswitch_4
0x63a2 -> :sswitch_1
0x6d80 -> :sswitch_2
0x7670 -> :sswitch_2
0x7672 -> :sswitch_1
0x22b59c -> :sswitch_3
0x23e383 -> :sswitch_4
0x2ad7b1 -> :sswitch_4
0x114d9b74 -> :sswitch_2
0x1549a966 -> :sswitch_2
0x1654ae6b -> :sswitch_2
0x18538067 -> :sswitch_2
0x1a45dfa3 -> :sswitch_2
0x1c53bb6b -> :sswitch_2
0x1f43b675 -> :sswitch_2
.end sparse-switch
.end method
.method public final integerElement(IJ)V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/mbridge/msdk/playercommon/exoplayer2/ParserException;
}
.end annotation
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor$InnerEbmlReaderOutput;->this$0:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor;
.line 1417
invoke-virtual {v0, p1, p2, p3}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor;->integerElement(IJ)V
return-void
.end method
.method public final isLevel1Element(I)Z
.locals 1
const v0, 0x1549a966
if-eq p1, v0, :cond_1
const v0, 0x1f43b675
if-eq p1, v0, :cond_1
const v0, 0x1c53bb6b
if-eq p1, v0, :cond_1
const v0, 0x1654ae6b
if-ne p1, v0, :cond_0
goto :goto_0
:cond_0
const/4 p1, 0x0
goto :goto_1
:cond_1
:goto_0
const/4 p1, 0x1
:goto_1
return p1
.end method
.method public final startMasterElement(IJJ)V
.locals 6
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/mbridge/msdk/playercommon/exoplayer2/ParserException;
}
.end annotation
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor$InnerEbmlReaderOutput;->this$0:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor;
move v1, p1
move-wide v2, p2
move-wide v4, p4
.line 1407
invoke-virtual/range {v0 .. v5}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor;->startMasterElement(IJJ)V
return-void
.end method
.method public final stringElement(ILjava/lang/String;)V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/mbridge/msdk/playercommon/exoplayer2/ParserException;
}
.end annotation
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor$InnerEbmlReaderOutput;->this$0:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor;
.line 1427
invoke-virtual {v0, p1, p2}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor;->stringElement(ILjava/lang/String;)V
return-void
.end method

View File

@@ -0,0 +1,205 @@
.class final Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor$TrueHdSampleRechunker;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "TrueHdSampleRechunker"
.end annotation
# instance fields
.field private blockFlags:I
.field private chunkSize:I
.field private foundSyncframe:Z
.field private sampleCount:I
.field private final syncframePrefix:[B
.field private timeUs:J
# direct methods
.method public constructor <init>()V
.locals 1
.line 1448
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/16 v0, 0xa
new-array v0, v0, [B
iput-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor$TrueHdSampleRechunker;->syncframePrefix:[B
return-void
.end method
# virtual methods
.method public final outputPendingSampleMetadata(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor$Track;)V
.locals 8
iget-boolean v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor$TrueHdSampleRechunker;->foundSyncframe:Z
if-eqz v0, :cond_0
iget v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor$TrueHdSampleRechunker;->sampleCount:I
if-lez v0, :cond_0
.line 1493
iget-object v1, p1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->output:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;
iget-wide v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor$TrueHdSampleRechunker;->timeUs:J
iget v4, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor$TrueHdSampleRechunker;->blockFlags:I
iget v5, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor$TrueHdSampleRechunker;->chunkSize:I
const/4 v6, 0x0
iget-object v7, p1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->cryptoData:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput$CryptoData;
invoke-interface/range {v1 .. v7}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;->sampleMetadata(JIIILcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput$CryptoData;)V
const/4 p1, 0x0
iput p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor$TrueHdSampleRechunker;->sampleCount:I
:cond_0
return-void
.end method
.method public final reset()V
.locals 1
const/4 v0, 0x0
iput-boolean v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor$TrueHdSampleRechunker;->foundSyncframe:Z
return-void
.end method
.method public final sampleMetadata(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor$Track;J)V
.locals 9
iget-boolean v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor$TrueHdSampleRechunker;->foundSyncframe:Z
if-nez v0, :cond_0
return-void
:cond_0
iget v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor$TrueHdSampleRechunker;->sampleCount:I
add-int/lit8 v1, v0, 0x1
iput v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor$TrueHdSampleRechunker;->sampleCount:I
if-nez v0, :cond_1
iput-wide p2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor$TrueHdSampleRechunker;->timeUs:J
:cond_1
const/16 p2, 0x10
if-ge v1, p2, :cond_2
return-void
.line 1487
:cond_2
iget-object v2, p1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->output:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;
iget-wide v3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor$TrueHdSampleRechunker;->timeUs:J
iget v5, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor$TrueHdSampleRechunker;->blockFlags:I
iget v6, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor$TrueHdSampleRechunker;->chunkSize:I
const/4 v7, 0x0
iget-object v8, p1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor$Track;->cryptoData:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput$CryptoData;
invoke-interface/range {v2 .. v8}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;->sampleMetadata(JIIILcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput$CryptoData;)V
const/4 p1, 0x0
iput p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor$TrueHdSampleRechunker;->sampleCount:I
return-void
.end method
.method public final startSample(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;II)V
.locals 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
iget-boolean v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor$TrueHdSampleRechunker;->foundSyncframe:Z
const/4 v1, 0x0
if-nez v0, :cond_1
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor$TrueHdSampleRechunker;->syncframePrefix:[B
const/16 v2, 0xa
.line 1459
invoke-interface {p1, v0, v1, v2}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->peekFully([BII)V
.line 1460
invoke-interface {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->resetPeekPosition()V
iget-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor$TrueHdSampleRechunker;->syncframePrefix:[B
.line 1461
invoke-static {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/audio/Ac3Util;->parseTrueHdSyncframeAudioSampleCount([B)I
move-result p1
const/4 v0, -0x1
if-ne p1, v0, :cond_0
return-void
:cond_0
const/4 p1, 0x1
iput-boolean p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor$TrueHdSampleRechunker;->foundSyncframe:Z
iput v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor$TrueHdSampleRechunker;->sampleCount:I
:cond_1
iget p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor$TrueHdSampleRechunker;->sampleCount:I
if-nez p1, :cond_2
iput p2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor$TrueHdSampleRechunker;->blockFlags:I
iput v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor$TrueHdSampleRechunker;->chunkSize:I
:cond_2
iget p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor$TrueHdSampleRechunker;->chunkSize:I
add-int/2addr p1, p3
iput p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor$TrueHdSampleRechunker;->chunkSize:I
return-void
.end method

View File

@@ -0,0 +1,342 @@
.class final Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/Sniffer;
.super Ljava/lang/Object;
.source "SourceFile"
# static fields
.field private static final ID_EBML:I = 0x1a45dfa3
.field private static final SEARCH_LENGTH:I = 0x400
# instance fields
.field private peekLength:I
.field private final scratch:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
# direct methods
.method public constructor <init>()V
.locals 2
.line 19
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 20
new-instance v0, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
const/16 v1, 0x8
invoke-direct {v0, v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;-><init>(I)V
iput-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/Sniffer;->scratch:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
return-void
.end method
.method private readUint(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;)J
.locals 6
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/Sniffer;->scratch:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 70
iget-object v0, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->data:[B
const/4 v1, 0x0
const/4 v2, 0x1
invoke-interface {p1, v0, v1, v2}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->peekFully([BII)V
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/Sniffer;->scratch:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 71
iget-object v0, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->data:[B
aget-byte v0, v0, v1
and-int/lit16 v0, v0, 0xff
if-nez v0, :cond_0
const-wide/high16 v0, -0x8000000000000000L
return-wide v0
:cond_0
const/16 v3, 0x80
move v4, v1
:goto_0
and-int v5, v0, v3
if-nez v5, :cond_1
shr-int/lit8 v3, v3, 0x1
add-int/lit8 v4, v4, 0x1
goto :goto_0
:cond_1
not-int v3, v3
and-int/2addr v0, v3
iget-object v3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/Sniffer;->scratch:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 82
iget-object v3, v3, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->data:[B
invoke-interface {p1, v3, v2, v4}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->peekFully([BII)V
:goto_1
if-ge v1, v4, :cond_2
shl-int/lit8 p1, v0, 0x8
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/Sniffer;->scratch:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 85
iget-object v0, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->data:[B
add-int/lit8 v1, v1, 0x1
aget-byte v0, v0, v1
and-int/lit16 v0, v0, 0xff
add-int/2addr v0, p1
goto :goto_1
:cond_2
iget p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/Sniffer;->peekLength:I
add-int/2addr v4, v2
add-int/2addr p1, v4
iput p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/Sniffer;->peekLength:I
int-to-long v0, v0
return-wide v0
.end method
# virtual methods
.method public final sniff(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;)Z
.locals 13
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
.line 25
invoke-interface {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->getLength()J
move-result-wide v0
const-wide/16 v2, -0x1
cmp-long v2, v0, v2
const-wide/16 v3, 0x400
if-eqz v2, :cond_1
cmp-long v5, v0, v3
if-lez v5, :cond_0
goto :goto_0
:cond_0
move-wide v3, v0
:cond_1
:goto_0
long-to-int v3, v3
iget-object v4, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/Sniffer;->scratch:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 29
iget-object v4, v4, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->data:[B
const/4 v5, 0x0
const/4 v6, 0x4
invoke-interface {p1, v4, v5, v6}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->peekFully([BII)V
iget-object v4, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/Sniffer;->scratch:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 30
invoke-virtual {v4}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readUnsignedInt()J
move-result-wide v7
iput v6, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/Sniffer;->peekLength:I
:goto_1
const-wide/32 v9, 0x1a45dfa3
cmp-long v4, v7, v9
const/4 v6, 0x1
if-eqz v4, :cond_3
iget v4, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/Sniffer;->peekLength:I
add-int/2addr v4, v6
iput v4, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/Sniffer;->peekLength:I
if-ne v4, v3, :cond_2
return v5
:cond_2
iget-object v4, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/Sniffer;->scratch:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 36
iget-object v4, v4, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->data:[B
invoke-interface {p1, v4, v5, v6}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->peekFully([BII)V
const/16 v4, 0x8
shl-long v6, v7, v4
const-wide/16 v8, -0x100
and-long/2addr v6, v8
iget-object v4, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/Sniffer;->scratch:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 38
iget-object v4, v4, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->data:[B
aget-byte v4, v4, v5
and-int/lit16 v4, v4, 0xff
int-to-long v8, v4
or-long v7, v6, v8
goto :goto_1
.line 42
:cond_3
invoke-direct {p0, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/Sniffer;->readUint(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;)J
move-result-wide v3
iget v7, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/Sniffer;->peekLength:I
int-to-long v7, v7
const-wide/high16 v9, -0x8000000000000000L
cmp-long v11, v3, v9
if-eqz v11, :cond_9
if-eqz v2, :cond_4
add-long v11, v7, v3
cmp-long v0, v11, v0
if-ltz v0, :cond_4
goto :goto_4
:cond_4
:goto_2
iget v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/Sniffer;->peekLength:I
int-to-long v1, v0
add-long v11, v7, v3
cmp-long v1, v1, v11
if-gez v1, :cond_8
.line 51
invoke-direct {p0, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/Sniffer;->readUint(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;)J
move-result-wide v0
cmp-long v0, v0, v9
if-nez v0, :cond_5
return v5
.line 55
:cond_5
invoke-direct {p0, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/Sniffer;->readUint(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;)J
move-result-wide v0
const-wide/16 v11, 0x0
cmp-long v2, v0, v11
if-ltz v2, :cond_7
const-wide/32 v11, 0x7fffffff
cmp-long v11, v0, v11
if-lez v11, :cond_6
goto :goto_3
:cond_6
if-eqz v2, :cond_4
long-to-int v0, v0
.line 61
invoke-interface {p1, v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->advancePeekPosition(I)V
iget v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/Sniffer;->peekLength:I
add-int/2addr v1, v0
iput v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/Sniffer;->peekLength:I
goto :goto_2
:cond_7
:goto_3
return v5
:cond_8
int-to-long v0, v0
cmp-long p1, v0, v11
if-nez p1, :cond_9
move v5, v6
:cond_9
:goto_4
return v5
.end method

View File

@@ -0,0 +1,280 @@
.class final Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/VarintReader;
.super Ljava/lang/Object;
.source "SourceFile"
# static fields
.field private static final STATE_BEGIN_READING:I = 0x0
.field private static final STATE_READ_CONTENTS:I = 0x1
.field private static final VARINT_LENGTH_MASKS:[J
# instance fields
.field private length:I
.field private final scratch:[B
.field private state:I
# direct methods
.method static constructor <clinit>()V
.locals 1
const/16 v0, 0x8
new-array v0, v0, [J
fill-array-data v0, :array_0
sput-object v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/VarintReader;->VARINT_LENGTH_MASKS:[J
return-void
:array_0
.array-data 8
0x80
0x40
0x20
0x10
0x8
0x4
0x2
0x1
.end array-data
.end method
.method public constructor <init>()V
.locals 1
.line 25
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/16 v0, 0x8
new-array v0, v0, [B
iput-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/VarintReader;->scratch:[B
return-void
.end method
.method public static assembleVarint([BIZ)J
.locals 6
const/4 v0, 0x0
.line 85
aget-byte v0, p0, v0
int-to-long v0, v0
const-wide/16 v2, 0xff
and-long/2addr v0, v2
if-eqz p2, :cond_0
sget-object p2, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/VarintReader;->VARINT_LENGTH_MASKS:[J
add-int/lit8 v4, p1, -0x1
.line 87
aget-wide v4, p2, v4
not-long v4, v4
and-long/2addr v0, v4
:cond_0
const/4 p2, 0x1
:goto_0
if-ge p2, p1, :cond_1
const/16 v4, 0x8
shl-long/2addr v0, v4
.line 90
aget-byte v4, p0, p2
int-to-long v4, v4
and-long/2addr v4, v2
or-long/2addr v0, v4
add-int/lit8 p2, p2, 0x1
goto :goto_0
:cond_1
return-wide v0
.end method
.method public static parseUnsignedVarintLength(I)I
.locals 6
const/4 v0, 0x0
:goto_0
sget-object v1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/VarintReader;->VARINT_LENGTH_MASKS:[J
.line 73
array-length v2, v1
if-ge v0, v2, :cond_1
.line 74
aget-wide v2, v1, v0
int-to-long v4, p0
and-long v1, v2, v4
const-wide/16 v3, 0x0
cmp-long v1, v1, v3
if-eqz v1, :cond_0
add-int/lit8 v0, v0, 0x1
goto :goto_1
:cond_0
add-int/lit8 v0, v0, 0x1
goto :goto_0
:cond_1
const/4 v0, -0x1
:goto_1
return v0
.end method
# virtual methods
.method public final getLastLength()I
.locals 1
iget v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/VarintReader;->length:I
return v0
.end method
.method public final readUnsignedVarint(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;ZZI)J
.locals 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
iget v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/VarintReader;->state:I
const/4 v1, 0x0
const/4 v2, 0x1
if-nez v0, :cond_2
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/VarintReader;->scratch:[B
.line 40
invoke-interface {p1, v0, v1, v2, p2}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->readFully([BIIZ)Z
move-result p2
if-nez p2, :cond_0
const-wide/16 p1, -0x1
return-wide p1
:cond_0
iget-object p2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/VarintReader;->scratch:[B
.line 43
aget-byte p2, p2, v1
and-int/lit16 p2, p2, 0xff
.line 44
invoke-static {p2}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/VarintReader;->parseUnsignedVarintLength(I)I
move-result p2
iput p2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/VarintReader;->length:I
const/4 v0, -0x1
if-eq p2, v0, :cond_1
iput v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/VarintReader;->state:I
goto :goto_0
.line 46
:cond_1
new-instance p1, Ljava/lang/IllegalStateException;
const-string p2, "No valid varint length mask found"
invoke-direct {p1, p2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
:cond_2
:goto_0
iget p2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/VarintReader;->length:I
if-le p2, p4, :cond_3
iput v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/VarintReader;->state:I
const-wide/16 p1, -0x2
return-wide p1
:cond_3
if-eq p2, v2, :cond_4
iget-object p4, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/VarintReader;->scratch:[B
sub-int/2addr p2, v2
.line 58
invoke-interface {p1, p4, v2, p2}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->readFully([BII)V
:cond_4
iput v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/VarintReader;->state:I
iget-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/VarintReader;->scratch:[B
iget p2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/VarintReader;->length:I
.line 62
invoke-static {p1, p2, p3}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/VarintReader;->assembleVarint([BIZ)J
move-result-wide p1
return-wide p1
.end method
.method public final reset()V
.locals 1
const/4 v0, 0x0
iput v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/VarintReader;->state:I
iput v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/VarintReader;->length:I
return-void
.end method

View File

@@ -0,0 +1,255 @@
.class final Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/ConstantBitrateSeeker;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/Mp3Extractor$Seeker;
# static fields
.field private static final BITS_PER_BYTE:I = 0x8
# instance fields
.field private final bitrate:I
.field private final dataSize:J
.field private final durationUs:J
.field private final firstFramePosition:J
.field private final frameSize:I
# direct methods
.method public constructor <init>(JJLcom/mbridge/msdk/playercommon/exoplayer2/extractor/MpegAudioHeader;)V
.locals 2
.line 22
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-wide p3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/ConstantBitrateSeeker;->firstFramePosition:J
.line 24
iget v0, p5, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/MpegAudioHeader;->frameSize:I
iput v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/ConstantBitrateSeeker;->frameSize:I
.line 25
iget p5, p5, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/MpegAudioHeader;->bitrate:I
iput p5, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/ConstantBitrateSeeker;->bitrate:I
const-wide/16 v0, -0x1
cmp-long p5, p1, v0
if-nez p5, :cond_0
iput-wide v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/ConstantBitrateSeeker;->dataSize:J
const-wide p1, -0x7fffffffffffffffL # -4.9E-324
iput-wide p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/ConstantBitrateSeeker;->durationUs:J
goto :goto_0
:cond_0
sub-long p3, p1, p3
iput-wide p3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/ConstantBitrateSeeker;->dataSize:J
.line 31
invoke-virtual {p0, p1, p2}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/ConstantBitrateSeeker;->getTimeUs(J)J
move-result-wide p1
iput-wide p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/ConstantBitrateSeeker;->durationUs:J
:goto_0
return-void
.end method
# virtual methods
.method public final getDurationUs()J
.locals 2
iget-wide v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/ConstantBitrateSeeker;->durationUs:J
return-wide v0
.end method
.method public final getSeekPoints(J)Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$SeekPoints;
.locals 13
iget-wide v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/ConstantBitrateSeeker;->dataSize:J
const-wide/16 v2, -0x1
cmp-long v2, v0, v2
if-nez v2, :cond_0
.line 43
new-instance p1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$SeekPoints;
new-instance p2, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;
const-wide/16 v0, 0x0
iget-wide v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/ConstantBitrateSeeker;->firstFramePosition:J
invoke-direct {p2, v0, v1, v2, v3}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;-><init>(JJ)V
invoke-direct {p1, p2}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$SeekPoints;-><init>(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;)V
return-object p1
:cond_0
iget v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/ConstantBitrateSeeker;->bitrate:I
int-to-long v2, v2
mul-long/2addr v2, p1
const-wide/32 v4, 0x7a1200
.line 45
div-long/2addr v2, v4
iget v4, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/ConstantBitrateSeeker;->frameSize:I
int-to-long v5, v4
.line 47
div-long/2addr v2, v5
int-to-long v5, v4
mul-long v7, v2, v5
const-wide/16 v9, 0x0
int-to-long v2, v4
sub-long v11, v0, v2
.line 48
invoke-static/range {v7 .. v12}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/Util;->constrainValue(JJJ)J
move-result-wide v0
iget-wide v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/ConstantBitrateSeeker;->firstFramePosition:J
add-long/2addr v2, v0
.line 50
invoke-virtual {p0, v2, v3}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/ConstantBitrateSeeker;->getTimeUs(J)J
move-result-wide v4
.line 51
new-instance v6, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;
invoke-direct {v6, v4, v5, v2, v3}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;-><init>(JJ)V
cmp-long p1, v4, p1
if-gez p1, :cond_2
iget-wide p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/ConstantBitrateSeeker;->dataSize:J
iget v4, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/ConstantBitrateSeeker;->frameSize:I
int-to-long v7, v4
sub-long/2addr p1, v7
cmp-long p1, v0, p1
if-nez p1, :cond_1
goto :goto_0
:cond_1
int-to-long p1, v4
add-long/2addr v2, p1
.line 56
invoke-virtual {p0, v2, v3}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/ConstantBitrateSeeker;->getTimeUs(J)J
move-result-wide p1
.line 57
new-instance v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;
invoke-direct {v0, p1, p2, v2, v3}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;-><init>(JJ)V
.line 58
new-instance p1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$SeekPoints;
invoke-direct {p1, v6, v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$SeekPoints;-><init>(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;)V
return-object p1
.line 53
:cond_2
:goto_0
new-instance p1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$SeekPoints;
invoke-direct {p1, v6}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$SeekPoints;-><init>(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;)V
return-object p1
.end method
.method public final getTimeUs(J)J
.locals 2
iget-wide v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/ConstantBitrateSeeker;->firstFramePosition:J
sub-long/2addr p1, v0
const-wide/16 v0, 0x0
.line 64
invoke-static {v0, v1, p1, p2}, Ljava/lang/Math;->max(JJ)J
move-result-wide p1
const-wide/32 v0, 0x7a1200
mul-long/2addr p1, v0
iget v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/ConstantBitrateSeeker;->bitrate:I
int-to-long v0, v0
div-long/2addr p1, v0
return-wide p1
.end method
.method public final isSeekable()Z
.locals 4
iget-wide v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/ConstantBitrateSeeker;->dataSize:J
const-wide/16 v2, -0x1
cmp-long v0, v0, v2
if-eqz v0, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
return v0
.end method

View File

@@ -0,0 +1,48 @@
.class Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/Mp3Extractor$1;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorsFactory;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/Mp3Extractor;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public createExtractors()[Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/Extractor;
.locals 3
const/4 v0, 0x1
new-array v0, v0, [Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/Extractor;
.line 35
new-instance v1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/Mp3Extractor;
invoke-direct {v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/Mp3Extractor;-><init>()V
const/4 v2, 0x0
aput-object v1, v0, v2
return-object v0
.end method

View File

@@ -0,0 +1,21 @@
.class public interface abstract annotation Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/Mp3Extractor$Flags;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Ljava/lang/annotation/Annotation;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/Mp3Extractor;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x2609
name = "Flags"
.end annotation
.annotation runtime Ljava/lang/annotation/Retention;
value = .enum Ljava/lang/annotation/RetentionPolicy;->SOURCE:Ljava/lang/annotation/RetentionPolicy;
.end annotation

View File

@@ -0,0 +1,22 @@
.class interface abstract Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/Mp3Extractor$Seeker;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/Mp3Extractor;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x609
name = "Seeker"
.end annotation
# virtual methods
.method public abstract getTimeUs(J)J
.end method

View File

@@ -0,0 +1,395 @@
.class final Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/VbriSeeker;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/Mp3Extractor$Seeker;
# static fields
.field private static final TAG:Ljava/lang/String; = "VbriSeeker"
# instance fields
.field private final durationUs:J
.field private final positions:[J
.field private final timesUs:[J
# direct methods
.method private constructor <init>([J[JJ)V
.locals 0
.line 70
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/VbriSeeker;->timesUs:[J
iput-object p2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/VbriSeeker;->positions:[J
iput-wide p3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/VbriSeeker;->durationUs:J
return-void
.end method
.method public static create(JJLcom/mbridge/msdk/playercommon/exoplayer2/extractor/MpegAudioHeader;Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;)Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/VbriSeeker;
.locals 20
move-wide/from16 v0, p0
move-object/from16 v2, p4
move-object/from16 v3, p5
const/16 v4, 0xa
.line 19
invoke-virtual {v3, v4}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->skipBytes(I)V
.line 20
invoke-virtual/range {p5 .. p5}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readInt()I
move-result v4
const/4 v5, 0x0
if-gtz v4, :cond_0
return-object v5
.line 24
:cond_0
iget v6, v2, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/MpegAudioHeader;->sampleRate:I
int-to-long v7, v4
const/16 v4, 0x7d00
if-lt v6, v4, :cond_1
const/16 v4, 0x480
goto :goto_0
:cond_1
const/16 v4, 0x240
:goto_0
int-to-long v9, v4
const-wide/32 v11, 0xf4240
mul-long/2addr v9, v11
int-to-long v11, v6
.line 25
invoke-static/range {v7 .. v12}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/Util;->scaleLargeTimestamp(JJJ)J
move-result-wide v6
.line 27
invoke-virtual/range {p5 .. p5}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readUnsignedShort()I
move-result v4
.line 28
invoke-virtual/range {p5 .. p5}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readUnsignedShort()I
move-result v8
.line 29
invoke-virtual/range {p5 .. p5}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readUnsignedShort()I
move-result v9
const/4 v10, 0x2
.line 30
invoke-virtual {v3, v10}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->skipBytes(I)V
.line 32
iget v2, v2, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/MpegAudioHeader;->frameSize:I
int-to-long v11, v2
add-long v11, p2, v11
.line 34
new-array v2, v4, [J
.line 35
new-array v13, v4, [J
const/4 v14, 0x0
move v5, v14
move-wide/from16 v14, p2
:goto_1
if-ge v5, v4, :cond_6
move-wide/from16 v16, v11
int-to-long v10, v5
mul-long/2addr v10, v6
move-wide/from16 v18, v6
int-to-long v6, v4
.line 37
div-long/2addr v10, v6
aput-wide v10, v2, v5
move-wide/from16 v6, v16
.line 40
invoke-static {v14, v15, v6, v7}, Ljava/lang/Math;->max(JJ)J
move-result-wide v10
aput-wide v10, v13, v5
const/4 v10, 0x1
if-eq v9, v10, :cond_5
const/4 v10, 0x2
if-eq v9, v10, :cond_4
const/4 v11, 0x3
if-eq v9, v11, :cond_3
const/4 v11, 0x4
if-eq v9, v11, :cond_2
const/4 v11, 0x0
return-object v11
:cond_2
const/4 v11, 0x0
.line 53
invoke-virtual/range {p5 .. p5}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readUnsignedIntToInt()I
move-result v12
goto :goto_2
:cond_3
const/4 v11, 0x0
.line 50
invoke-virtual/range {p5 .. p5}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readUnsignedInt24()I
move-result v12
goto :goto_2
:cond_4
const/4 v11, 0x0
.line 47
invoke-virtual/range {p5 .. p5}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readUnsignedShort()I
move-result v12
goto :goto_2
:cond_5
const/4 v10, 0x2
const/4 v11, 0x0
.line 44
invoke-virtual/range {p5 .. p5}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readUnsignedByte()I
move-result v12
:goto_2
mul-int/2addr v12, v8
int-to-long v10, v12
add-long/2addr v14, v10
add-int/lit8 v5, v5, 0x1
move-wide v11, v6
move-wide/from16 v6, v18
const/4 v10, 0x2
goto :goto_1
:cond_6
move-wide/from16 v18, v6
const-wide/16 v3, -0x1
cmp-long v3, v0, v3
if-eqz v3, :cond_7
cmp-long v3, v0, v14
if-eqz v3, :cond_7
.line 61
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "VBRI data size mismatch: "
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
const-string v0, ", "
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v14, v15}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
const-string v1, "VbriSeeker"
invoke-static {v1, v0}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
.line 63
:cond_7
new-instance v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/VbriSeeker;
move-wide/from16 v3, v18
invoke-direct {v0, v2, v13, v3, v4}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/VbriSeeker;-><init>([J[JJ)V
return-object v0
.end method
# virtual methods
.method public final getDurationUs()J
.locals 2
iget-wide v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/VbriSeeker;->durationUs:J
return-wide v0
.end method
.method public final getSeekPoints(J)Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$SeekPoints;
.locals 8
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/VbriSeeker;->timesUs:[J
const/4 v1, 0x1
.line 83
invoke-static {v0, p1, p2, v1, v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/Util;->binarySearchFloor([JJZZ)I
move-result v0
.line 84
new-instance v2, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;
iget-object v3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/VbriSeeker;->timesUs:[J
aget-wide v4, v3, v0
iget-object v3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/VbriSeeker;->positions:[J
aget-wide v6, v3, v0
invoke-direct {v2, v4, v5, v6, v7}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;-><init>(JJ)V
iget-wide v3, v2, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;->timeUs:J
cmp-long p1, v3, p1
if-gez p1, :cond_1
iget-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/VbriSeeker;->timesUs:[J
.line 85
array-length p1, p1
sub-int/2addr p1, v1
if-ne v0, p1, :cond_0
goto :goto_0
.line 88
:cond_0
new-instance p1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;
iget-object p2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/VbriSeeker;->timesUs:[J
add-int/2addr v0, v1
aget-wide v3, p2, v0
iget-object p2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/VbriSeeker;->positions:[J
aget-wide v0, p2, v0
invoke-direct {p1, v3, v4, v0, v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;-><init>(JJ)V
.line 89
new-instance p2, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$SeekPoints;
invoke-direct {p2, v2, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$SeekPoints;-><init>(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;)V
return-object p2
.line 86
:cond_1
:goto_0
new-instance p1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$SeekPoints;
invoke-direct {p1, v2}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$SeekPoints;-><init>(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;)V
return-object p1
.end method
.method public final getTimeUs(J)J
.locals 3
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/VbriSeeker;->timesUs:[J
iget-object v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/VbriSeeker;->positions:[J
const/4 v2, 0x1
.line 95
invoke-static {v1, p1, p2, v2, v2}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/Util;->binarySearchFloor([JJZZ)I
move-result p1
aget-wide p1, v0, p1
return-wide p1
.end method
.method public final isSeekable()Z
.locals 1
const/4 v0, 0x1
return v0
.end method

View File

@@ -0,0 +1,552 @@
.class final Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/XingSeeker;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/Mp3Extractor$Seeker;
# static fields
.field private static final TAG:Ljava/lang/String; = "XingSeeker"
# instance fields
.field private final dataSize:J
.field private final dataStartPosition:J
.field private final durationUs:J
.field private final tableOfContents:[J
.field private final xingFrameSize:I
# direct methods
.method private constructor <init>(JIJ)V
.locals 9
const-wide/16 v6, -0x1
const/4 v8, 0x0
move-object v0, p0
move-wide v1, p1
move v3, p3
move-wide v4, p4
.line 61
invoke-direct/range {v0 .. v8}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/XingSeeker;-><init>(JIJJ[J)V
return-void
.end method
.method private constructor <init>(JIJJ[J)V
.locals 0
.line 65
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-wide p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/XingSeeker;->dataStartPosition:J
iput p3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/XingSeeker;->xingFrameSize:I
iput-wide p4, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/XingSeeker;->durationUs:J
iput-wide p6, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/XingSeeker;->dataSize:J
iput-object p8, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/XingSeeker;->tableOfContents:[J
return-void
.end method
.method public static create(JJLcom/mbridge/msdk/playercommon/exoplayer2/extractor/MpegAudioHeader;Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;)Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/XingSeeker;
.locals 22
move-wide/from16 v0, p0
move-object/from16 v2, p4
.line 19
iget v3, v2, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/MpegAudioHeader;->samplesPerFrame:I
.line 20
iget v4, v2, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/MpegAudioHeader;->sampleRate:I
.line 22
invoke-virtual/range {p5 .. p5}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readInt()I
move-result v5
and-int/lit8 v6, v5, 0x1
const/4 v7, 0x1
if-ne v6, v7, :cond_4
.line 24
invoke-virtual/range {p5 .. p5}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readUnsignedIntToInt()I
move-result v6
if-nez v6, :cond_0
goto/16 :goto_1
:cond_0
int-to-long v7, v6
int-to-long v9, v3
const-wide/32 v11, 0xf4240
mul-long/2addr v9, v11
int-to-long v11, v4
.line 28
invoke-static/range {v7 .. v12}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/Util;->scaleLargeTimestamp(JJJ)J
move-result-wide v17
const/4 v3, 0x6
and-int/lit8 v4, v5, 0x6
if-eq v4, v3, :cond_1
.line 32
new-instance v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/XingSeeker;
iget v1, v2, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/MpegAudioHeader;->frameSize:I
move-object v13, v0
move-wide/from16 v14, p2
move/from16 v16, v1
invoke-direct/range {v13 .. v18}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/XingSeeker;-><init>(JIJ)V
return-object v0
.line 35
:cond_1
invoke-virtual/range {p5 .. p5}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readUnsignedIntToInt()I
move-result v3
int-to-long v3, v3
const/16 v5, 0x64
new-array v6, v5, [J
const/4 v7, 0x0
:goto_0
if-ge v7, v5, :cond_2
.line 38
invoke-virtual/range {p5 .. p5}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readUnsignedByte()I
move-result v8
int-to-long v8, v8
aput-wide v8, v6, v7
add-int/lit8 v7, v7, 0x1
goto :goto_0
:cond_2
const-wide/16 v7, -0x1
cmp-long v5, v0, v7
if-eqz v5, :cond_3
add-long v7, p2, v3
cmp-long v5, v0, v7
if-eqz v5, :cond_3
.line 46
new-instance v5, Ljava/lang/StringBuilder;
invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
const-string v9, "XING data size mismatch: "
invoke-virtual {v5, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5, v0, v1}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
const-string v0, ", "
invoke-virtual {v5, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5, v7, v8}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
const-string v1, "XingSeeker"
invoke-static {v1, v0}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
.line 48
:cond_3
new-instance v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/XingSeeker;
iget v1, v2, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/MpegAudioHeader;->frameSize:I
move-object v13, v0
move-wide/from16 v14, p2
move/from16 v16, v1
move-wide/from16 v19, v3
move-object/from16 v21, v6
invoke-direct/range {v13 .. v21}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/XingSeeker;-><init>(JIJJ[J)V
return-object v0
:cond_4
:goto_1
const/4 v0, 0x0
return-object v0
.end method
.method private getTimeUsForTableIndex(I)J
.locals 4
iget-wide v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/XingSeeker;->durationUs:J
int-to-long v2, p1
mul-long/2addr v0, v2
const-wide/16 v2, 0x64
.line 130
div-long/2addr v0, v2
return-wide v0
.end method
# virtual methods
.method public final getDurationUs()J
.locals 2
iget-wide v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/XingSeeker;->durationUs:J
return-wide v0
.end method
.method public final getSeekPoints(J)Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$SeekPoints;
.locals 12
.line 80
invoke-virtual {p0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/XingSeeker;->isSeekable()Z
move-result v0
if-nez v0, :cond_0
.line 81
new-instance p1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$SeekPoints;
new-instance p2, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;
iget-wide v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/XingSeeker;->dataStartPosition:J
iget v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/XingSeeker;->xingFrameSize:I
int-to-long v2, v2
add-long/2addr v0, v2
const-wide/16 v2, 0x0
invoke-direct {p2, v2, v3, v0, v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;-><init>(JJ)V
invoke-direct {p1, p2}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$SeekPoints;-><init>(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;)V
return-object p1
:cond_0
const-wide/16 v6, 0x0
iget-wide v8, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/XingSeeker;->durationUs:J
move-wide v4, p1
.line 83
invoke-static/range {v4 .. v9}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/Util;->constrainValue(JJJ)J
move-result-wide p1
long-to-double v0, p1
const-wide/high16 v2, 0x4059000000000000L # 100.0
mul-double/2addr v0, v2
iget-wide v4, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/XingSeeker;->durationUs:J
long-to-double v4, v4
div-double/2addr v0, v4
const-wide/16 v4, 0x0
cmpg-double v6, v0, v4
const-wide/high16 v7, 0x4070000000000000L # 256.0
if-gtz v6, :cond_1
goto :goto_1
:cond_1
cmpl-double v2, v0, v2
if-ltz v2, :cond_2
move-wide v4, v7
goto :goto_1
:cond_2
double-to-int v2, v0
iget-object v3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/XingSeeker;->tableOfContents:[J
.line 92
aget-wide v4, v3, v2
long-to-double v4, v4
const/16 v6, 0x63
if-ne v2, v6, :cond_3
move-wide v9, v7
goto :goto_0
:cond_3
add-int/lit8 v6, v2, 0x1
.line 93
aget-wide v9, v3, v6
long-to-double v9, v9
:goto_0
int-to-double v2, v2
sub-double/2addr v0, v2
sub-double/2addr v9, v4
mul-double/2addr v0, v9
add-double/2addr v4, v0
:goto_1
div-double/2addr v4, v7
iget-wide v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/XingSeeker;->dataSize:J
long-to-double v0, v0
mul-double/2addr v4, v0
.line 99
invoke-static {v4, v5}, Ljava/lang/Math;->round(D)J
move-result-wide v6
iget v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/XingSeeker;->xingFrameSize:I
int-to-long v8, v0
iget-wide v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/XingSeeker;->dataSize:J
const-wide/16 v2, 0x1
sub-long v10, v0, v2
.line 101
invoke-static/range {v6 .. v11}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/Util;->constrainValue(JJJ)J
move-result-wide v0
.line 102
new-instance v2, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$SeekPoints;
new-instance v3, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;
iget-wide v4, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/XingSeeker;->dataStartPosition:J
add-long/2addr v4, v0
invoke-direct {v3, p1, p2, v4, v5}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;-><init>(JJ)V
invoke-direct {v2, v3}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$SeekPoints;-><init>(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;)V
return-object v2
.end method
.method public final getTimeUs(J)J
.locals 12
iget-wide v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/XingSeeker;->dataStartPosition:J
sub-long/2addr p1, v0
.line 108
invoke-virtual {p0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/XingSeeker;->isSeekable()Z
move-result v0
if-eqz v0, :cond_3
iget v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/XingSeeker;->xingFrameSize:I
int-to-long v0, v0
cmp-long v0, p1, v0
if-gtz v0, :cond_0
goto :goto_2
:cond_0
long-to-double p1, p1
const-wide/high16 v0, 0x4070000000000000L # 256.0
mul-double/2addr p1, v0
iget-wide v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/XingSeeker;->dataSize:J
long-to-double v0, v0
div-double/2addr p1, v0
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/XingSeeker;->tableOfContents:[J
double-to-long v1, p1
const/4 v3, 0x1
.line 112
invoke-static {v0, v1, v2, v3, v3}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/Util;->binarySearchFloor([JJZZ)I
move-result v0
.line 113
invoke-direct {p0, v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/XingSeeker;->getTimeUsForTableIndex(I)J
move-result-wide v1
iget-object v3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/XingSeeker;->tableOfContents:[J
.line 114
aget-wide v4, v3, v0
add-int/lit8 v3, v0, 0x1
.line 115
invoke-direct {p0, v3}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/XingSeeker;->getTimeUsForTableIndex(I)J
move-result-wide v6
const/16 v8, 0x63
if-ne v0, v8, :cond_1
const-wide/16 v8, 0x100
goto :goto_0
:cond_1
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/XingSeeker;->tableOfContents:[J
.line 116
aget-wide v8, v0, v3
:goto_0
cmp-long v0, v4, v8
if-nez v0, :cond_2
const-wide/16 p1, 0x0
goto :goto_1
:cond_2
long-to-double v10, v4
sub-double/2addr p1, v10
sub-long/2addr v8, v4
long-to-double v3, v8
div-double/2addr p1, v3
:goto_1
sub-long/2addr v6, v1
long-to-double v3, v6
mul-double/2addr p1, v3
.line 120
invoke-static {p1, p2}, Ljava/lang/Math;->round(D)J
move-result-wide p1
add-long/2addr v1, p1
return-wide v1
:cond_3
:goto_2
const-wide/16 p1, 0x0
return-wide p1
.end method
.method public final isSeekable()Z
.locals 1
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/XingSeeker;->tableOfContents:[J
if-eqz v0, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
return v0
.end method

View File

@@ -0,0 +1,306 @@
.class final Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Atom$ContainerAtom;
.super Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Atom;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Atom;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "ContainerAtom"
.end annotation
# instance fields
.field public final containerChildren:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Atom$ContainerAtom;",
">;"
}
.end annotation
.end field
.field public final endPosition:J
.field public final leafChildren:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Atom$LeafAtom;",
">;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>(IJ)V
.locals 0
.line 155
invoke-direct {p0, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Atom;-><init>(I)V
iput-wide p2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Atom$ContainerAtom;->endPosition:J
.line 157
new-instance p1, Ljava/util/ArrayList;
invoke-direct {p1}, Ljava/util/ArrayList;-><init>()V
iput-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Atom$ContainerAtom;->leafChildren:Ljava/util/List;
.line 158
new-instance p1, Ljava/util/ArrayList;
invoke-direct {p1}, Ljava/util/ArrayList;-><init>()V
iput-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Atom$ContainerAtom;->containerChildren:Ljava/util/List;
return-void
.end method
# virtual methods
.method public final add(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Atom$ContainerAtom;)V
.locals 1
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Atom$ContainerAtom;->containerChildren:Ljava/util/List;
.line 168
invoke-interface {v0, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
return-void
.end method
.method public final add(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Atom$LeafAtom;)V
.locals 1
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Atom$ContainerAtom;->leafChildren:Ljava/util/List;
.line 163
invoke-interface {v0, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
return-void
.end method
.method public final getChildAtomOfTypeCount(I)I
.locals 5
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Atom$ContainerAtom;->leafChildren:Ljava/util/List;
.line 198
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v0
const/4 v1, 0x0
move v2, v1
move v3, v2
:goto_0
if-ge v2, v0, :cond_1
iget-object v4, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Atom$ContainerAtom;->leafChildren:Ljava/util/List;
.line 200
invoke-interface {v4, v2}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v4
check-cast v4, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Atom$LeafAtom;
.line 201
iget v4, v4, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Atom;->type:I
if-ne v4, p1, :cond_0
add-int/lit8 v3, v3, 0x1
:cond_0
add-int/lit8 v2, v2, 0x1
goto :goto_0
:cond_1
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Atom$ContainerAtom;->containerChildren:Ljava/util/List;
.line 205
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v0
:goto_1
if-ge v1, v0, :cond_3
iget-object v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Atom$ContainerAtom;->containerChildren:Ljava/util/List;
.line 207
invoke-interface {v2, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Atom$ContainerAtom;
.line 208
iget v2, v2, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Atom;->type:I
if-ne v2, p1, :cond_2
add-int/lit8 v3, v3, 0x1
:cond_2
add-int/lit8 v1, v1, 0x1
goto :goto_1
:cond_3
return v3
.end method
.method public final getContainerAtomOfType(I)Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Atom$ContainerAtom;
.locals 4
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Atom$ContainerAtom;->containerChildren:Ljava/util/List;
.line 185
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v0
const/4 v1, 0x0
:goto_0
if-ge v1, v0, :cond_1
iget-object v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Atom$ContainerAtom;->containerChildren:Ljava/util/List;
.line 187
invoke-interface {v2, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Atom$ContainerAtom;
.line 188
iget v3, v2, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Atom;->type:I
if-ne v3, p1, :cond_0
return-object v2
:cond_0
add-int/lit8 v1, v1, 0x1
goto :goto_0
:cond_1
const/4 p1, 0x0
return-object p1
.end method
.method public final getLeafAtomOfType(I)Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Atom$LeafAtom;
.locals 4
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Atom$ContainerAtom;->leafChildren:Ljava/util/List;
.line 173
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v0
const/4 v1, 0x0
:goto_0
if-ge v1, v0, :cond_1
iget-object v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Atom$ContainerAtom;->leafChildren:Ljava/util/List;
.line 175
invoke-interface {v2, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Atom$LeafAtom;
.line 176
iget v3, v2, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Atom;->type:I
if-ne v3, p1, :cond_0
return-object v2
:cond_0
add-int/lit8 v1, v1, 0x1
goto :goto_0
:cond_1
const/4 p1, 0x0
return-object p1
.end method
.method public final toString()Ljava/lang/String;
.locals 2
.line 217
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
iget v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Atom;->type:I
invoke-static {v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Atom;->getAtomTypeString(I)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, " leaves: "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Atom$ContainerAtom;->leafChildren:Ljava/util/List;
.line 218
invoke-interface {v1}, Ljava/util/List;->toArray()[Ljava/lang/Object;
move-result-object v1
invoke-static {v1}, Ljava/util/Arrays;->toString([Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, " containers: "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Atom$ContainerAtom;->containerChildren:Ljava/util/List;
.line 219
invoke-interface {v1}, Ljava/util/List;->toArray()[Ljava/lang/Object;
move-result-object v1
invoke-static {v1}, Ljava/util/Arrays;->toString([Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method

View File

@@ -0,0 +1,31 @@
.class final Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Atom$LeafAtom;
.super Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Atom;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Atom;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "LeafAtom"
.end annotation
# instance fields
.field public final data:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
# direct methods
.method public constructor <init>(ILcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;)V
.locals 0
.line 140
invoke-direct {p0, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Atom;-><init>(I)V
iput-object p2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Atom$LeafAtom;->data:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
return-void
.end method

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,193 @@
.class final Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers$ChunkIterator;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "ChunkIterator"
.end annotation
# instance fields
.field private final chunkOffsets:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.field private final chunkOffsetsAreLongs:Z
.field public index:I
.field public final length:I
.field private nextSamplesPerChunkChangeIndex:I
.field public numSamples:I
.field public offset:J
.field private remainingSamplesPerChunkChanges:I
.field private final stsc:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
# direct methods
.method public constructor <init>(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;Z)V
.locals 0
.line 1134
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers$ChunkIterator;->stsc:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
iput-object p2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers$ChunkIterator;->chunkOffsets:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
iput-boolean p3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers$ChunkIterator;->chunkOffsetsAreLongs:Z
const/16 p3, 0xc
.line 1138
invoke-virtual {p2, p3}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->setPosition(I)V
.line 1139
invoke-virtual {p2}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readUnsignedIntToInt()I
move-result p2
iput p2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers$ChunkIterator;->length:I
.line 1140
invoke-virtual {p1, p3}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->setPosition(I)V
.line 1141
invoke-virtual {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readUnsignedIntToInt()I
move-result p2
iput p2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers$ChunkIterator;->remainingSamplesPerChunkChanges:I
.line 1142
invoke-virtual {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readInt()I
move-result p1
const/4 p2, 0x1
if-ne p1, p2, :cond_0
goto :goto_0
:cond_0
const/4 p2, 0x0
:goto_0
const-string p1, "first_chunk must be 1"
invoke-static {p2, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/Assertions;->checkState(ZLjava/lang/Object;)V
const/4 p1, -0x1
iput p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers$ChunkIterator;->index:I
return-void
.end method
# virtual methods
.method public final moveNext()Z
.locals 4
iget v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers$ChunkIterator;->index:I
const/4 v1, 0x1
add-int/2addr v0, v1
iput v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers$ChunkIterator;->index:I
iget v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers$ChunkIterator;->length:I
if-ne v0, v2, :cond_0
const/4 v0, 0x0
return v0
:cond_0
iget-boolean v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers$ChunkIterator;->chunkOffsetsAreLongs:Z
if-eqz v0, :cond_1
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers$ChunkIterator;->chunkOffsets:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 1150
invoke-virtual {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readUnsignedLongToLong()J
move-result-wide v2
goto :goto_0
:cond_1
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers$ChunkIterator;->chunkOffsets:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 1151
invoke-virtual {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readUnsignedInt()J
move-result-wide v2
:goto_0
iput-wide v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers$ChunkIterator;->offset:J
iget v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers$ChunkIterator;->index:I
iget v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers$ChunkIterator;->nextSamplesPerChunkChangeIndex:I
if-ne v0, v2, :cond_3
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers$ChunkIterator;->stsc:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 1153
invoke-virtual {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readUnsignedIntToInt()I
move-result v0
iput v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers$ChunkIterator;->numSamples:I
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers$ChunkIterator;->stsc:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
const/4 v2, 0x4
.line 1154
invoke-virtual {v0, v2}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->skipBytes(I)V
iget v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers$ChunkIterator;->remainingSamplesPerChunkChanges:I
sub-int/2addr v0, v1
iput v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers$ChunkIterator;->remainingSamplesPerChunkChanges:I
if-lez v0, :cond_2
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers$ChunkIterator;->stsc:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 1156
invoke-virtual {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readUnsignedIntToInt()I
move-result v0
sub-int/2addr v0, v1
goto :goto_1
:cond_2
const/4 v0, -0x1
:goto_1
iput v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers$ChunkIterator;->nextSamplesPerChunkChangeIndex:I
:cond_3
return v1
.end method

View File

@@ -0,0 +1,25 @@
.class interface abstract Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers$SampleSizeBox;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x609
name = "SampleSizeBox"
.end annotation
# virtual methods
.method public abstract getSampleCount()I
.end method
.method public abstract isFixedSampleSize()Z
.end method
.method public abstract readNextSampleSize()I
.end method

View File

@@ -0,0 +1,48 @@
.class final Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers$StsdData;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "StsdData"
.end annotation
# static fields
.field public static final STSD_HEADER_SIZE:I = 0x8
# instance fields
.field public format:Lcom/mbridge/msdk/playercommon/exoplayer2/Format;
.field public nalUnitLengthFieldLength:I
.field public requiredSampleTransformation:I
.field public final trackEncryptionBoxes:[Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackEncryptionBox;
# direct methods
.method public constructor <init>(I)V
.locals 0
.line 1190
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 1191
new-array p1, p1, [Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackEncryptionBox;
iput-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers$StsdData;->trackEncryptionBoxes:[Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackEncryptionBox;
const/4 p1, 0x0
iput p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers$StsdData;->requiredSampleTransformation:I
return-void
.end method

View File

@@ -0,0 +1,106 @@
.class final Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers$StszSampleSizeBox;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers$SampleSizeBox;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "StszSampleSizeBox"
.end annotation
# instance fields
.field private final data:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.field private final fixedSampleSize:I
.field private final sampleCount:I
# direct methods
.method public constructor <init>(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Atom$LeafAtom;)V
.locals 1
.line 1218
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 1219
iget-object p1, p1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Atom$LeafAtom;->data:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
iput-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers$StszSampleSizeBox;->data:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
const/16 v0, 0xc
.line 1220
invoke-virtual {p1, v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->setPosition(I)V
.line 1221
invoke-virtual {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readUnsignedIntToInt()I
move-result v0
iput v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers$StszSampleSizeBox;->fixedSampleSize:I
.line 1222
invoke-virtual {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readUnsignedIntToInt()I
move-result p1
iput p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers$StszSampleSizeBox;->sampleCount:I
return-void
.end method
# virtual methods
.method public final getSampleCount()I
.locals 1
iget v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers$StszSampleSizeBox;->sampleCount:I
return v0
.end method
.method public final isFixedSampleSize()Z
.locals 1
iget v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers$StszSampleSizeBox;->fixedSampleSize:I
if-eqz v0, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
return v0
.end method
.method public final readNextSampleSize()I
.locals 1
iget v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers$StszSampleSizeBox;->fixedSampleSize:I
if-nez v0, :cond_0
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers$StszSampleSizeBox;->data:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 1232
invoke-virtual {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readUnsignedIntToInt()I
move-result v0
:cond_0
return v0
.end method

View File

@@ -0,0 +1,151 @@
.class final Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers$Stz2SampleSizeBox;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers$SampleSizeBox;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "Stz2SampleSizeBox"
.end annotation
# instance fields
.field private currentByte:I
.field private final data:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.field private final fieldSize:I
.field private final sampleCount:I
.field private sampleIndex:I
# direct methods
.method public constructor <init>(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Atom$LeafAtom;)V
.locals 1
.line 1253
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 1254
iget-object p1, p1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Atom$LeafAtom;->data:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
iput-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers$Stz2SampleSizeBox;->data:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
const/16 v0, 0xc
.line 1255
invoke-virtual {p1, v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->setPosition(I)V
.line 1256
invoke-virtual {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readUnsignedIntToInt()I
move-result v0
and-int/lit16 v0, v0, 0xff
iput v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers$Stz2SampleSizeBox;->fieldSize:I
.line 1257
invoke-virtual {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readUnsignedIntToInt()I
move-result p1
iput p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers$Stz2SampleSizeBox;->sampleCount:I
return-void
.end method
# virtual methods
.method public final getSampleCount()I
.locals 1
iget v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers$Stz2SampleSizeBox;->sampleCount:I
return v0
.end method
.method public final isFixedSampleSize()Z
.locals 1
const/4 v0, 0x0
return v0
.end method
.method public final readNextSampleSize()I
.locals 2
iget v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers$Stz2SampleSizeBox;->fieldSize:I
const/16 v1, 0x8
if-ne v0, v1, :cond_0
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers$Stz2SampleSizeBox;->data:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 1268
invoke-virtual {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readUnsignedByte()I
move-result v0
return v0
:cond_0
const/16 v1, 0x10
if-ne v0, v1, :cond_1
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers$Stz2SampleSizeBox;->data:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 1270
invoke-virtual {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readUnsignedShort()I
move-result v0
return v0
:cond_1
iget v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers$Stz2SampleSizeBox;->sampleIndex:I
add-int/lit8 v1, v0, 0x1
iput v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers$Stz2SampleSizeBox;->sampleIndex:I
.line 1273
rem-int/lit8 v0, v0, 0x2
if-nez v0, :cond_2
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers$Stz2SampleSizeBox;->data:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 1275
invoke-virtual {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readUnsignedByte()I
move-result v0
iput v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers$Stz2SampleSizeBox;->currentByte:I
and-int/lit16 v0, v0, 0xf0
shr-int/lit8 v0, v0, 0x4
return v0
:cond_2
iget v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers$Stz2SampleSizeBox;->currentByte:I
and-int/lit8 v0, v0, 0xf
return v0
.end method

View File

@@ -0,0 +1,66 @@
.class final Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers$TkhdData;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "TkhdData"
.end annotation
# instance fields
.field private final duration:J
.field private final id:I
.field private final rotationDegrees:I
# direct methods
.method public constructor <init>(IJI)V
.locals 0
.line 1170
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers$TkhdData;->id:I
iput-wide p2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers$TkhdData;->duration:J
iput p4, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers$TkhdData;->rotationDegrees:I
return-void
.end method
.method public static synthetic access$000(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers$TkhdData;)J
.locals 2
.line 1164
iget-wide v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers$TkhdData;->duration:J
return-wide v0
.end method
.method public static synthetic access$100(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers$TkhdData;)I
.locals 0
.line 1164
iget p0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers$TkhdData;->id:I
return p0
.end method
.method public static synthetic access$200(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers$TkhdData;)I
.locals 0
.line 1164
iget p0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers$TkhdData;->rotationDegrees:I
return p0
.end method

View File

@@ -0,0 +1,25 @@
.class public final Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers$UnhandledEditListException;
.super Lcom/mbridge/msdk/playercommon/exoplayer2/ParserException;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/AtomParsers;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "UnhandledEditListException"
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
.line 31
invoke-direct {p0}, Lcom/mbridge/msdk/playercommon/exoplayer2/ParserException;-><init>()V
return-void
.end method

View File

@@ -0,0 +1,32 @@
.class final Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/DefaultSampleValues;
.super Ljava/lang/Object;
.source "SourceFile"
# instance fields
.field public final duration:I
.field public final flags:I
.field public final sampleDescriptionIndex:I
.field public final size:I
# direct methods
.method public constructor <init>(IIII)V
.locals 0
.line 11
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/DefaultSampleValues;->sampleDescriptionIndex:I
iput p2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/DefaultSampleValues;->duration:I
iput p3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/DefaultSampleValues;->size:I
iput p4, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/DefaultSampleValues;->flags:I
return-void
.end method

View File

@@ -0,0 +1,14 @@
.class synthetic Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FixedSampleSizeRechunker$1;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FixedSampleSizeRechunker;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1009
name = null
.end annotation

View File

@@ -0,0 +1,60 @@
.class public final Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FixedSampleSizeRechunker$Results;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FixedSampleSizeRechunker;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "Results"
.end annotation
# instance fields
.field public final duration:J
.field public final flags:[I
.field public final maximumSize:I
.field public final offsets:[J
.field public final sizes:[I
.field public final timestamps:[J
# direct methods
.method private constructor <init>([J[II[J[IJ)V
.locals 0
.line 26
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FixedSampleSizeRechunker$Results;->offsets:[J
iput-object p2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FixedSampleSizeRechunker$Results;->sizes:[I
iput p3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FixedSampleSizeRechunker$Results;->maximumSize:I
iput-object p4, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FixedSampleSizeRechunker$Results;->timestamps:[J
iput-object p5, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FixedSampleSizeRechunker$Results;->flags:[I
iput-wide p6, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FixedSampleSizeRechunker$Results;->duration:J
return-void
.end method
.method public synthetic constructor <init>([J[II[J[IJLcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FixedSampleSizeRechunker$1;)V
.locals 0
.line 11
invoke-direct/range {p0 .. p7}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FixedSampleSizeRechunker$Results;-><init>([J[II[J[IJ)V
return-void
.end method

View File

@@ -0,0 +1,162 @@
.class final Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FixedSampleSizeRechunker;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FixedSampleSizeRechunker$Results;
}
.end annotation
# static fields
.field private static final MAX_SAMPLE_SIZE:I = 0x2000
# direct methods
.method private constructor <init>()V
.locals 0
.line 84
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static rechunk(I[J[IJ)Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FixedSampleSizeRechunker$Results;
.locals 16
move-object/from16 v0, p2
const/16 v1, 0x2000
.line 43
div-int v1, v1, p0
.line 47
array-length v2, v0
const/4 v3, 0x0
move v4, v3
move v5, v4
:goto_0
if-ge v4, v2, :cond_0
aget v6, v0, v4
.line 48
invoke-static {v6, v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/Util;->ceilDivide(II)I
move-result v6
add-int/2addr v5, v6
add-int/lit8 v4, v4, 0x1
goto :goto_0
.line 51
:cond_0
new-array v7, v5, [J
.line 52
new-array v8, v5, [I
.line 54
new-array v10, v5, [J
.line 55
new-array v11, v5, [I
move v2, v3
move v4, v2
move v9, v4
.line 59
:goto_1
array-length v5, v0
if-ge v3, v5, :cond_2
.line 60
aget v5, v0, v3
.line 61
aget-wide v12, p1, v3
:goto_2
if-lez v5, :cond_1
.line 64
invoke-static {v1, v5}, Ljava/lang/Math;->min(II)I
move-result v6
.line 66
aput-wide v12, v7, v4
mul-int v14, p0, v6
.line 67
aput v14, v8, v4
.line 68
invoke-static {v9, v14}, Ljava/lang/Math;->max(II)I
move-result v9
int-to-long v14, v2
mul-long v14, v14, p3
.line 69
aput-wide v14, v10, v4
const/4 v14, 0x1
.line 70
aput v14, v11, v4
.line 72
aget v14, v8, v4
int-to-long v14, v14
add-long/2addr v12, v14
add-int/2addr v2, v6
sub-int/2addr v5, v6
add-int/lit8 v4, v4, 0x1
goto :goto_2
:cond_1
add-int/lit8 v3, v3, 0x1
goto :goto_1
:cond_2
int-to-long v0, v2
mul-long v12, p3, v0
.line 81
new-instance v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FixedSampleSizeRechunker$Results;
const/4 v14, 0x0
move-object v6, v0
invoke-direct/range {v6 .. v14}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FixedSampleSizeRechunker$Results;-><init>([J[II[J[IJLcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FixedSampleSizeRechunker$1;)V
return-object v0
.end method

View File

@@ -0,0 +1,48 @@
.class Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FragmentedMp4Extractor$1;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorsFactory;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FragmentedMp4Extractor;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public createExtractors()[Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/Extractor;
.locals 3
const/4 v0, 0x1
new-array v0, v0, [Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/Extractor;
.line 49
new-instance v1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FragmentedMp4Extractor;
invoke-direct {v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FragmentedMp4Extractor;-><init>()V
const/4 v2, 0x0
aput-object v1, v0, v2
return-object v0
.end method

View File

@@ -0,0 +1,21 @@
.class public interface abstract annotation Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FragmentedMp4Extractor$Flags;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Ljava/lang/annotation/Annotation;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FragmentedMp4Extractor;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x2609
name = "Flags"
.end annotation
.annotation runtime Ljava/lang/annotation/Retention;
value = .enum Ljava/lang/annotation/RetentionPolicy;->SOURCE:Ljava/lang/annotation/RetentionPolicy;
.end annotation

View File

@@ -0,0 +1,35 @@
.class final Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FragmentedMp4Extractor$MetadataSampleInfo;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FragmentedMp4Extractor;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "MetadataSampleInfo"
.end annotation
# instance fields
.field public final presentationTimeDeltaUs:J
.field public final size:I
# direct methods
.method public constructor <init>(JI)V
.locals 0
.line 1256
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-wide p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FragmentedMp4Extractor$MetadataSampleInfo;->presentationTimeDeltaUs:J
iput p3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FragmentedMp4Extractor$MetadataSampleInfo;->size:I
return-void
.end method

View File

@@ -0,0 +1,498 @@
.class final Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FragmentedMp4Extractor$TrackBundle;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FragmentedMp4Extractor;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "TrackBundle"
.end annotation
# instance fields
.field public currentSampleInTrackRun:I
.field public currentSampleIndex:I
.field public currentTrackRunIndex:I
.field private final defaultInitializationVector:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.field public defaultSampleValues:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/DefaultSampleValues;
.field private final encryptionSignalByte:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.field public firstSampleToOutputIndex:I
.field public final fragment:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackFragment;
.field public final output:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;
.field public track:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Track;
# direct methods
.method public constructor <init>(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;)V
.locals 1
.line 1279
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FragmentedMp4Extractor$TrackBundle;->output:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;
.line 1281
new-instance p1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackFragment;
invoke-direct {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackFragment;-><init>()V
iput-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FragmentedMp4Extractor$TrackBundle;->fragment:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackFragment;
.line 1282
new-instance p1, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
const/4 v0, 0x1
invoke-direct {p1, v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;-><init>(I)V
iput-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FragmentedMp4Extractor$TrackBundle;->encryptionSignalByte:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 1283
new-instance p1, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
invoke-direct {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;-><init>()V
iput-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FragmentedMp4Extractor$TrackBundle;->defaultInitializationVector:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
return-void
.end method
.method public static synthetic access$000(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FragmentedMp4Extractor$TrackBundle;)V
.locals 0
.line 1264
invoke-direct {p0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FragmentedMp4Extractor$TrackBundle;->skipSampleEncryptionData()V
return-void
.end method
.method private getEncryptionBox()Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackEncryptionBox;
.locals 2
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FragmentedMp4Extractor$TrackBundle;->fragment:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackFragment;
.line 1392
iget-object v1, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackFragment;->header:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/DefaultSampleValues;
iget v1, v1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/DefaultSampleValues;->sampleDescriptionIndex:I
.line 1393
iget-object v0, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackFragment;->trackEncryptionBox:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackEncryptionBox;
if-eqz v0, :cond_0
goto :goto_0
:cond_0
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FragmentedMp4Extractor$TrackBundle;->track:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Track;
.line 1395
invoke-virtual {v0, v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Track;->getSampleDescriptionEncryptionBox(I)Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackEncryptionBox;
move-result-object v0
:goto_0
return-object v0
.end method
.method private skipSampleEncryptionData()V
.locals 3
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FragmentedMp4Extractor$TrackBundle;->fragment:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackFragment;
.line 1377
iget-boolean v1, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackFragment;->definesEncryptionData:Z
if-nez v1, :cond_0
return-void
.line 1381
:cond_0
iget-object v0, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackFragment;->sampleEncryptionData:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 1382
invoke-direct {p0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FragmentedMp4Extractor$TrackBundle;->getEncryptionBox()Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackEncryptionBox;
move-result-object v1
.line 1383
iget v1, v1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackEncryptionBox;->initializationVectorSize:I
if-eqz v1, :cond_1
.line 1384
invoke-virtual {v0, v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->skipBytes(I)V
:cond_1
iget-object v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FragmentedMp4Extractor$TrackBundle;->fragment:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackFragment;
.line 1386
iget-object v1, v1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackFragment;->sampleHasSubsampleEncryptionTable:[Z
iget v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FragmentedMp4Extractor$TrackBundle;->currentSampleIndex:I
aget-boolean v1, v1, v2
if-eqz v1, :cond_2
.line 1387
invoke-virtual {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readUnsignedShort()I
move-result v1
mul-int/lit8 v1, v1, 0x6
invoke-virtual {v0, v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->skipBytes(I)V
:cond_2
return-void
.end method
# virtual methods
.method public final init(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Track;Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/DefaultSampleValues;)V
.locals 1
.line 1287
invoke-static {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/Assertions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Track;
iput-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FragmentedMp4Extractor$TrackBundle;->track:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Track;
.line 1288
invoke-static {p2}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/Assertions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p2
check-cast p2, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/DefaultSampleValues;
iput-object p2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FragmentedMp4Extractor$TrackBundle;->defaultSampleValues:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/DefaultSampleValues;
iget-object p2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FragmentedMp4Extractor$TrackBundle;->output:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;
.line 1289
iget-object p1, p1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Track;->format:Lcom/mbridge/msdk/playercommon/exoplayer2/Format;
invoke-interface {p2, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;->format(Lcom/mbridge/msdk/playercommon/exoplayer2/Format;)V
.line 1290
invoke-virtual {p0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FragmentedMp4Extractor$TrackBundle;->reset()V
return-void
.end method
.method public final next()Z
.locals 4
iget v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FragmentedMp4Extractor$TrackBundle;->currentSampleIndex:I
const/4 v1, 0x1
add-int/2addr v0, v1
iput v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FragmentedMp4Extractor$TrackBundle;->currentSampleIndex:I
iget v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FragmentedMp4Extractor$TrackBundle;->currentSampleInTrackRun:I
add-int/2addr v0, v1
iput v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FragmentedMp4Extractor$TrackBundle;->currentSampleInTrackRun:I
iget-object v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FragmentedMp4Extractor$TrackBundle;->fragment:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackFragment;
.line 1326
iget-object v2, v2, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackFragment;->trunLength:[I
iget v3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FragmentedMp4Extractor$TrackBundle;->currentTrackRunIndex:I
aget v2, v2, v3
if-ne v0, v2, :cond_0
add-int/2addr v3, v1
iput v3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FragmentedMp4Extractor$TrackBundle;->currentTrackRunIndex:I
const/4 v0, 0x0
iput v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FragmentedMp4Extractor$TrackBundle;->currentSampleInTrackRun:I
return v0
:cond_0
return v1
.end method
.method public final outputSampleEncryptionData()I
.locals 8
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FragmentedMp4Extractor$TrackBundle;->fragment:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackFragment;
.line 1336
iget-boolean v0, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackFragment;->definesEncryptionData:Z
const/4 v1, 0x0
if-nez v0, :cond_0
return v1
.line 1340
:cond_0
invoke-direct {p0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FragmentedMp4Extractor$TrackBundle;->getEncryptionBox()Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackEncryptionBox;
move-result-object v0
.line 1343
iget v2, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackEncryptionBox;->initializationVectorSize:I
if-eqz v2, :cond_1
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FragmentedMp4Extractor$TrackBundle;->fragment:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackFragment;
.line 1344
iget-object v0, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackFragment;->sampleEncryptionData:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
goto :goto_0
.line 1348
:cond_1
iget-object v0, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackEncryptionBox;->defaultInitializationVector:[B
iget-object v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FragmentedMp4Extractor$TrackBundle;->defaultInitializationVector:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 1349
array-length v3, v0
invoke-virtual {v2, v0, v3}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->reset([BI)V
iget-object v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FragmentedMp4Extractor$TrackBundle;->defaultInitializationVector:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 1351
array-length v0, v0
move-object v7, v2
move v2, v0
move-object v0, v7
:goto_0
iget-object v3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FragmentedMp4Extractor$TrackBundle;->fragment:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackFragment;
.line 1354
iget-object v3, v3, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackFragment;->sampleHasSubsampleEncryptionTable:[Z
iget v4, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FragmentedMp4Extractor$TrackBundle;->currentSampleIndex:I
aget-boolean v3, v3, v4
iget-object v4, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FragmentedMp4Extractor$TrackBundle;->encryptionSignalByte:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 1357
iget-object v5, v4, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->data:[B
if-eqz v3, :cond_2
const/16 v6, 0x80
goto :goto_1
:cond_2
move v6, v1
:goto_1
or-int/2addr v6, v2
int-to-byte v6, v6
aput-byte v6, v5, v1
.line 1358
invoke-virtual {v4, v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->setPosition(I)V
iget-object v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FragmentedMp4Extractor$TrackBundle;->output:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;
iget-object v4, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FragmentedMp4Extractor$TrackBundle;->encryptionSignalByte:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
const/4 v5, 0x1
.line 1359
invoke-interface {v1, v4, v5}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;->sampleData(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;I)V
iget-object v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FragmentedMp4Extractor$TrackBundle;->output:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;
.line 1361
invoke-interface {v1, v0, v2}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;->sampleData(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;I)V
if-nez v3, :cond_3
add-int/2addr v2, v5
return v2
:cond_3
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FragmentedMp4Extractor$TrackBundle;->fragment:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackFragment;
.line 1367
iget-object v0, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackFragment;->sampleEncryptionData:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 1368
invoke-virtual {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readUnsignedShort()I
move-result v1
const/4 v3, -0x2
.line 1369
invoke-virtual {v0, v3}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->skipBytes(I)V
mul-int/lit8 v1, v1, 0x6
add-int/lit8 v1, v1, 0x2
iget-object v3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FragmentedMp4Extractor$TrackBundle;->output:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;
.line 1371
invoke-interface {v3, v0, v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;->sampleData(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;I)V
add-int/2addr v2, v5
add-int/2addr v2, v1
return v2
.end method
.method public final reset()V
.locals 1
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FragmentedMp4Extractor$TrackBundle;->fragment:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackFragment;
.line 1302
invoke-virtual {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackFragment;->reset()V
const/4 v0, 0x0
iput v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FragmentedMp4Extractor$TrackBundle;->currentSampleIndex:I
iput v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FragmentedMp4Extractor$TrackBundle;->currentTrackRunIndex:I
iput v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FragmentedMp4Extractor$TrackBundle;->currentSampleInTrackRun:I
iput v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FragmentedMp4Extractor$TrackBundle;->firstSampleToOutputIndex:I
return-void
.end method
.method public final seek(J)V
.locals 3
.line 1311
invoke-static {p1, p2}, Lcom/mbridge/msdk/playercommon/exoplayer2/C;->usToMs(J)J
move-result-wide p1
iget v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FragmentedMp4Extractor$TrackBundle;->currentSampleIndex:I
:goto_0
iget-object v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FragmentedMp4Extractor$TrackBundle;->fragment:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackFragment;
.line 1313
iget v2, v1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackFragment;->sampleCount:I
if-ge v0, v2, :cond_1
.line 1314
invoke-virtual {v1, v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackFragment;->getSamplePresentationTime(I)J
move-result-wide v1
cmp-long v1, v1, p1
if-gez v1, :cond_1
iget-object v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FragmentedMp4Extractor$TrackBundle;->fragment:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackFragment;
.line 1315
iget-object v1, v1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackFragment;->sampleIsSyncFrameTable:[Z
aget-boolean v1, v1, v0
if-eqz v1, :cond_0
iput v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FragmentedMp4Extractor$TrackBundle;->firstSampleToOutputIndex:I
:cond_0
add-int/lit8 v0, v0, 0x1
goto :goto_0
:cond_1
return-void
.end method
.method public final updateDrmInitData(Lcom/mbridge/msdk/playercommon/exoplayer2/drm/DrmInitData;)V
.locals 3
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FragmentedMp4Extractor$TrackBundle;->track:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Track;
iget-object v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FragmentedMp4Extractor$TrackBundle;->fragment:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackFragment;
.line 1294
iget-object v1, v1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackFragment;->header:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/DefaultSampleValues;
iget v1, v1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/DefaultSampleValues;->sampleDescriptionIndex:I
.line 1295
invoke-virtual {v0, v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Track;->getSampleDescriptionEncryptionBox(I)Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackEncryptionBox;
move-result-object v0
if-eqz v0, :cond_0
.line 1296
iget-object v0, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackEncryptionBox;->schemeType:Ljava/lang/String;
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
iget-object v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FragmentedMp4Extractor$TrackBundle;->output:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;
iget-object v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FragmentedMp4Extractor$TrackBundle;->track:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Track;
.line 1297
iget-object v2, v2, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Track;->format:Lcom/mbridge/msdk/playercommon/exoplayer2/Format;
invoke-virtual {p1, v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/drm/DrmInitData;->copyWithSchemeType(Ljava/lang/String;)Lcom/mbridge/msdk/playercommon/exoplayer2/drm/DrmInitData;
move-result-object p1
invoke-virtual {v2, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/Format;->copyWithDrmInitData(Lcom/mbridge/msdk/playercommon/exoplayer2/drm/DrmInitData;)Lcom/mbridge/msdk/playercommon/exoplayer2/Format;
move-result-object p1
invoke-interface {v1, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;->format(Lcom/mbridge/msdk/playercommon/exoplayer2/Format;)V
return-void
.end method

View File

@@ -0,0 +1,48 @@
.class Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Mp4Extractor$1;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorsFactory;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Mp4Extractor;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public createExtractors()[Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/Extractor;
.locals 3
const/4 v0, 0x1
new-array v0, v0, [Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/Extractor;
.line 38
new-instance v1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Mp4Extractor;
invoke-direct {v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Mp4Extractor;-><init>()V
const/4 v2, 0x0
aput-object v1, v0, v2
return-object v0
.end method

View File

@@ -0,0 +1,21 @@
.class public interface abstract annotation Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Mp4Extractor$Flags;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Ljava/lang/annotation/Annotation;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Mp4Extractor;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x2609
name = "Flags"
.end annotation
.annotation runtime Ljava/lang/annotation/Retention;
value = .enum Ljava/lang/annotation/RetentionPolicy;->SOURCE:Ljava/lang/annotation/RetentionPolicy;
.end annotation

View File

@@ -0,0 +1,41 @@
.class final Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Mp4Extractor$Mp4Track;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Mp4Extractor;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "Mp4Track"
.end annotation
# instance fields
.field public sampleIndex:I
.field public final sampleTable:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackSampleTable;
.field public final track:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Track;
.field public final trackOutput:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;
# direct methods
.method public constructor <init>(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Track;Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackSampleTable;Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;)V
.locals 0
.line 656
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Mp4Extractor$Mp4Track;->track:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Track;
iput-object p2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Mp4Extractor$Mp4Track;->sampleTable:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackSampleTable;
iput-object p3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Mp4Extractor$Mp4Track;->trackOutput:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;
return-void
.end method

View File

@@ -0,0 +1,21 @@
.class interface abstract annotation Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Mp4Extractor$State;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Ljava/lang/annotation/Annotation;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Mp4Extractor;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x2609
name = "State"
.end annotation
.annotation runtime Ljava/lang/annotation/Retention;
value = .enum Ljava/lang/annotation/RetentionPolicy;->SOURCE:Ljava/lang/annotation/RetentionPolicy;
.end annotation

View File

@@ -0,0 +1,66 @@
.class Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/PsshAtomUtil$PsshAtom;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/PsshAtomUtil;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "PsshAtom"
.end annotation
# instance fields
.field private final schemeData:[B
.field private final uuid:Ljava/util/UUID;
.field private final version:I
# direct methods
.method public constructor <init>(Ljava/util/UUID;I[B)V
.locals 0
.line 129
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/PsshAtomUtil$PsshAtom;->uuid:Ljava/util/UUID;
iput p2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/PsshAtomUtil$PsshAtom;->version:I
iput-object p3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/PsshAtomUtil$PsshAtom;->schemeData:[B
return-void
.end method
.method public static synthetic access$000(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/PsshAtomUtil$PsshAtom;)Ljava/util/UUID;
.locals 0
.line 123
iget-object p0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/PsshAtomUtil$PsshAtom;->uuid:Ljava/util/UUID;
return-object p0
.end method
.method public static synthetic access$100(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/PsshAtomUtil$PsshAtom;)I
.locals 0
.line 123
iget p0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/PsshAtomUtil$PsshAtom;->version:I
return p0
.end method
.method public static synthetic access$200(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/PsshAtomUtil$PsshAtom;)[B
.locals 0
.line 123
iget-object p0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/PsshAtomUtil$PsshAtom;->schemeData:[B
return-object p0
.end method

View File

@@ -0,0 +1,454 @@
.class public final Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/PsshAtomUtil;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/PsshAtomUtil$PsshAtom;
}
.end annotation
# static fields
.field private static final TAG:Ljava/lang/String; = "PsshAtomUtil"
# direct methods
.method private constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static buildPsshAtom(Ljava/util/UUID;[B)[B
.locals 1
.param p1 # [B
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
const/4 v0, 0x0
.line 19
invoke-static {p0, v0, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/PsshAtomUtil;->buildPsshAtom(Ljava/util/UUID;[Ljava/util/UUID;[B)[B
move-result-object p0
return-object p0
.end method
.method public static buildPsshAtom(Ljava/util/UUID;[Ljava/util/UUID;[B)[B
.locals 7
.param p1 # [Ljava/util/UUID;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.param p2 # [B
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
const/4 v0, 0x0
if-eqz p1, :cond_0
const/4 v1, 0x1
goto :goto_0
:cond_0
move v1, v0
:goto_0
if-eqz p2, :cond_1
.line 27
array-length v2, p2
goto :goto_1
:cond_1
move v2, v0
:goto_1
add-int/lit8 v3, v2, 0x20
if-eqz v1, :cond_2
.line 30
array-length v4, p1
mul-int/lit8 v4, v4, 0x10
add-int/lit8 v4, v4, 0x4
add-int/2addr v3, v4
.line 32
:cond_2
invoke-static {v3}, Ljava/nio/ByteBuffer;->allocate(I)Ljava/nio/ByteBuffer;
move-result-object v4
.line 33
invoke-virtual {v4, v3}, Ljava/nio/ByteBuffer;->putInt(I)Ljava/nio/ByteBuffer;
.line 34
sget v3, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Atom;->TYPE_pssh:I
invoke-virtual {v4, v3}, Ljava/nio/ByteBuffer;->putInt(I)Ljava/nio/ByteBuffer;
if-eqz v1, :cond_3
const/high16 v3, 0x1000000
goto :goto_2
:cond_3
move v3, v0
.line 35
:goto_2
invoke-virtual {v4, v3}, Ljava/nio/ByteBuffer;->putInt(I)Ljava/nio/ByteBuffer;
.line 36
invoke-virtual {p0}, Ljava/util/UUID;->getMostSignificantBits()J
move-result-wide v5
invoke-virtual {v4, v5, v6}, Ljava/nio/ByteBuffer;->putLong(J)Ljava/nio/ByteBuffer;
.line 37
invoke-virtual {p0}, Ljava/util/UUID;->getLeastSignificantBits()J
move-result-wide v5
invoke-virtual {v4, v5, v6}, Ljava/nio/ByteBuffer;->putLong(J)Ljava/nio/ByteBuffer;
if-eqz v1, :cond_4
.line 39
array-length p0, p1
invoke-virtual {v4, p0}, Ljava/nio/ByteBuffer;->putInt(I)Ljava/nio/ByteBuffer;
.line 40
array-length p0, p1
:goto_3
if-ge v0, p0, :cond_4
aget-object v1, p1, v0
.line 41
invoke-virtual {v1}, Ljava/util/UUID;->getMostSignificantBits()J
move-result-wide v5
invoke-virtual {v4, v5, v6}, Ljava/nio/ByteBuffer;->putLong(J)Ljava/nio/ByteBuffer;
.line 42
invoke-virtual {v1}, Ljava/util/UUID;->getLeastSignificantBits()J
move-result-wide v5
invoke-virtual {v4, v5, v6}, Ljava/nio/ByteBuffer;->putLong(J)Ljava/nio/ByteBuffer;
add-int/lit8 v0, v0, 0x1
goto :goto_3
:cond_4
if-eqz v2, :cond_5
.line 46
array-length p0, p2
invoke-virtual {v4, p0}, Ljava/nio/ByteBuffer;->putInt(I)Ljava/nio/ByteBuffer;
.line 47
invoke-virtual {v4, p2}, Ljava/nio/ByteBuffer;->put([B)Ljava/nio/ByteBuffer;
.line 49
:cond_5
invoke-virtual {v4}, Ljava/nio/ByteBuffer;->array()[B
move-result-object p0
return-object p0
.end method
.method private static parsePsshAtom([B)Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/PsshAtomUtil$PsshAtom;
.locals 9
.annotation build Landroidx/annotation/Nullable;
.end annotation
.line 86
new-instance v0, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
invoke-direct {v0, p0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;-><init>([B)V
.line 87
invoke-virtual {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->limit()I
move-result p0
const/16 v1, 0x20
const/4 v2, 0x0
if-ge p0, v1, :cond_0
return-object v2
:cond_0
const/4 p0, 0x0
.line 91
invoke-virtual {v0, p0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->setPosition(I)V
.line 92
invoke-virtual {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readInt()I
move-result v1
.line 93
invoke-virtual {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->bytesLeft()I
move-result v3
add-int/lit8 v3, v3, 0x4
if-eq v1, v3, :cond_1
return-object v2
.line 97
:cond_1
invoke-virtual {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readInt()I
move-result v1
.line 98
sget v3, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Atom;->TYPE_pssh:I
if-eq v1, v3, :cond_2
return-object v2
.line 102
:cond_2
invoke-virtual {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readInt()I
move-result v1
invoke-static {v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Atom;->parseFullAtomVersion(I)I
move-result v1
const/4 v3, 0x1
if-le v1, v3, :cond_3
.line 104
new-instance p0, Ljava/lang/StringBuilder;
invoke-direct {p0}, Ljava/lang/StringBuilder;-><init>()V
const-string v0, "Unsupported pssh version: "
invoke-virtual {p0, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
const-string v0, "PsshAtomUtil"
invoke-static {v0, p0}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
return-object v2
.line 107
:cond_3
new-instance v4, Ljava/util/UUID;
invoke-virtual {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readLong()J
move-result-wide v5
invoke-virtual {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readLong()J
move-result-wide v7
invoke-direct {v4, v5, v6, v7, v8}, Ljava/util/UUID;-><init>(JJ)V
if-ne v1, v3, :cond_4
.line 109
invoke-virtual {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readUnsignedIntToInt()I
move-result v3
mul-int/lit8 v3, v3, 0x10
.line 110
invoke-virtual {v0, v3}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->skipBytes(I)V
.line 112
:cond_4
invoke-virtual {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readUnsignedIntToInt()I
move-result v3
.line 113
invoke-virtual {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->bytesLeft()I
move-result v5
if-eq v3, v5, :cond_5
return-object v2
.line 117
:cond_5
new-array v2, v3, [B
.line 118
invoke-virtual {v0, v2, p0, v3}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readBytes([BII)V
.line 119
new-instance p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/PsshAtomUtil$PsshAtom;
invoke-direct {p0, v4, v1, v2}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/PsshAtomUtil$PsshAtom;-><init>(Ljava/util/UUID;I[B)V
return-object p0
.end method
.method public static parseSchemeSpecificData([BLjava/util/UUID;)[B
.locals 3
.annotation build Landroidx/annotation/Nullable;
.end annotation
.line 72
invoke-static {p0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/PsshAtomUtil;->parsePsshAtom([B)Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/PsshAtomUtil$PsshAtom;
move-result-object p0
const/4 v0, 0x0
if-nez p0, :cond_0
return-object v0
:cond_0
if-eqz p1, :cond_1
.line 76
invoke-static {p0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/PsshAtomUtil$PsshAtom;->access$000(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/PsshAtomUtil$PsshAtom;)Ljava/util/UUID;
move-result-object v1
invoke-virtual {p1, v1}, Ljava/util/UUID;->equals(Ljava/lang/Object;)Z
move-result v1
if-nez v1, :cond_1
.line 77
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "UUID mismatch. Expected: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string p1, ", got: "
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-static {p0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/PsshAtomUtil$PsshAtom;->access$000(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/PsshAtomUtil$PsshAtom;)Ljava/util/UUID;
move-result-object p0
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string p0, "."
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
const-string p1, "PsshAtomUtil"
invoke-static {p1, p0}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
return-object v0
.line 80
:cond_1
invoke-static {p0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/PsshAtomUtil$PsshAtom;->access$200(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/PsshAtomUtil$PsshAtom;)[B
move-result-object p0
return-object p0
.end method
.method public static parseUuid([B)Ljava/util/UUID;
.locals 0
.annotation build Landroidx/annotation/Nullable;
.end annotation
.line 54
invoke-static {p0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/PsshAtomUtil;->parsePsshAtom([B)Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/PsshAtomUtil$PsshAtom;
move-result-object p0
if-nez p0, :cond_0
const/4 p0, 0x0
return-object p0
.line 58
:cond_0
invoke-static {p0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/PsshAtomUtil$PsshAtom;->access$000(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/PsshAtomUtil$PsshAtom;)Ljava/util/UUID;
move-result-object p0
return-object p0
.end method
.method public static parseVersion([B)I
.locals 0
.line 63
invoke-static {p0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/PsshAtomUtil;->parsePsshAtom([B)Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/PsshAtomUtil$PsshAtom;
move-result-object p0
if-nez p0, :cond_0
const/4 p0, -0x1
return p0
.line 67
:cond_0
invoke-static {p0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/PsshAtomUtil$PsshAtom;->access$100(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/PsshAtomUtil$PsshAtom;)I
move-result p0
return p0
.end method

View File

@@ -0,0 +1,667 @@
.class final Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Sniffer;
.super Ljava/lang/Object;
.source "SourceFile"
# static fields
.field private static final COMPATIBLE_BRANDS:[I
.field private static final SEARCH_LENGTH:I = 0x1000
# direct methods
.method static constructor <clinit>()V
.locals 3
const/16 v0, 0x18
new-array v0, v0, [I
const-string v1, "isom"
.line 17
invoke-static {v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/Util;->getIntegerCodeForString(Ljava/lang/String;)I
move-result v1
const/4 v2, 0x0
aput v1, v0, v2
const-string v1, "iso2"
.line 18
invoke-static {v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/Util;->getIntegerCodeForString(Ljava/lang/String;)I
move-result v1
const/4 v2, 0x1
aput v1, v0, v2
const-string v1, "iso3"
.line 19
invoke-static {v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/Util;->getIntegerCodeForString(Ljava/lang/String;)I
move-result v1
const/4 v2, 0x2
aput v1, v0, v2
const-string v1, "iso4"
.line 20
invoke-static {v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/Util;->getIntegerCodeForString(Ljava/lang/String;)I
move-result v1
const/4 v2, 0x3
aput v1, v0, v2
const-string v1, "iso5"
.line 21
invoke-static {v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/Util;->getIntegerCodeForString(Ljava/lang/String;)I
move-result v1
const/4 v2, 0x4
aput v1, v0, v2
const-string v1, "iso6"
.line 22
invoke-static {v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/Util;->getIntegerCodeForString(Ljava/lang/String;)I
move-result v1
const/4 v2, 0x5
aput v1, v0, v2
const-string v1, "avc1"
.line 23
invoke-static {v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/Util;->getIntegerCodeForString(Ljava/lang/String;)I
move-result v1
const/4 v2, 0x6
aput v1, v0, v2
const-string v1, "hvc1"
.line 24
invoke-static {v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/Util;->getIntegerCodeForString(Ljava/lang/String;)I
move-result v1
const/4 v2, 0x7
aput v1, v0, v2
const-string v1, "hev1"
.line 25
invoke-static {v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/Util;->getIntegerCodeForString(Ljava/lang/String;)I
move-result v1
const/16 v2, 0x8
aput v1, v0, v2
const-string v1, "mp41"
.line 26
invoke-static {v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/Util;->getIntegerCodeForString(Ljava/lang/String;)I
move-result v1
const/16 v2, 0x9
aput v1, v0, v2
const-string v1, "mp42"
.line 27
invoke-static {v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/Util;->getIntegerCodeForString(Ljava/lang/String;)I
move-result v1
const/16 v2, 0xa
aput v1, v0, v2
const-string v1, "3g2a"
.line 28
invoke-static {v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/Util;->getIntegerCodeForString(Ljava/lang/String;)I
move-result v1
const/16 v2, 0xb
aput v1, v0, v2
const-string v1, "3g2b"
.line 29
invoke-static {v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/Util;->getIntegerCodeForString(Ljava/lang/String;)I
move-result v1
const/16 v2, 0xc
aput v1, v0, v2
const-string v1, "3gr6"
.line 30
invoke-static {v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/Util;->getIntegerCodeForString(Ljava/lang/String;)I
move-result v1
const/16 v2, 0xd
aput v1, v0, v2
const-string v1, "3gs6"
.line 31
invoke-static {v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/Util;->getIntegerCodeForString(Ljava/lang/String;)I
move-result v1
const/16 v2, 0xe
aput v1, v0, v2
const-string v1, "3ge6"
.line 32
invoke-static {v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/Util;->getIntegerCodeForString(Ljava/lang/String;)I
move-result v1
const/16 v2, 0xf
aput v1, v0, v2
const-string v1, "3gg6"
.line 33
invoke-static {v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/Util;->getIntegerCodeForString(Ljava/lang/String;)I
move-result v1
const/16 v2, 0x10
aput v1, v0, v2
const-string v1, "M4V "
.line 34
invoke-static {v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/Util;->getIntegerCodeForString(Ljava/lang/String;)I
move-result v1
const/16 v2, 0x11
aput v1, v0, v2
const-string v1, "M4A "
.line 35
invoke-static {v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/Util;->getIntegerCodeForString(Ljava/lang/String;)I
move-result v1
const/16 v2, 0x12
aput v1, v0, v2
const-string v1, "f4v "
.line 36
invoke-static {v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/Util;->getIntegerCodeForString(Ljava/lang/String;)I
move-result v1
const/16 v2, 0x13
aput v1, v0, v2
const-string v1, "kddi"
.line 37
invoke-static {v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/Util;->getIntegerCodeForString(Ljava/lang/String;)I
move-result v1
const/16 v2, 0x14
aput v1, v0, v2
const-string v1, "M4VP"
.line 38
invoke-static {v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/Util;->getIntegerCodeForString(Ljava/lang/String;)I
move-result v1
const/16 v2, 0x15
aput v1, v0, v2
const-string v1, "qt "
.line 39
invoke-static {v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/Util;->getIntegerCodeForString(Ljava/lang/String;)I
move-result v1
const/16 v2, 0x16
aput v1, v0, v2
const-string v1, "MSNV"
.line 40
invoke-static {v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/Util;->getIntegerCodeForString(Ljava/lang/String;)I
move-result v1
const/16 v2, 0x17
aput v1, v0, v2
sput-object v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Sniffer;->COMPATIBLE_BRANDS:[I
return-void
.end method
.method private constructor <init>()V
.locals 0
.line 153
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method private static isCompatibleBrand(I)Z
.locals 6
ushr-int/lit8 v0, p0, 0x8
const-string v1, "3gp"
.line 142
invoke-static {v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/Util;->getIntegerCodeForString(Ljava/lang/String;)I
move-result v1
const/4 v2, 0x1
if-ne v0, v1, :cond_0
return v2
:cond_0
sget-object v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Sniffer;->COMPATIBLE_BRANDS:[I
.line 145
array-length v1, v0
const/4 v3, 0x0
move v4, v3
:goto_0
if-ge v4, v1, :cond_2
aget v5, v0, v4
if-ne v5, p0, :cond_1
return v2
:cond_1
add-int/lit8 v4, v4, 0x1
goto :goto_0
:cond_2
return v3
.end method
.method public static sniffFragmented(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;)Z
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
const/4 v0, 0x1
.line 46
invoke-static {p0, v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Sniffer;->sniffInternal(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;Z)Z
move-result p0
return p0
.end method
.method private static sniffInternal(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;Z)Z
.locals 19
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
move-object/from16 v0, p0
.line 57
invoke-interface/range {p0 .. p0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->getLength()J
move-result-wide v1
const-wide/16 v3, -0x1
cmp-long v5, v1, v3
const-wide/16 v6, 0x1000
if-eqz v5, :cond_0
cmp-long v5, v1, v6
if-lez v5, :cond_1
:cond_0
move-wide v1, v6
:cond_1
long-to-int v1, v1
.line 61
new-instance v2, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
const/16 v5, 0x40
invoke-direct {v2, v5}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;-><init>(I)V
const/4 v5, 0x0
move v6, v5
move v7, v6
:goto_0
if-ge v6, v1, :cond_8
const/16 v9, 0x8
.line 68
invoke-virtual {v2, v9}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->reset(I)V
iget-object v10, v2, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->data:[B
.line 69
invoke-interface {v0, v10, v5, v9}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->peekFully([BII)V
.line 70
invoke-virtual {v2}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readUnsignedInt()J
move-result-wide v10
.line 71
invoke-virtual {v2}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readInt()I
move-result v12
const-wide/16 v13, 0x1
cmp-long v13, v10, v13
if-nez v13, :cond_2
iget-object v10, v2, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->data:[B
.line 75
invoke-interface {v0, v10, v9, v9}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->peekFully([BII)V
const/16 v10, 0x10
.line 76
invoke-virtual {v2, v10}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->setLimit(I)V
.line 77
invoke-virtual {v2}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readUnsignedLongToLong()J
move-result-wide v13
move-wide/from16 v17, v13
move v13, v10
move-wide/from16 v10, v17
goto :goto_1
:cond_2
const-wide/16 v13, 0x0
cmp-long v13, v10, v13
if-nez v13, :cond_3
.line 80
invoke-interface/range {p0 .. p0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->getLength()J
move-result-wide v13
cmp-long v15, v13, v3
if-eqz v15, :cond_3
.line 82
invoke-interface/range {p0 .. p0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->getPosition()J
move-result-wide v10
sub-long/2addr v13, v10
int-to-long v10, v9
add-long/2addr v10, v13
:cond_3
move v13, v9
:goto_1
int-to-long v14, v13
cmp-long v16, v10, v14
if-gez v16, :cond_4
return v5
:cond_4
add-int/2addr v6, v13
.line 92
sget v13, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Atom;->TYPE_moov:I
if-ne v12, v13, :cond_5
goto :goto_0
.line 97
:cond_5
sget v13, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Atom;->TYPE_moof:I
if-eq v12, v13, :cond_6
sget v13, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Atom;->TYPE_mvex:I
if-ne v12, v13, :cond_7
:cond_6
const/4 v8, 0x1
goto :goto_5
:cond_7
int-to-long v3, v6
add-long/2addr v3, v10
sub-long/2addr v3, v14
int-to-long v8, v1
cmp-long v3, v3, v8
if-ltz v3, :cond_9
:cond_8
const/4 v8, 0x1
goto :goto_6
:cond_9
sub-long/2addr v10, v14
long-to-int v3, v10
add-int/2addr v6, v3
.line 110
sget v4, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Atom;->TYPE_ftyp:I
if-ne v12, v4, :cond_e
const/16 v4, 0x8
if-ge v3, v4, :cond_a
return v5
.line 115
:cond_a
invoke-virtual {v2, v3}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->reset(I)V
iget-object v4, v2, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->data:[B
.line 116
invoke-interface {v0, v4, v5, v3}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->peekFully([BII)V
.line 117
div-int/lit8 v3, v3, 0x4
move v4, v5
:goto_2
if-ge v4, v3, :cond_d
const/4 v8, 0x1
if-ne v4, v8, :cond_b
const/4 v9, 0x4
.line 121
invoke-virtual {v2, v9}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->skipBytes(I)V
goto :goto_3
.line 122
:cond_b
invoke-virtual {v2}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readInt()I
move-result v9
invoke-static {v9}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Sniffer;->isCompatibleBrand(I)Z
move-result v9
if-eqz v9, :cond_c
move v7, v8
goto :goto_4
:cond_c
:goto_3
add-int/lit8 v4, v4, 0x1
goto :goto_2
:cond_d
:goto_4
if-nez v7, :cond_f
return v5
:cond_e
if-eqz v3, :cond_f
.line 133
invoke-interface {v0, v3}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->advancePeekPosition(I)V
:cond_f
const-wide/16 v3, -0x1
goto/16 :goto_0
:goto_5
move v0, v8
goto :goto_7
:goto_6
move v0, v5
:goto_7
if-eqz v7, :cond_10
move/from16 v1, p1
if-ne v1, v0, :cond_10
move v5, v8
:cond_10
return v5
.end method
.method public static sniffUnfragmented(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;)Z
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
const/4 v0, 0x0
.line 52
invoke-static {p0, v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Sniffer;->sniffInternal(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;Z)Z
move-result p0
return p0
.end method

View File

@@ -0,0 +1,21 @@
.class public interface abstract annotation Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Track$Transformation;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Ljava/lang/annotation/Annotation;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Track;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x2609
name = "Transformation"
.end annotation
.annotation runtime Ljava/lang/annotation/Retention;
value = .enum Ljava/lang/annotation/RetentionPolicy;->SOURCE:Ljava/lang/annotation/RetentionPolicy;
.end annotation

View File

@@ -0,0 +1,116 @@
.class public final Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Track;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Track$Transformation;
}
.end annotation
# static fields
.field public static final TRANSFORMATION_CEA608_CDAT:I = 0x1
.field public static final TRANSFORMATION_NONE:I
# instance fields
.field public final durationUs:J
.field public final editListDurations:[J
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end field
.field public final editListMediaTimes:[J
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end field
.field public final format:Lcom/mbridge/msdk/playercommon/exoplayer2/Format;
.field public final id:I
.field public final movieTimescale:J
.field public final nalUnitLengthFieldLength:I
.field private final sampleDescriptionEncryptionBoxes:[Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackEncryptionBox;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end field
.field public final sampleTransformation:I
.field public final timescale:J
.field public final type:I
# direct methods
.method public constructor <init>(IIJJJLcom/mbridge/msdk/playercommon/exoplayer2/Format;I[Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackEncryptionBox;I[J[J)V
.locals 0
.param p11 # [Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackEncryptionBox;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.param p13 # [J
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.param p14 # [J
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.line 58
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Track;->id:I
iput p2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Track;->type:I
iput-wide p3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Track;->timescale:J
iput-wide p5, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Track;->movieTimescale:J
iput-wide p7, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Track;->durationUs:J
iput-object p9, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Track;->format:Lcom/mbridge/msdk/playercommon/exoplayer2/Format;
iput p10, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Track;->sampleTransformation:I
iput-object p11, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Track;->sampleDescriptionEncryptionBoxes:[Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackEncryptionBox;
iput p12, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Track;->nalUnitLengthFieldLength:I
iput-object p13, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Track;->editListDurations:[J
iput-object p14, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Track;->editListMediaTimes:[J
return-void
.end method
# virtual methods
.method public final getSampleDescriptionEncryptionBox(I)Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackEncryptionBox;
.locals 1
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Track;->sampleDescriptionEncryptionBoxes:[Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackEncryptionBox;
if-nez v0, :cond_0
const/4 p1, 0x0
goto :goto_0
.line 75
:cond_0
aget-object p1, v0, p1
:goto_0
return-object p1
.end method

View File

@@ -0,0 +1,227 @@
.class public final Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackEncryptionBox;
.super Ljava/lang/Object;
.source "SourceFile"
# static fields
.field private static final TAG:Ljava/lang/String; = "TrackEncryptionBox"
# instance fields
.field public final cryptoData:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput$CryptoData;
.field public final defaultInitializationVector:[B
.field public final initializationVectorSize:I
.field public final isEncrypted:Z
.field public final schemeType:Ljava/lang/String;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end field
# direct methods
.method public constructor <init>(ZLjava/lang/String;I[BII[B)V
.locals 3
.param p2 # Ljava/lang/String;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.param p7 # [B
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.line 33
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/4 v0, 0x1
const/4 v1, 0x0
if-nez p3, :cond_0
move v2, v0
goto :goto_0
:cond_0
move v2, v1
:goto_0
if-nez p7, :cond_1
goto :goto_1
:cond_1
move v0, v1
:goto_1
xor-int/2addr v0, v2
.line 34
invoke-static {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/Assertions;->checkArgument(Z)V
iput-boolean p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackEncryptionBox;->isEncrypted:Z
iput-object p2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackEncryptionBox;->schemeType:Ljava/lang/String;
iput p3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackEncryptionBox;->initializationVectorSize:I
iput-object p7, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackEncryptionBox;->defaultInitializationVector:[B
.line 39
new-instance p1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput$CryptoData;
invoke-static {p2}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackEncryptionBox;->schemeToCryptoMode(Ljava/lang/String;)I
move-result p2
invoke-direct {p1, p2, p4, p5, p6}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput$CryptoData;-><init>(I[BII)V
iput-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackEncryptionBox;->cryptoData:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput$CryptoData;
return-void
.end method
.method private static schemeToCryptoMode(Ljava/lang/String;)I
.locals 4
.param p0 # Ljava/lang/String;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
const/4 v0, 0x1
if-nez p0, :cond_0
return v0
.line 49
:cond_0
invoke-virtual {p0}, Ljava/lang/String;->hashCode()I
move-result v1
const/4 v2, 0x2
const/4 v3, -0x1
sparse-switch v1, :sswitch_data_0
goto :goto_0
:sswitch_0
const-string v1, "cens"
invoke-virtual {p0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-nez v1, :cond_1
goto :goto_0
:cond_1
const/4 v3, 0x3
goto :goto_0
:sswitch_1
const-string v1, "cenc"
invoke-virtual {p0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-nez v1, :cond_2
goto :goto_0
:cond_2
move v3, v2
goto :goto_0
:sswitch_2
const-string v1, "cbcs"
invoke-virtual {p0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-nez v1, :cond_3
goto :goto_0
:cond_3
move v3, v0
goto :goto_0
:sswitch_3
const-string v1, "cbc1"
invoke-virtual {p0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-nez v1, :cond_4
goto :goto_0
:cond_4
const/4 v3, 0x0
:goto_0
packed-switch v3, :pswitch_data_0
.line 57
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Unsupported protection scheme type \'"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p0, "\'. Assuming AES-CTR crypto mode."
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
const-string v1, "TrackEncryptionBox"
invoke-static {v1, p0}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
:pswitch_0
return v0
:pswitch_1
return v2
nop
:sswitch_data_0
.sparse-switch
0x2e7ccd -> :sswitch_3
0x2e7d0f -> :sswitch_2
0x2e8997 -> :sswitch_1
0x2e89a7 -> :sswitch_0
.end sparse-switch
:pswitch_data_0
.packed-switch 0x0
:pswitch_1
:pswitch_1
:pswitch_0
:pswitch_0
.end packed-switch
.end method

View File

@@ -0,0 +1,256 @@
.class final Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackFragment;
.super Ljava/lang/Object;
.source "SourceFile"
# instance fields
.field public atomPosition:J
.field public auxiliaryDataPosition:J
.field public dataPosition:J
.field public definesEncryptionData:Z
.field public header:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/DefaultSampleValues;
.field public nextFragmentDecodeTime:J
.field public sampleCompositionTimeOffsetTable:[I
.field public sampleCount:I
.field public sampleDecodingTimeTable:[J
.field public sampleEncryptionData:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.field public sampleEncryptionDataLength:I
.field public sampleEncryptionDataNeedsFill:Z
.field public sampleHasSubsampleEncryptionTable:[Z
.field public sampleIsSyncFrameTable:[Z
.field public sampleSizeTable:[I
.field public trackEncryptionBox:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackEncryptionBox;
.field public trunCount:I
.field public trunDataPosition:[J
.field public trunLength:[I
# direct methods
.method public constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public final fillEncryptionData(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;)V
.locals 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackFragment;->sampleEncryptionData:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 91
iget-object v0, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->data:[B
iget v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackFragment;->sampleEncryptionDataLength:I
const/4 v2, 0x0
invoke-interface {p1, v0, v2, v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->readFully([BII)V
iget-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackFragment;->sampleEncryptionData:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 92
invoke-virtual {p1, v2}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->setPosition(I)V
iput-boolean v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackFragment;->sampleEncryptionDataNeedsFill:Z
return-void
.end method
.method public final fillEncryptionData(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;)V
.locals 3
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackFragment;->sampleEncryptionData:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 98
iget-object v0, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->data:[B
iget v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackFragment;->sampleEncryptionDataLength:I
const/4 v2, 0x0
invoke-virtual {p1, v0, v2, v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readBytes([BII)V
iget-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackFragment;->sampleEncryptionData:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 99
invoke-virtual {p1, v2}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->setPosition(I)V
iput-boolean v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackFragment;->sampleEncryptionDataNeedsFill:Z
return-void
.end method
.method public final getSamplePresentationTime(I)J
.locals 5
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackFragment;->sampleDecodingTimeTable:[J
.line 104
aget-wide v1, v0, p1
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackFragment;->sampleCompositionTimeOffsetTable:[I
aget p1, v0, p1
int-to-long v3, p1
add-long/2addr v1, v3
return-wide v1
.end method
.method public final initEncryptionData(I)V
.locals 1
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackFragment;->sampleEncryptionData:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
if-eqz v0, :cond_0
.line 81
invoke-virtual {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->limit()I
move-result v0
if-ge v0, p1, :cond_1
.line 82
:cond_0
new-instance v0, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
invoke-direct {v0, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;-><init>(I)V
iput-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackFragment;->sampleEncryptionData:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
:cond_1
iput p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackFragment;->sampleEncryptionDataLength:I
const/4 p1, 0x1
iput-boolean p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackFragment;->definesEncryptionData:Z
iput-boolean p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackFragment;->sampleEncryptionDataNeedsFill:Z
return-void
.end method
.method public final initTables(II)V
.locals 1
iput p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackFragment;->trunCount:I
iput p2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackFragment;->sampleCount:I
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackFragment;->trunLength:[I
if-eqz v0, :cond_0
.line 63
array-length v0, v0
if-ge v0, p1, :cond_1
.line 64
:cond_0
new-array v0, p1, [J
iput-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackFragment;->trunDataPosition:[J
.line 65
new-array p1, p1, [I
iput-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackFragment;->trunLength:[I
:cond_1
iget-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackFragment;->sampleSizeTable:[I
if-eqz p1, :cond_2
.line 67
array-length p1, p1
if-ge p1, p2, :cond_3
:cond_2
mul-int/lit8 p2, p2, 0x7d
.line 70
div-int/lit8 p2, p2, 0x64
.line 71
new-array p1, p2, [I
iput-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackFragment;->sampleSizeTable:[I
.line 72
new-array p1, p2, [I
iput-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackFragment;->sampleCompositionTimeOffsetTable:[I
.line 73
new-array p1, p2, [J
iput-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackFragment;->sampleDecodingTimeTable:[J
.line 74
new-array p1, p2, [Z
iput-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackFragment;->sampleIsSyncFrameTable:[Z
.line 75
new-array p1, p2, [Z
iput-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackFragment;->sampleHasSubsampleEncryptionTable:[Z
:cond_3
return-void
.end method
.method public final reset()V
.locals 3
const/4 v0, 0x0
iput v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackFragment;->trunCount:I
const-wide/16 v1, 0x0
iput-wide v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackFragment;->nextFragmentDecodeTime:J
iput-boolean v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackFragment;->definesEncryptionData:Z
iput-boolean v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackFragment;->sampleEncryptionDataNeedsFill:Z
const/4 v0, 0x0
iput-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackFragment;->trackEncryptionBox:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackEncryptionBox;
return-void
.end method

View File

@@ -0,0 +1,189 @@
.class final Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackSampleTable;
.super Ljava/lang/Object;
.source "SourceFile"
# instance fields
.field public final durationUs:J
.field public final flags:[I
.field public final maximumSize:I
.field public final offsets:[J
.field public final sampleCount:I
.field public final sizes:[I
.field public final timestampsUs:[J
.field public final track:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Track;
# direct methods
.method public constructor <init>(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Track;[J[II[J[IJ)V
.locals 4
.line 35
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 36
array-length v0, p3
array-length v1, p5
const/4 v2, 0x1
const/4 v3, 0x0
if-ne v0, v1, :cond_0
move v0, v2
goto :goto_0
:cond_0
move v0, v3
:goto_0
invoke-static {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/Assertions;->checkArgument(Z)V
.line 37
array-length v0, p2
array-length v1, p5
if-ne v0, v1, :cond_1
move v0, v2
goto :goto_1
:cond_1
move v0, v3
:goto_1
invoke-static {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/Assertions;->checkArgument(Z)V
.line 38
array-length v0, p6
array-length v1, p5
if-ne v0, v1, :cond_2
goto :goto_2
:cond_2
move v2, v3
:goto_2
invoke-static {v2}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/Assertions;->checkArgument(Z)V
iput-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackSampleTable;->track:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/Track;
iput-object p2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackSampleTable;->offsets:[J
iput-object p3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackSampleTable;->sizes:[I
iput p4, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackSampleTable;->maximumSize:I
iput-object p5, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackSampleTable;->timestampsUs:[J
iput-object p6, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackSampleTable;->flags:[I
iput-wide p7, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackSampleTable;->durationUs:J
.line 47
array-length p1, p2
iput p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackSampleTable;->sampleCount:I
return-void
.end method
# virtual methods
.method public final getIndexOfEarlierOrEqualSynchronizationSample(J)I
.locals 3
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackSampleTable;->timestampsUs:[J
const/4 v1, 0x0
const/4 v2, 0x1
.line 54
invoke-static {v0, p1, p2, v2, v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/Util;->binarySearchFloor([JJZZ)I
move-result p1
:goto_0
if-ltz p1, :cond_1
iget-object p2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackSampleTable;->flags:[I
.line 56
aget p2, p2, p1
and-int/2addr p2, v2
if-eqz p2, :cond_0
return p1
:cond_0
add-int/lit8 p1, p1, -0x1
goto :goto_0
:cond_1
const/4 p1, -0x1
return p1
.end method
.method public final getIndexOfLaterOrEqualSynchronizationSample(J)I
.locals 3
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackSampleTable;->timestampsUs:[J
const/4 v1, 0x0
const/4 v2, 0x1
.line 65
invoke-static {v0, p1, p2, v2, v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/Util;->binarySearchCeil([JJZZ)I
move-result p1
:goto_0
iget-object p2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackSampleTable;->timestampsUs:[J
.line 66
array-length p2, p2
if-ge p1, p2, :cond_1
iget-object p2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackSampleTable;->flags:[I
.line 67
aget p2, p2, p1
and-int/2addr p2, v2
if-eqz p2, :cond_0
return p1
:cond_0
add-int/lit8 p1, p1, 0x1
goto :goto_0
:cond_1
const/4 p1, -0x1
return p1
.end method

View File

@@ -0,0 +1,14 @@
.class synthetic Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker$1;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1009
name = null
.end annotation

View File

@@ -0,0 +1,139 @@
.class Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker$OggSeekMap;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = "OggSeekMap"
.end annotation
# instance fields
.field final synthetic this$0:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;
# direct methods
.method private constructor <init>(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;)V
.locals 0
iput-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker$OggSeekMap;->this$0:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;
.line 179
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public synthetic constructor <init>(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker$1;)V
.locals 0
.line 179
invoke-direct {p0, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker$OggSeekMap;-><init>(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;)V
return-void
.end method
# virtual methods
.method public getDurationUs()J
.locals 3
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker$OggSeekMap;->this$0:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;
.line 198
invoke-static {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->access$200(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;)Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;
move-result-object v0
iget-object v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker$OggSeekMap;->this$0:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;
invoke-static {v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->access$400(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;)J
move-result-wide v1
invoke-virtual {v0, v1, v2}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->convertGranuleToTime(J)J
move-result-wide v0
return-wide v0
.end method
.method public getSeekPoints(J)Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$SeekPoints;
.locals 8
const-wide/16 v0, 0x0
cmp-long v2, p1, v0
if-nez v2, :cond_0
.line 189
new-instance p1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$SeekPoints;
new-instance p2, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;
iget-object v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker$OggSeekMap;->this$0:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;
invoke-static {v2}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->access$100(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;)J
move-result-wide v2
invoke-direct {p2, v0, v1, v2, v3}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;-><init>(JJ)V
invoke-direct {p1, p2}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$SeekPoints;-><init>(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;)V
return-object p1
:cond_0
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker$OggSeekMap;->this$0:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;
.line 191
invoke-static {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->access$200(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;)Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;
move-result-object v0
invoke-virtual {v0, p1, p2}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->convertTimeToGranule(J)J
move-result-wide v4
iget-object v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker$OggSeekMap;->this$0:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;
.line 192
invoke-static {v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->access$100(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;)J
move-result-wide v2
const-wide/16 v6, 0x7530
invoke-static/range {v1 .. v7}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->access$300(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;JJJ)J
move-result-wide v0
.line 193
new-instance v2, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$SeekPoints;
new-instance v3, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;
invoke-direct {v3, p1, p2, v0, v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;-><init>(JJ)V
invoke-direct {v2, v3}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$SeekPoints;-><init>(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;)V
return-object v2
.end method
.method public isSeekable()Z
.locals 1
const/4 v0, 0x1
return v0
.end method

View File

@@ -0,0 +1,945 @@
.class final Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggSeeker;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker$OggSeekMap;
}
.end annotation
# static fields
.field private static final DEFAULT_OFFSET:I = 0x7530
.field public static final MATCH_BYTE_RANGE:I = 0x186a0
.field public static final MATCH_RANGE:I = 0x11940
.field private static final STATE_IDLE:I = 0x3
.field private static final STATE_READ_LAST_PAGE:I = 0x1
.field private static final STATE_SEEK:I = 0x2
.field private static final STATE_SEEK_TO_END:I
# instance fields
.field private end:J
.field private endGranule:J
.field private final endPosition:J
.field private final pageHeader:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;
.field private positionBeforeSeekToEnd:J
.field private start:J
.field private startGranule:J
.field private final startPosition:J
.field private state:I
.field private final streamReader:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;
.field private targetGranule:J
.field private totalGranules:J
# direct methods
.method public constructor <init>(JJLcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;IJ)V
.locals 2
.line 43
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 26
new-instance v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;
invoke-direct {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;-><init>()V
iput-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->pageHeader:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;
const-wide/16 v0, 0x0
cmp-long v0, p1, v0
const/4 v1, 0x0
if-ltz v0, :cond_0
cmp-long v0, p3, p1
if-lez v0, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
move v0, v1
.line 44
:goto_0
invoke-static {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/Assertions;->checkArgument(Z)V
iput-object p5, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->streamReader:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;
iput-wide p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->startPosition:J
iput-wide p3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->endPosition:J
int-to-long p5, p6
sub-long/2addr p3, p1
cmp-long p1, p5, p3
if-nez p1, :cond_1
iput-wide p7, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->totalGranules:J
const/4 p1, 0x3
iput p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->state:I
goto :goto_1
:cond_1
iput v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->state:I
:goto_1
return-void
.end method
.method public static synthetic access$100(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;)J
.locals 2
.line 13
iget-wide v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->startPosition:J
return-wide v0
.end method
.method public static synthetic access$200(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;)Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;
.locals 0
.line 13
iget-object p0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->streamReader:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;
return-object p0
.end method
.method public static synthetic access$300(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;JJJ)J
.locals 0
.line 13
invoke-direct/range {p0 .. p6}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->getEstimatedPosition(JJJ)J
move-result-wide p0
return-wide p0
.end method
.method public static synthetic access$400(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;)J
.locals 2
.line 13
iget-wide v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->totalGranules:J
return-wide v0
.end method
.method private getEstimatedPosition(JJJ)J
.locals 6
iget-wide v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->endPosition:J
iget-wide v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->startPosition:J
sub-long v4, v0, v2
mul-long/2addr p3, v4
iget-wide v4, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->totalGranules:J
.line 169
div-long/2addr p3, v4
sub-long/2addr p3, p5
add-long/2addr p1, p3
cmp-long p3, p1, v2
if-gez p3, :cond_0
goto :goto_0
:cond_0
move-wide v2, p1
:goto_0
cmp-long p1, v2, v0
if-ltz p1, :cond_1
const-wide/16 p1, 0x1
sub-long v2, v0, p1
:cond_1
return-wide v2
.end method
# virtual methods
.method public final bridge synthetic createSeekMap()Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap;
.locals 1
.line 13
invoke-virtual {p0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->createSeekMap()Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker$OggSeekMap;
move-result-object v0
return-object v0
.end method
.method public final createSeekMap()Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker$OggSeekMap;
.locals 4
iget-wide v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->totalGranules:J
const-wide/16 v2, 0x0
cmp-long v0, v0, v2
const/4 v1, 0x0
if-eqz v0, :cond_0
.line 104
new-instance v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker$OggSeekMap;
invoke-direct {v0, p0, v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker$OggSeekMap;-><init>(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker$1;)V
move-object v1, v0
:cond_0
return-object v1
.end method
.method public final getNextSeekPosition(JLcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;)J
.locals 12
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
iget-wide v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->start:J
iget-wide v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->end:J
cmp-long v0, v0, v2
const-wide/16 v1, 0x2
if-nez v0, :cond_0
iget-wide p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->startGranule:J
add-long/2addr p1, v1
neg-long p1, p1
return-wide p1
.line 123
:cond_0
invoke-interface {p3}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->getPosition()J
move-result-wide v3
iget-wide v5, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->end:J
.line 124
invoke-virtual {p0, p3, v5, v6}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->skipToNextPage(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;J)Z
move-result v0
if-nez v0, :cond_2
iget-wide p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->start:J
cmp-long p3, p1, v3
if-eqz p3, :cond_1
return-wide p1
.line 126
:cond_1
new-instance p1, Ljava/io/IOException;
const-string p2, "No ogg page can be found."
invoke-direct {p1, p2}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw p1
:cond_2
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->pageHeader:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;
const/4 v5, 0x0
.line 131
invoke-virtual {v0, p3, v5}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->populate(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;Z)Z
.line 132
invoke-interface {p3}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->resetPeekPosition()V
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->pageHeader:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;
.line 134
iget-wide v5, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->granulePosition:J
sub-long/2addr p1, v5
.line 135
iget v7, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->headerSize:I
iget v0, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->bodySize:I
add-int/2addr v7, v0
const-wide/16 v8, 0x0
cmp-long v0, p1, v8
if-ltz v0, :cond_4
const-wide/32 v8, 0x11940
cmp-long v8, p1, v8
if-lez v8, :cond_3
goto :goto_0
.line 164
:cond_3
invoke-interface {p3, v7}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->skipFully(I)V
iget-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->pageHeader:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;
.line 165
iget-wide p1, p1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->granulePosition:J
add-long/2addr p1, v1
neg-long p1, p1
return-wide p1
:cond_4
:goto_0
const-wide/32 v8, 0x186a0
if-gez v0, :cond_5
iput-wide v3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->end:J
iput-wide v5, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->endGranule:J
goto :goto_1
.line 141
:cond_5
invoke-interface {p3}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->getPosition()J
move-result-wide v3
int-to-long v5, v7
add-long/2addr v3, v5
iput-wide v3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->start:J
iget-object v10, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->pageHeader:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;
.line 142
iget-wide v10, v10, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->granulePosition:J
iput-wide v10, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->startGranule:J
iget-wide v10, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->end:J
sub-long/2addr v10, v3
add-long/2addr v10, v5
cmp-long v3, v10, v8
if-gez v3, :cond_6
.line 144
invoke-interface {p3, v7}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->skipFully(I)V
iget-wide p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->startGranule:J
add-long/2addr p1, v1
neg-long p1, p1
return-wide p1
:cond_6
:goto_1
iget-wide v3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->end:J
iget-wide v5, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->start:J
sub-long/2addr v3, v5
cmp-long v3, v3, v8
if-gez v3, :cond_7
iput-wide v5, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->end:J
return-wide v5
:cond_7
int-to-long v3, v7
const-wide/16 v5, 0x1
if-gtz v0, :cond_8
goto :goto_2
:cond_8
move-wide v1, v5
:goto_2
mul-long/2addr v3, v1
.line 155
invoke-interface {p3}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->getPosition()J
move-result-wide v0
sub-long/2addr v0, v3
iget-wide v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->end:J
iget-wide v7, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->start:J
sub-long/2addr v2, v7
mul-long/2addr p1, v2
iget-wide v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->endGranule:J
iget-wide v9, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->startGranule:J
sub-long/2addr v2, v9
div-long/2addr p1, v2
add-long/2addr v0, p1
.line 158
invoke-static {v0, v1, v7, v8}, Ljava/lang/Math;->max(JJ)J
move-result-wide p1
iget-wide v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->end:J
sub-long/2addr v0, v5
.line 159
invoke-static {p1, p2, v0, v1}, Ljava/lang/Math;->min(JJ)J
move-result-wide p1
return-wide p1
.end method
.method public final read(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;)J
.locals 14
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
iget v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->state:I
const/4 v1, 0x1
const/4 v2, 0x3
if-eqz v0, :cond_4
if-eq v0, v1, :cond_5
const/4 v1, 0x2
if-eq v0, v1, :cond_1
if-ne v0, v2, :cond_0
const-wide/16 v0, -0x1
return-wide v0
.line 89
:cond_0
new-instance p1, Ljava/lang/IllegalStateException;
invoke-direct {p1}, Ljava/lang/IllegalStateException;-><init>()V
throw p1
:cond_1
iget-wide v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->targetGranule:J
const-wide/16 v3, 0x0
cmp-long v5, v0, v3
const-wide/16 v6, 0x2
if-nez v5, :cond_2
goto :goto_0
.line 79
:cond_2
invoke-virtual {p0, v0, v1, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->getNextSeekPosition(JLcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;)J
move-result-wide v0
cmp-long v3, v0, v3
if-ltz v3, :cond_3
return-wide v0
:cond_3
iget-wide v10, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->targetGranule:J
add-long/2addr v0, v6
neg-long v12, v0
move-object v8, p0
move-object v9, p1
.line 83
invoke-virtual/range {v8 .. v13}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->skipToPageOfGranule(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;JJ)J
move-result-wide v3
:goto_0
iput v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->state:I
add-long/2addr v3, v6
neg-long v0, v3
return-wide v0
.line 62
:cond_4
invoke-interface {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->getPosition()J
move-result-wide v3
iput-wide v3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->positionBeforeSeekToEnd:J
iput v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->state:I
iget-wide v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->endPosition:J
const-wide/32 v5, 0xff1b
sub-long/2addr v0, v5
cmp-long v3, v0, v3
if-lez v3, :cond_5
return-wide v0
.line 71
:cond_5
invoke-virtual {p0, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->readGranuleOfLastPage(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;)J
move-result-wide v0
iput-wide v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->totalGranules:J
iput v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->state:I
iget-wide v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->positionBeforeSeekToEnd:J
return-wide v0
.end method
.method public final readGranuleOfLastPage(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;)J
.locals 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
.line 246
invoke-virtual {p0, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->skipToNextPage(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;)V
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->pageHeader:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;
.line 247
invoke-virtual {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->reset()V
:goto_0
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->pageHeader:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;
.line 248
iget v0, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->type:I
const/4 v1, 0x4
and-int/2addr v0, v1
if-eq v0, v1, :cond_0
invoke-interface {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->getPosition()J
move-result-wide v0
iget-wide v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->endPosition:J
cmp-long v0, v0, v2
if-gez v0, :cond_0
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->pageHeader:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;
const/4 v1, 0x0
.line 249
invoke-virtual {v0, p1, v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->populate(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;Z)Z
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->pageHeader:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;
.line 250
iget v1, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->headerSize:I
iget v0, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->bodySize:I
add-int/2addr v1, v0
invoke-interface {p1, v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->skipFully(I)V
goto :goto_0
:cond_0
iget-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->pageHeader:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;
.line 252
iget-wide v0, p1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->granulePosition:J
return-wide v0
.end method
.method public final resetSeeking()V
.locals 2
iget-wide v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->startPosition:J
iput-wide v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->start:J
iget-wide v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->endPosition:J
iput-wide v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->end:J
const-wide/16 v0, 0x0
iput-wide v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->startGranule:J
iget-wide v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->totalGranules:J
iput-wide v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->endGranule:J
return-void
.end method
.method public final skipToNextPage(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;)V
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
iget-wide v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->endPosition:J
.line 206
invoke-virtual {p0, p1, v0, v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->skipToNextPage(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;J)Z
move-result p1
if-eqz p1, :cond_0
return-void
.line 208
:cond_0
new-instance p1, Ljava/io/EOFException;
invoke-direct {p1}, Ljava/io/EOFException;-><init>()V
throw p1
.end method
.method public final skipToNextPage(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;J)Z
.locals 6
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
const-wide/16 v0, 0x3
add-long/2addr p2, v0
iget-wide v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->endPosition:J
.line 216
invoke-static {p2, p3, v0, v1}, Ljava/lang/Math;->min(JJ)J
move-result-wide p2
const/16 v0, 0x800
new-array v1, v0, [B
.line 220
:goto_0
invoke-interface {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->getPosition()J
move-result-wide v2
int-to-long v4, v0
add-long/2addr v2, v4
cmp-long v2, v2, p2
const/4 v3, 0x0
if-lez v2, :cond_0
.line 222
invoke-interface {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->getPosition()J
move-result-wide v4
sub-long v4, p2, v4
long-to-int v0, v4
const/4 v2, 0x4
if-ge v0, v2, :cond_0
return v3
.line 228
:cond_0
invoke-interface {p1, v1, v3, v0, v3}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->peekFully([BIIZ)Z
:goto_1
add-int/lit8 v2, v0, -0x3
if-ge v3, v2, :cond_2
.line 230
aget-byte v2, v1, v3
const/16 v4, 0x4f
if-ne v2, v4, :cond_1
add-int/lit8 v2, v3, 0x1
aget-byte v2, v1, v2
const/16 v4, 0x67
if-ne v2, v4, :cond_1
add-int/lit8 v2, v3, 0x2
aget-byte v2, v1, v2
if-ne v2, v4, :cond_1
add-int/lit8 v2, v3, 0x3
aget-byte v2, v1, v2
const/16 v4, 0x53
if-ne v2, v4, :cond_1
.line 233
invoke-interface {p1, v3}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->skipFully(I)V
const/4 p1, 0x1
return p1
:cond_1
add-int/lit8 v3, v3, 0x1
goto :goto_1
.line 238
:cond_2
invoke-interface {p1, v2}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->skipFully(I)V
goto :goto_0
.end method
.method public final skipToPageOfGranule(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;JJ)J
.locals 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->pageHeader:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;
const/4 v1, 0x0
.line 259
invoke-virtual {v0, p1, v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->populate(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;Z)Z
:goto_0
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->pageHeader:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;
.line 260
iget-wide v2, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->granulePosition:J
cmp-long v2, v2, p2
if-gez v2, :cond_0
.line 261
iget p4, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->headerSize:I
iget p5, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->bodySize:I
add-int/2addr p4, p5
invoke-interface {p1, p4}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->skipFully(I)V
iget-object p4, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->pageHeader:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;
.line 263
iget-wide v2, p4, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->granulePosition:J
.line 265
invoke-virtual {p4, p1, v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->populate(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;Z)Z
move-wide p4, v2
goto :goto_0
.line 267
:cond_0
invoke-interface {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->resetPeekPosition()V
return-wide p4
.end method
.method public final startSeek(J)J
.locals 4
iget v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->state:I
const/4 v1, 0x3
const/4 v2, 0x2
if-eq v0, v1, :cond_1
if-ne v0, v2, :cond_0
goto :goto_0
:cond_0
const/4 v0, 0x0
goto :goto_1
:cond_1
:goto_0
const/4 v0, 0x1
.line 95
:goto_1
invoke-static {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/Assertions;->checkArgument(Z)V
const-wide/16 v0, 0x0
cmp-long v3, p1, v0
if-nez v3, :cond_2
goto :goto_2
:cond_2
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->streamReader:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;
.line 96
invoke-virtual {v0, p1, p2}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->convertTimeToGranule(J)J
move-result-wide v0
:goto_2
iput-wide v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->targetGranule:J
iput v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->state:I
.line 98
invoke-virtual {p0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->resetSeeking()V
iget-wide p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;->targetGranule:J
return-wide p1
.end method

View File

@@ -0,0 +1,322 @@
.class Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/FlacReader$FlacOggSeeker;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap;
.implements Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggSeeker;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/FlacReader;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = "FlacOggSeeker"
.end annotation
# static fields
.field private static final METADATA_LENGTH_OFFSET:I = 0x1
.field private static final SEEK_POINT_SIZE:I = 0x12
# instance fields
.field private firstFrameOffset:J
.field private pendingSeekGranule:J
.field private seekPointGranules:[J
.field private seekPointOffsets:[J
.field final synthetic this$0:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/FlacReader;
# direct methods
.method public constructor <init>(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/FlacReader;)V
.locals 2
iput-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/FlacReader$FlacOggSeeker;->this$0:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/FlacReader;
.line 121
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const-wide/16 v0, -0x1
iput-wide v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/FlacReader$FlacOggSeeker;->firstFrameOffset:J
iput-wide v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/FlacReader$FlacOggSeeker;->pendingSeekGranule:J
return-void
.end method
# virtual methods
.method public createSeekMap()Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap;
.locals 0
return-object p0
.end method
.method public getDurationUs()J
.locals 2
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/FlacReader$FlacOggSeeker;->this$0:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/FlacReader;
.line 191
invoke-static {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/FlacReader;->access$000(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/FlacReader;)Lcom/mbridge/msdk/playercommon/exoplayer2/util/FlacStreamInfo;
move-result-object v0
invoke-virtual {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/FlacStreamInfo;->durationUs()J
move-result-wide v0
return-wide v0
.end method
.method public getSeekPoints(J)Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$SeekPoints;
.locals 9
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/FlacReader$FlacOggSeeker;->this$0:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/FlacReader;
.line 174
invoke-virtual {v0, p1, p2}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->convertTimeToGranule(J)J
move-result-wide v0
iget-object v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/FlacReader$FlacOggSeeker;->seekPointGranules:[J
const/4 v3, 0x1
.line 175
invoke-static {v2, v0, v1, v3, v3}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/Util;->binarySearchFloor([JJZZ)I
move-result v0
iget-object v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/FlacReader$FlacOggSeeker;->this$0:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/FlacReader;
iget-object v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/FlacReader$FlacOggSeeker;->seekPointGranules:[J
.line 176
aget-wide v4, v2, v0
invoke-virtual {v1, v4, v5}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->convertGranuleToTime(J)J
move-result-wide v1
iget-wide v4, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/FlacReader$FlacOggSeeker;->firstFrameOffset:J
iget-object v6, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/FlacReader$FlacOggSeeker;->seekPointOffsets:[J
.line 177
aget-wide v7, v6, v0
add-long/2addr v4, v7
.line 178
new-instance v6, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;
invoke-direct {v6, v1, v2, v4, v5}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;-><init>(JJ)V
cmp-long p1, v1, p1
if-gez p1, :cond_1
iget-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/FlacReader$FlacOggSeeker;->seekPointGranules:[J
.line 179
array-length p2, p1
sub-int/2addr p2, v3
if-ne v0, p2, :cond_0
goto :goto_0
:cond_0
iget-object p2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/FlacReader$FlacOggSeeker;->this$0:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/FlacReader;
add-int/2addr v0, v3
.line 182
aget-wide v1, p1, v0
invoke-virtual {p2, v1, v2}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->convertGranuleToTime(J)J
move-result-wide p1
iget-wide v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/FlacReader$FlacOggSeeker;->firstFrameOffset:J
iget-object v3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/FlacReader$FlacOggSeeker;->seekPointOffsets:[J
.line 183
aget-wide v4, v3, v0
add-long/2addr v1, v4
.line 184
new-instance v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;
invoke-direct {v0, p1, p2, v1, v2}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;-><init>(JJ)V
.line 185
new-instance p1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$SeekPoints;
invoke-direct {p1, v6, v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$SeekPoints;-><init>(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;)V
return-object p1
.line 180
:cond_1
:goto_0
new-instance p1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$SeekPoints;
invoke-direct {p1, v6}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$SeekPoints;-><init>(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekPoint;)V
return-object p1
.end method
.method public isSeekable()Z
.locals 1
const/4 v0, 0x1
return v0
.end method
.method public parseSeekTable(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;)V
.locals 5
const/4 v0, 0x1
.line 132
invoke-virtual {p1, v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->skipBytes(I)V
.line 133
invoke-virtual {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readUnsignedInt24()I
move-result v0
.line 134
div-int/lit8 v0, v0, 0x12
.line 135
new-array v1, v0, [J
iput-object v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/FlacReader$FlacOggSeeker;->seekPointGranules:[J
.line 136
new-array v1, v0, [J
iput-object v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/FlacReader$FlacOggSeeker;->seekPointOffsets:[J
const/4 v1, 0x0
:goto_0
if-ge v1, v0, :cond_0
iget-object v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/FlacReader$FlacOggSeeker;->seekPointGranules:[J
.line 138
invoke-virtual {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readLong()J
move-result-wide v3
aput-wide v3, v2, v1
iget-object v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/FlacReader$FlacOggSeeker;->seekPointOffsets:[J
.line 139
invoke-virtual {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readLong()J
move-result-wide v3
aput-wide v3, v2, v1
const/4 v2, 0x2
.line 140
invoke-virtual {p1, v2}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->skipBytes(I)V
add-int/lit8 v1, v1, 0x1
goto :goto_0
:cond_0
return-void
.end method
.method public read(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;)J
.locals 6
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
iget-wide v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/FlacReader$FlacOggSeeker;->pendingSeekGranule:J
const-wide/16 v2, 0x0
cmp-long p1, v0, v2
const-wide/16 v2, -0x1
if-ltz p1, :cond_0
const-wide/16 v4, 0x2
add-long/2addr v0, v4
neg-long v0, v0
iput-wide v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/FlacReader$FlacOggSeeker;->pendingSeekGranule:J
return-wide v0
:cond_0
return-wide v2
.end method
.method public setFirstFrameOffset(J)V
.locals 0
iput-wide p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/FlacReader$FlacOggSeeker;->firstFrameOffset:J
return-void
.end method
.method public startSeek(J)J
.locals 2
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/FlacReader$FlacOggSeeker;->this$0:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/FlacReader;
.line 156
invoke-virtual {v0, p1, p2}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->convertTimeToGranule(J)J
move-result-wide p1
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/FlacReader$FlacOggSeeker;->seekPointGranules:[J
const/4 v1, 0x1
.line 157
invoke-static {v0, p1, p2, v1, v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/Util;->binarySearchFloor([JJZZ)I
move-result v0
iget-object v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/FlacReader$FlacOggSeeker;->seekPointGranules:[J
.line 158
aget-wide v0, v1, v0
iput-wide v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/FlacReader$FlacOggSeeker;->pendingSeekGranule:J
return-wide p1
.end method

View File

@@ -0,0 +1,387 @@
.class final Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/FlacReader;
.super Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/FlacReader$FlacOggSeeker;
}
.end annotation
# static fields
.field private static final AUDIO_PACKET_TYPE:B = -0x1t
.field private static final FRAME_HEADER_SAMPLE_NUMBER_OFFSET:I = 0x4
.field private static final SEEKTABLE_PACKET_TYPE:B = 0x3t
# instance fields
.field private flacOggSeeker:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/FlacReader$FlacOggSeeker;
.field private streamInfo:Lcom/mbridge/msdk/playercommon/exoplayer2/util/FlacStreamInfo;
# direct methods
.method public constructor <init>()V
.locals 0
.line 18
invoke-direct {p0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;-><init>()V
return-void
.end method
.method public static synthetic access$000(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/FlacReader;)Lcom/mbridge/msdk/playercommon/exoplayer2/util/FlacStreamInfo;
.locals 0
.line 18
iget-object p0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/FlacReader;->streamInfo:Lcom/mbridge/msdk/playercommon/exoplayer2/util/FlacStreamInfo;
return-object p0
.end method
.method private getFlacFrameBlockSize(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;)I
.locals 3
.line 80
iget-object v0, p1, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->data:[B
const/4 v1, 0x2
aget-byte v0, v0, v1
and-int/lit16 v0, v0, 0xff
const/4 v2, 0x4
shr-int/2addr v0, v2
packed-switch v0, :pswitch_data_0
const/4 p1, -0x1
return p1
:pswitch_0
add-int/lit8 v0, v0, -0x8
const/16 p1, 0x100
:goto_0
shl-int/2addr p1, v0
return p1
.line 92
:pswitch_1
invoke-virtual {p1, v2}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->skipBytes(I)V
.line 93
invoke-virtual {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readUtf8EncodedLong()J
const/4 v1, 0x6
if-ne v0, v1, :cond_0
.line 94
invoke-virtual {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readUnsignedByte()I
move-result v0
goto :goto_1
:cond_0
invoke-virtual {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readUnsignedShort()I
move-result v0
:goto_1
const/4 v1, 0x0
.line 95
invoke-virtual {p1, v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->setPosition(I)V
add-int/lit8 v0, v0, 0x1
return v0
:pswitch_2
const/16 p1, 0x240
sub-int/2addr v0, v1
goto :goto_0
:pswitch_3
const/16 p1, 0xc0
return p1
:pswitch_data_0
.packed-switch 0x1
:pswitch_3
:pswitch_2
:pswitch_2
:pswitch_2
:pswitch_2
:pswitch_1
:pswitch_1
:pswitch_0
:pswitch_0
:pswitch_0
:pswitch_0
:pswitch_0
:pswitch_0
:pswitch_0
:pswitch_0
.end packed-switch
.end method
.method private static isAudioPacket([B)Z
.locals 2
const/4 v0, 0x0
.line 43
aget-byte p0, p0, v0
const/4 v1, -0x1
if-ne p0, v1, :cond_0
const/4 v0, 0x1
:cond_0
return v0
.end method
.method public static verifyBitstreamType(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;)Z
.locals 4
.line 29
invoke-virtual {p0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->bytesLeft()I
move-result v0
const/4 v1, 0x5
if-lt v0, v1, :cond_0
invoke-virtual {p0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readUnsignedByte()I
move-result v0
const/16 v1, 0x7f
if-ne v0, v1, :cond_0
.line 30
invoke-virtual {p0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readUnsignedInt()J
move-result-wide v0
const-wide/32 v2, 0x464c4143
cmp-long p0, v0, v2
if-nez p0, :cond_0
const/4 p0, 0x1
goto :goto_0
:cond_0
const/4 p0, 0x0
:goto_0
return p0
.end method
# virtual methods
.method public final preparePayload(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;)J
.locals 2
.line 48
iget-object v0, p1, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->data:[B
invoke-static {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/FlacReader;->isAudioPacket([B)Z
move-result v0
if-nez v0, :cond_0
const-wide/16 v0, -0x1
return-wide v0
.line 51
:cond_0
invoke-direct {p0, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/FlacReader;->getFlacFrameBlockSize(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;)I
move-result p1
int-to-long v0, p1
return-wide v0
.end method
.method public final readHeaders(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;JLcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader$SetupData;)Z
.locals 11
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
.line 57
iget-object v0, p1, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->data:[B
iget-object v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/FlacReader;->streamInfo:Lcom/mbridge/msdk/playercommon/exoplayer2/util/FlacStreamInfo;
if-nez v1, :cond_0
.line 59
new-instance p2, Lcom/mbridge/msdk/playercommon/exoplayer2/util/FlacStreamInfo;
const/16 p3, 0x11
invoke-direct {p2, v0, p3}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/FlacStreamInfo;-><init>([BI)V
iput-object p2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/FlacReader;->streamInfo:Lcom/mbridge/msdk/playercommon/exoplayer2/util/FlacStreamInfo;
const/16 p2, 0x9
.line 60
invoke-virtual {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->limit()I
move-result p1
invoke-static {v0, p2, p1}, Ljava/util/Arrays;->copyOfRange([BII)[B
move-result-object p1
const/4 p2, 0x4
const/16 p3, -0x80
.line 61
aput-byte p3, p1, p2
.line 62
invoke-static {p1}, Ljava/util/Collections;->singletonList(Ljava/lang/Object;)Ljava/util/List;
move-result-object v7
const/4 v0, 0x0
const-string v1, "audio/flac"
const/4 v2, 0x0
const/4 v3, -0x1
iget-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/FlacReader;->streamInfo:Lcom/mbridge/msdk/playercommon/exoplayer2/util/FlacStreamInfo;
.line 64
invoke-virtual {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/FlacStreamInfo;->bitRate()I
move-result v4
iget-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/FlacReader;->streamInfo:Lcom/mbridge/msdk/playercommon/exoplayer2/util/FlacStreamInfo;
iget v5, p1, Lcom/mbridge/msdk/playercommon/exoplayer2/util/FlacStreamInfo;->channels:I
iget v6, p1, Lcom/mbridge/msdk/playercommon/exoplayer2/util/FlacStreamInfo;->sampleRate:I
const/4 v8, 0x0
const/4 v9, 0x0
const/4 v10, 0x0
.line 63
invoke-static/range {v0 .. v10}, Lcom/mbridge/msdk/playercommon/exoplayer2/Format;->createAudioSampleFormat(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IIIILjava/util/List;Lcom/mbridge/msdk/playercommon/exoplayer2/drm/DrmInitData;ILjava/lang/String;)Lcom/mbridge/msdk/playercommon/exoplayer2/Format;
move-result-object p1
iput-object p1, p4, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader$SetupData;->format:Lcom/mbridge/msdk/playercommon/exoplayer2/Format;
goto :goto_0
:cond_0
const/4 v1, 0x0
.line 66
aget-byte v2, v0, v1
and-int/lit8 v2, v2, 0x7f
const/4 v3, 0x3
if-ne v2, v3, :cond_1
.line 67
new-instance p2, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/FlacReader$FlacOggSeeker;
invoke-direct {p2, p0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/FlacReader$FlacOggSeeker;-><init>(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/FlacReader;)V
iput-object p2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/FlacReader;->flacOggSeeker:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/FlacReader$FlacOggSeeker;
.line 68
invoke-virtual {p2, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/FlacReader$FlacOggSeeker;->parseSeekTable(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;)V
goto :goto_0
.line 69
:cond_1
invoke-static {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/FlacReader;->isAudioPacket([B)Z
move-result p1
if-eqz p1, :cond_3
iget-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/FlacReader;->flacOggSeeker:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/FlacReader$FlacOggSeeker;
if-eqz p1, :cond_2
.line 71
invoke-virtual {p1, p2, p3}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/FlacReader$FlacOggSeeker;->setFirstFrameOffset(J)V
iget-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/FlacReader;->flacOggSeeker:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/FlacReader$FlacOggSeeker;
.line 72
iput-object p1, p4, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader$SetupData;->oggSeeker:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggSeeker;
:cond_2
return v1
:cond_3
:goto_0
const/4 p1, 0x1
return p1
.end method
.method public final reset(Z)V
.locals 0
.line 35
invoke-super {p0, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->reset(Z)V
if-eqz p1, :cond_0
const/4 p1, 0x0
iput-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/FlacReader;->streamInfo:Lcom/mbridge/msdk/playercommon/exoplayer2/util/FlacStreamInfo;
iput-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/FlacReader;->flacOggSeeker:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/FlacReader$FlacOggSeeker;
:cond_0
return-void
.end method

View File

@@ -0,0 +1,48 @@
.class Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggExtractor$1;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorsFactory;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggExtractor;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public createExtractors()[Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/Extractor;
.locals 3
const/4 v0, 0x1
new-array v0, v0, [Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/Extractor;
.line 23
new-instance v1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggExtractor;
invoke-direct {v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggExtractor;-><init>()V
const/4 v2, 0x0
aput-object v1, v0, v2
return-object v0
.end method

View File

@@ -0,0 +1,309 @@
.class public Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggExtractor;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/Extractor;
# static fields
.field public static final FACTORY:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorsFactory;
.field private static final MAX_VERIFICATION_BYTES:I = 0x8
# instance fields
.field private output:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorOutput;
.field private streamReader:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;
.field private streamReaderInitialized:Z
# direct methods
.method static constructor <clinit>()V
.locals 1
.line 19
new-instance v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggExtractor$1;
invoke-direct {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggExtractor$1;-><init>()V
sput-object v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggExtractor;->FACTORY:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorsFactory;
return-void
.end method
.method public constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method private static resetPosition(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;)Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.locals 1
const/4 v0, 0x0
.line 101
invoke-virtual {p0, v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->setPosition(I)V
return-object p0
.end method
.method private sniffInternal(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;)Z
.locals 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
.line 79
new-instance v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;
invoke-direct {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;-><init>()V
const/4 v1, 0x1
.line 80
invoke-virtual {v0, p1, v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->populate(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;Z)Z
move-result v2
const/4 v3, 0x0
if-eqz v2, :cond_3
iget v2, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->type:I
const/4 v4, 0x2
and-int/2addr v2, v4
if-eq v2, v4, :cond_0
goto :goto_1
:cond_0
iget v0, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->bodySize:I
const/16 v2, 0x8
.line 84
invoke-static {v0, v2}, Ljava/lang/Math;->min(II)I
move-result v0
.line 85
new-instance v2, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
invoke-direct {v2, v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;-><init>(I)V
iget-object v4, v2, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->data:[B
.line 86
invoke-interface {p1, v4, v3, v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->peekFully([BII)V
.line 88
invoke-static {v2}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggExtractor;->resetPosition(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;)Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
move-result-object p1
invoke-static {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/FlacReader;->verifyBitstreamType(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;)Z
move-result p1
if-eqz p1, :cond_1
.line 89
new-instance p1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/FlacReader;
invoke-direct {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/FlacReader;-><init>()V
iput-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggExtractor;->streamReader:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;
goto :goto_0
.line 90
:cond_1
invoke-static {v2}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggExtractor;->resetPosition(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;)Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
move-result-object p1
invoke-static {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/VorbisReader;->verifyBitstreamType(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;)Z
move-result p1
if-eqz p1, :cond_2
.line 91
new-instance p1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/VorbisReader;
invoke-direct {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/VorbisReader;-><init>()V
iput-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggExtractor;->streamReader:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;
goto :goto_0
.line 92
:cond_2
invoke-static {v2}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggExtractor;->resetPosition(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;)Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
move-result-object p1
invoke-static {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OpusReader;->verifyBitstreamType(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;)Z
move-result p1
if-eqz p1, :cond_3
.line 93
new-instance p1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OpusReader;
invoke-direct {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OpusReader;-><init>()V
iput-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggExtractor;->streamReader:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;
:goto_0
return v1
:cond_3
:goto_1
return v3
.end method
# virtual methods
.method public init(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorOutput;)V
.locals 0
iput-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggExtractor;->output:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorOutput;
return-void
.end method
.method public read(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/PositionHolder;)I
.locals 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggExtractor;->streamReader:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;
if-nez v0, :cond_1
.line 64
invoke-direct {p0, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggExtractor;->sniffInternal(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;)Z
move-result v0
if-eqz v0, :cond_0
.line 67
invoke-interface {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->resetPeekPosition()V
goto :goto_0
.line 65
:cond_0
new-instance p1, Lcom/mbridge/msdk/playercommon/exoplayer2/ParserException;
const-string p2, "Failed to determine bitstream type"
invoke-direct {p1, p2}, Lcom/mbridge/msdk/playercommon/exoplayer2/ParserException;-><init>(Ljava/lang/String;)V
throw p1
:cond_1
:goto_0
iget-boolean v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggExtractor;->streamReaderInitialized:Z
if-nez v0, :cond_2
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggExtractor;->output:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorOutput;
const/4 v1, 0x0
const/4 v2, 0x1
.line 70
invoke-interface {v0, v1, v2}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorOutput;->track(II)Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;
move-result-object v0
iget-object v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggExtractor;->output:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorOutput;
.line 71
invoke-interface {v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorOutput;->endTracks()V
iget-object v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggExtractor;->streamReader:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;
iget-object v3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggExtractor;->output:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorOutput;
.line 72
invoke-virtual {v1, v3, v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->init(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorOutput;Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;)V
iput-boolean v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggExtractor;->streamReaderInitialized:Z
:cond_2
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggExtractor;->streamReader:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;
.line 75
invoke-virtual {v0, p1, p2}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->read(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/PositionHolder;)I
move-result p1
return p1
.end method
.method public release()V
.locals 0
return-void
.end method
.method public seek(JJ)V
.locals 1
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggExtractor;->streamReader:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;
if-eqz v0, :cond_0
.line 51
invoke-virtual {v0, p1, p2, p3, p4}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->seek(JJ)V
:cond_0
return-void
.end method
.method public sniff(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;)Z
.locals 0
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
.line 37
:try_start_0
invoke-direct {p0, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggExtractor;->sniffInternal(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;)Z
move-result p1
:try_end_0
.catch Lcom/mbridge/msdk/playercommon/exoplayer2/ParserException; {:try_start_0 .. :try_end_0} :catch_0
return p1
:catch_0
const/4 p1, 0x0
return p1
.end method

View File

@@ -0,0 +1,382 @@
.class final Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPacket;
.super Ljava/lang/Object;
.source "SourceFile"
# instance fields
.field private currentSegmentIndex:I
.field private final packetArray:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.field private final pageHeader:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;
.field private populated:Z
.field private segmentCount:I
# direct methods
.method public constructor <init>()V
.locals 3
.line 12
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 14
new-instance v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;
invoke-direct {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;-><init>()V
iput-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPacket;->pageHeader:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;
.line 15
new-instance v0, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
const v1, 0xfe01
new-array v1, v1, [B
const/4 v2, 0x0
invoke-direct {v0, v1, v2}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;-><init>([BI)V
iput-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPacket;->packetArray:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
const/4 v0, -0x1
iput v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPacket;->currentSegmentIndex:I
return-void
.end method
.method private calculatePacketSize(I)I
.locals 5
const/4 v0, 0x0
iput v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPacket;->segmentCount:I
:cond_0
iget v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPacket;->segmentCount:I
add-int v2, p1, v1
iget-object v3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPacket;->pageHeader:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;
.line 98
iget v4, v3, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->pageSegmentCount:I
if-ge v2, v4, :cond_1
.line 99
iget-object v2, v3, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->laces:[I
add-int/lit8 v3, v1, 0x1
iput v3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPacket;->segmentCount:I
add-int/2addr v1, p1
aget v1, v2, v1
add-int/2addr v0, v1
const/16 v2, 0xff
if-eq v1, v2, :cond_0
:cond_1
return v0
.end method
# virtual methods
.method public final getPageHeader()Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;
.locals 1
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPacket;->pageHeader:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;
return-object v0
.end method
.method public final getPayload()Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.locals 1
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPacket;->packetArray:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
return-object v0
.end method
.method public final populate(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;)Z
.locals 7
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
const/4 v0, 0x0
const/4 v1, 0x1
if-eqz p1, :cond_0
move v2, v1
goto :goto_0
:cond_0
move v2, v0
.line 32
:goto_0
invoke-static {v2}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/Assertions;->checkState(Z)V
iget-boolean v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPacket;->populated:Z
if-eqz v2, :cond_1
iput-boolean v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPacket;->populated:Z
iget-object v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPacket;->packetArray:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 36
invoke-virtual {v2}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->reset()V
:cond_1
:goto_1
iget-boolean v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPacket;->populated:Z
if-nez v2, :cond_9
iget v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPacket;->currentSegmentIndex:I
if-gez v2, :cond_4
iget-object v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPacket;->pageHeader:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;
.line 42
invoke-virtual {v2, p1, v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->populate(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;Z)Z
move-result v2
if-nez v2, :cond_2
return v0
:cond_2
iget-object v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPacket;->pageHeader:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;
.line 46
iget v3, v2, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->headerSize:I
.line 47
iget v2, v2, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->type:I
and-int/2addr v2, v1
if-ne v2, v1, :cond_3
iget-object v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPacket;->packetArray:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
invoke-virtual {v2}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->limit()I
move-result v2
if-nez v2, :cond_3
.line 50
invoke-direct {p0, v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPacket;->calculatePacketSize(I)I
move-result v2
add-int/2addr v3, v2
iget v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPacket;->segmentCount:I
goto :goto_2
:cond_3
move v2, v0
.line 53
:goto_2
invoke-interface {p1, v3}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->skipFully(I)V
iput v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPacket;->currentSegmentIndex:I
:cond_4
iget v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPacket;->currentSegmentIndex:I
.line 57
invoke-direct {p0, v2}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPacket;->calculatePacketSize(I)I
move-result v2
iget v3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPacket;->currentSegmentIndex:I
iget v4, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPacket;->segmentCount:I
add-int/2addr v3, v4
if-lez v2, :cond_7
iget-object v4, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPacket;->packetArray:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 60
invoke-virtual {v4}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->capacity()I
move-result v4
iget-object v5, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPacket;->packetArray:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
invoke-virtual {v5}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->limit()I
move-result v5
add-int/2addr v5, v2
if-ge v4, v5, :cond_5
iget-object v4, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPacket;->packetArray:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 61
iget-object v5, v4, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->data:[B
invoke-virtual {v4}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->limit()I
move-result v6
add-int/2addr v6, v2
invoke-static {v5, v6}, Ljava/util/Arrays;->copyOf([BI)[B
move-result-object v5
iput-object v5, v4, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->data:[B
:cond_5
iget-object v4, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPacket;->packetArray:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 63
iget-object v5, v4, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->data:[B
invoke-virtual {v4}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->limit()I
move-result v4
invoke-interface {p1, v5, v4, v2}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->readFully([BII)V
iget-object v4, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPacket;->packetArray:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 64
invoke-virtual {v4}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->limit()I
move-result v5
add-int/2addr v5, v2
invoke-virtual {v4, v5}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->setLimit(I)V
iget-object v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPacket;->pageHeader:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;
.line 65
iget-object v2, v2, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->laces:[I
add-int/lit8 v4, v3, -0x1
aget v2, v2, v4
const/16 v4, 0xff
if-eq v2, v4, :cond_6
move v2, v1
goto :goto_3
:cond_6
move v2, v0
:goto_3
iput-boolean v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPacket;->populated:Z
:cond_7
iget-object v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPacket;->pageHeader:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;
.line 68
iget v2, v2, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->pageSegmentCount:I
if-ne v3, v2, :cond_8
const/4 v3, -0x1
:cond_8
iput v3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPacket;->currentSegmentIndex:I
goto/16 :goto_1
:cond_9
return v1
.end method
.method public final reset()V
.locals 1
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPacket;->pageHeader:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;
.line 24
invoke-virtual {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->reset()V
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPacket;->packetArray:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 25
invoke-virtual {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->reset()V
const/4 v0, -0x1
iput v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPacket;->currentSegmentIndex:I
const/4 v0, 0x0
iput-boolean v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPacket;->populated:Z
return-void
.end method
.method public final trimPayload()V
.locals 4
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPacket;->packetArray:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 87
iget-object v1, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->data:[B
array-length v2, v1
const v3, 0xfe01
if-ne v2, v3, :cond_0
return-void
.line 91
:cond_0
invoke-virtual {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->limit()I
move-result v2
.line 90
invoke-static {v3, v2}, Ljava/lang/Math;->max(II)I
move-result v2
invoke-static {v1, v2}, Ljava/util/Arrays;->copyOf([BI)[B
move-result-object v1
iput-object v1, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->data:[B
return-void
.end method

View File

@@ -0,0 +1,348 @@
.class final Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;
.super Ljava/lang/Object;
.source "SourceFile"
# static fields
.field public static final EMPTY_PAGE_HEADER_SIZE:I = 0x1b
.field public static final MAX_PAGE_PAYLOAD:I = 0xfe01
.field public static final MAX_PAGE_SIZE:I = 0xff1b
.field public static final MAX_SEGMENT_COUNT:I = 0xff
.field private static final TYPE_OGGS:I
# instance fields
.field public bodySize:I
.field public granulePosition:J
.field public headerSize:I
.field public final laces:[I
.field public pageChecksum:J
.field public pageSegmentCount:I
.field public pageSequenceNumber:J
.field public revision:I
.field private final scratch:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.field public streamSerialNumber:J
.field public type:I
# direct methods
.method static constructor <clinit>()V
.locals 1
const-string v0, "OggS"
.line 21
invoke-static {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/Util;->getIntegerCodeForString(Ljava/lang/String;)I
move-result v0
sput v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->TYPE_OGGS:I
return-void
.end method
.method public constructor <init>()V
.locals 2
.line 13
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/16 v0, 0xff
new-array v1, v0, [I
iput-object v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->laces:[I
.line 35
new-instance v1, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
invoke-direct {v1, v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;-><init>(I)V
iput-object v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->scratch:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
return-void
.end method
# virtual methods
.method public final populate(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;Z)Z
.locals 8
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->scratch:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 53
invoke-virtual {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->reset()V
.line 54
invoke-virtual {p0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->reset()V
.line 55
invoke-interface {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->getLength()J
move-result-wide v0
const-wide/16 v2, -0x1
cmp-long v0, v0, v2
const/4 v1, 0x0
if-eqz v0, :cond_0
.line 56
invoke-interface {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->getLength()J
move-result-wide v2
invoke-interface {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->getPeekPosition()J
move-result-wide v4
sub-long/2addr v2, v4
const-wide/16 v4, 0x1b
cmp-long v0, v2, v4
if-ltz v0, :cond_1
:cond_0
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->scratch:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 57
iget-object v0, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->data:[B
const/16 v2, 0x1b
const/4 v3, 0x1
invoke-interface {p1, v0, v1, v2, v3}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->peekFully([BIIZ)Z
move-result v0
if-nez v0, :cond_3
:cond_1
if-eqz p2, :cond_2
return v1
.line 61
:cond_2
new-instance p1, Ljava/io/EOFException;
invoke-direct {p1}, Ljava/io/EOFException;-><init>()V
throw p1
:cond_3
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->scratch:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 64
invoke-virtual {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readUnsignedInt()J
move-result-wide v4
sget v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->TYPE_OGGS:I
int-to-long v6, v0
cmp-long v0, v4, v6
if-eqz v0, :cond_5
if-eqz p2, :cond_4
return v1
.line 68
:cond_4
new-instance p1, Lcom/mbridge/msdk/playercommon/exoplayer2/ParserException;
const-string p2, "expected OggS capture pattern at begin of page"
invoke-direct {p1, p2}, Lcom/mbridge/msdk/playercommon/exoplayer2/ParserException;-><init>(Ljava/lang/String;)V
throw p1
:cond_5
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->scratch:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 72
invoke-virtual {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readUnsignedByte()I
move-result v0
iput v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->revision:I
if-eqz v0, :cond_7
if-eqz p2, :cond_6
return v1
.line 77
:cond_6
new-instance p1, Lcom/mbridge/msdk/playercommon/exoplayer2/ParserException;
const-string p2, "unsupported bit stream revision"
invoke-direct {p1, p2}, Lcom/mbridge/msdk/playercommon/exoplayer2/ParserException;-><init>(Ljava/lang/String;)V
throw p1
:cond_7
iget-object p2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->scratch:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 80
invoke-virtual {p2}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readUnsignedByte()I
move-result p2
iput p2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->type:I
iget-object p2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->scratch:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 82
invoke-virtual {p2}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readLittleEndianLong()J
move-result-wide v4
iput-wide v4, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->granulePosition:J
iget-object p2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->scratch:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 83
invoke-virtual {p2}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readLittleEndianUnsignedInt()J
move-result-wide v4
iput-wide v4, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->streamSerialNumber:J
iget-object p2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->scratch:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 84
invoke-virtual {p2}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readLittleEndianUnsignedInt()J
move-result-wide v4
iput-wide v4, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->pageSequenceNumber:J
iget-object p2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->scratch:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 85
invoke-virtual {p2}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readLittleEndianUnsignedInt()J
move-result-wide v4
iput-wide v4, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->pageChecksum:J
iget-object p2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->scratch:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 86
invoke-virtual {p2}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readUnsignedByte()I
move-result p2
iput p2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->pageSegmentCount:I
add-int/2addr p2, v2
iput p2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->headerSize:I
iget-object p2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->scratch:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 90
invoke-virtual {p2}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->reset()V
iget-object p2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->scratch:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 91
iget-object p2, p2, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->data:[B
iget v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->pageSegmentCount:I
invoke-interface {p1, p2, v1, v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->peekFully([BII)V
:goto_0
iget p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->pageSegmentCount:I
if-ge v1, p1, :cond_8
iget-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->laces:[I
iget-object p2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->scratch:Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
.line 93
invoke-virtual {p2}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readUnsignedByte()I
move-result p2
aput p2, p1, v1
iget p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->bodySize:I
iget-object p2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->laces:[I
.line 94
aget p2, p2, v1
add-int/2addr p1, p2
iput p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->bodySize:I
add-int/lit8 v1, v1, 0x1
goto :goto_0
:cond_8
return v3
.end method
.method public final reset()V
.locals 3
const/4 v0, 0x0
iput v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->revision:I
iput v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->type:I
const-wide/16 v1, 0x0
iput-wide v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->granulePosition:J
iput-wide v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->streamSerialNumber:J
iput-wide v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->pageSequenceNumber:J
iput-wide v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->pageChecksum:J
iput v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->pageSegmentCount:I
iput v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->headerSize:I
iput v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->bodySize:I
return-void
.end method

View File

@@ -0,0 +1,20 @@
.class interface abstract Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggSeeker;
.super Ljava/lang/Object;
.source "SourceFile"
# virtual methods
.method public abstract createSeekMap()Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap;
.end method
.method public abstract read(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;)J
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
.end method
.method public abstract startSeek(J)J
.end method

View File

@@ -0,0 +1,389 @@
.class final Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OpusReader;
.super Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;
.source "SourceFile"
# static fields
.field private static final DEFAULT_SEEK_PRE_ROLL_SAMPLES:I = 0xf00
.field private static final OPUS_CODE:I
.field private static final OPUS_SIGNATURE:[B
.field private static final SAMPLE_RATE:I = 0xbb80
# instance fields
.field private headerRead:Z
# direct methods
.method static constructor <clinit>()V
.locals 1
const-string v0, "Opus"
.line 24
invoke-static {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/Util;->getIntegerCodeForString(Ljava/lang/String;)I
move-result v0
sput v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OpusReader;->OPUS_CODE:I
const/16 v0, 0x8
new-array v0, v0, [B
fill-array-data v0, :array_0
sput-object v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OpusReader;->OPUS_SIGNATURE:[B
return-void
:array_0
.array-data 1
0x4ft
0x70t
0x75t
0x73t
0x48t
0x65t
0x61t
0x64t
.end array-data
.end method
.method public constructor <init>()V
.locals 0
.line 17
invoke-direct {p0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;-><init>()V
return-void
.end method
.method private getPacketDurationUs([B)J
.locals 6
const/4 v0, 0x0
.line 84
aget-byte v0, p1, v0
and-int/lit16 v1, v0, 0xff
const/4 v2, 0x3
and-int/2addr v0, v2
const/4 v3, 0x1
if-eqz v0, :cond_0
const/4 v4, 0x2
if-eq v0, v3, :cond_1
if-eq v0, v4, :cond_1
.line 95
aget-byte p1, p1, v3
and-int/lit8 v4, p1, 0x3f
goto :goto_0
:cond_0
move v4, v3
:cond_1
:goto_0
shr-int/lit8 p1, v1, 0x3
and-int/lit8 v0, p1, 0x3
const/16 v1, 0x10
if-lt p1, v1, :cond_2
const/16 p1, 0x9c4
shl-int/2addr p1, v0
goto :goto_1
:cond_2
const/16 v1, 0xc
const/16 v5, 0x2710
if-lt p1, v1, :cond_3
and-int/2addr p1, v3
shl-int p1, v5, p1
goto :goto_1
:cond_3
if-ne v0, v2, :cond_4
const p1, 0xea60
goto :goto_1
:cond_4
shl-int p1, v5, v0
:goto_1
int-to-long v0, v4
int-to-long v2, p1
mul-long/2addr v0, v2
return-wide v0
.end method
.method private putNativeOrderLong(Ljava/util/List;I)V
.locals 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"[B>;I)V"
}
.end annotation
int-to-long v0, p2
const-wide/32 v2, 0x3b9aca00
mul-long/2addr v0, v2
const-wide/32 v2, 0xbb80
.line 77
div-long/2addr v0, v2
const/16 p2, 0x8
.line 78
invoke-static {p2}, Ljava/nio/ByteBuffer;->allocate(I)Ljava/nio/ByteBuffer;
move-result-object p2
invoke-static {}, Ljava/nio/ByteOrder;->nativeOrder()Ljava/nio/ByteOrder;
move-result-object v2
invoke-virtual {p2, v2}, Ljava/nio/ByteBuffer;->order(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
move-result-object p2
invoke-virtual {p2, v0, v1}, Ljava/nio/ByteBuffer;->putLong(J)Ljava/nio/ByteBuffer;
move-result-object p2
invoke-virtual {p2}, Ljava/nio/ByteBuffer;->array()[B
move-result-object p2
.line 79
invoke-interface {p1, p2}, Ljava/util/List;->add(Ljava/lang/Object;)Z
return-void
.end method
.method public static verifyBitstreamType(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;)Z
.locals 4
.line 30
invoke-virtual {p0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->bytesLeft()I
move-result v0
sget-object v1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OpusReader;->OPUS_SIGNATURE:[B
array-length v2, v1
const/4 v3, 0x0
if-ge v0, v2, :cond_0
return v3
.line 33
:cond_0
array-length v0, v1
new-array v0, v0, [B
.line 34
array-length v2, v1
invoke-virtual {p0, v0, v3, v2}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readBytes([BII)V
.line 35
invoke-static {v0, v1}, Ljava/util/Arrays;->equals([B[B)Z
move-result p0
return p0
.end method
# virtual methods
.method public final preparePayload(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;)J
.locals 2
.line 48
iget-object p1, p1, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->data:[B
invoke-direct {p0, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OpusReader;->getPacketDurationUs([B)J
move-result-wide v0
invoke-virtual {p0, v0, v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->convertTimeToGranule(J)J
move-result-wide v0
return-wide v0
.end method
.method public final readHeaders(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;JLcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader$SetupData;)Z
.locals 11
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
iget-boolean p2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OpusReader;->headerRead:Z
const/4 p3, 0x1
if-nez p2, :cond_0
.line 55
iget-object p2, p1, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->data:[B
invoke-virtual {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->limit()I
move-result p1
invoke-static {p2, p1}, Ljava/util/Arrays;->copyOf([BI)[B
move-result-object p1
const/16 p2, 0x9
.line 56
aget-byte p2, p1, p2
and-int/lit16 v5, p2, 0xff
const/16 p2, 0xb
.line 57
aget-byte p2, p1, p2
and-int/lit16 p2, p2, 0xff
shl-int/lit8 p2, p2, 0x8
const/16 v0, 0xa
aget-byte v0, p1, v0
and-int/lit16 v0, v0, 0xff
or-int/2addr p2, v0
.line 59
new-instance v7, Ljava/util/ArrayList;
const/4 v0, 0x3
invoke-direct {v7, v0}, Ljava/util/ArrayList;-><init>(I)V
.line 60
invoke-interface {v7, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 61
invoke-direct {p0, v7, p2}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OpusReader;->putNativeOrderLong(Ljava/util/List;I)V
const/16 p1, 0xf00
.line 62
invoke-direct {p0, v7, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OpusReader;->putNativeOrderLong(Ljava/util/List;I)V
const/4 v0, 0x0
const-string v1, "audio/opus"
const/4 v2, 0x0
const/4 v3, -0x1
const/4 v4, -0x1
const v6, 0xbb80
const/4 v8, 0x0
const/4 v9, 0x0
const/4 v10, 0x0
.line 64
invoke-static/range {v0 .. v10}, Lcom/mbridge/msdk/playercommon/exoplayer2/Format;->createAudioSampleFormat(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IIIILjava/util/List;Lcom/mbridge/msdk/playercommon/exoplayer2/drm/DrmInitData;ILjava/lang/String;)Lcom/mbridge/msdk/playercommon/exoplayer2/Format;
move-result-object p1
iput-object p1, p4, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader$SetupData;->format:Lcom/mbridge/msdk/playercommon/exoplayer2/Format;
iput-boolean p3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OpusReader;->headerRead:Z
return p3
.line 69
:cond_0
invoke-virtual {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->readInt()I
move-result p2
sget p4, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OpusReader;->OPUS_CODE:I
const/4 v0, 0x0
if-ne p2, p4, :cond_1
goto :goto_0
:cond_1
move p3, v0
.line 70
:goto_0
invoke-virtual {p1, v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->setPosition(I)V
return p3
.end method
.method public final reset(Z)V
.locals 0
.line 40
invoke-super {p0, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->reset(Z)V
if-eqz p1, :cond_0
const/4 p1, 0x0
iput-boolean p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OpusReader;->headerRead:Z
:cond_0
return-void
.end method

View File

@@ -0,0 +1,14 @@
.class synthetic Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader$1;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1009
name = null
.end annotation

View File

@@ -0,0 +1,30 @@
.class Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader$SetupData;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "SetupData"
.end annotation
# instance fields
.field format:Lcom/mbridge/msdk/playercommon/exoplayer2/Format;
.field oggSeeker:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggSeeker;
# direct methods
.method public constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method

View File

@@ -0,0 +1,73 @@
.class final Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader$UnseekableOggSeeker;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggSeeker;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "UnseekableOggSeeker"
.end annotation
# direct methods
.method private constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public synthetic constructor <init>(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader$1;)V
.locals 0
.line 192
invoke-direct {p0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader$UnseekableOggSeeker;-><init>()V
return-void
.end method
# virtual methods
.method public final createSeekMap()Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap;
.locals 3
.line 206
new-instance v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$Unseekable;
const-wide v1, -0x7fffffffffffffffL # -4.9E-324
invoke-direct {v0, v1, v2}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap$Unseekable;-><init>(J)V
return-object v0
.end method
.method public final read(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;)J
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
const-wide/16 v0, -0x1
return-wide v0
.end method
.method public final startSeek(J)J
.locals 0
const-wide/16 p1, 0x0
return-wide p1
.end method

View File

@@ -0,0 +1,627 @@
.class abstract Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader$UnseekableOggSeeker;,
Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader$SetupData;
}
.end annotation
# static fields
.field private static final STATE_END_OF_INPUT:I = 0x3
.field private static final STATE_READ_HEADERS:I = 0x0
.field private static final STATE_READ_PAYLOAD:I = 0x2
.field private static final STATE_SKIP_HEADERS:I = 0x1
# instance fields
.field private currentGranule:J
.field private extractorOutput:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorOutput;
.field private formatSet:Z
.field private lengthOfReadPacket:J
.field private final oggPacket:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPacket;
.field private oggSeeker:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggSeeker;
.field private payloadStartPosition:J
.field private sampleRate:I
.field private seekMapSet:Z
.field private setupData:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader$SetupData;
.field private state:I
.field private targetGranule:J
.field private trackOutput:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;
# direct methods
.method public constructor <init>()V
.locals 1
.line 43
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 44
new-instance v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPacket;
invoke-direct {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPacket;-><init>()V
iput-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->oggPacket:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPacket;
return-void
.end method
.method private readHeaders(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;)I
.locals 12
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
:goto_0
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->oggPacket:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPacket;
.line 100
invoke-virtual {v0, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPacket;->populate(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;)Z
move-result v0
if-nez v0, :cond_0
const/4 p1, 0x3
iput p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->state:I
const/4 p1, -0x1
return p1
.line 104
:cond_0
invoke-interface {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->getPosition()J
move-result-wide v0
iget-wide v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->payloadStartPosition:J
sub-long/2addr v0, v2
iput-wide v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->lengthOfReadPacket:J
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->oggPacket:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPacket;
.line 106
invoke-virtual {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPacket;->getPayload()Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
move-result-object v0
iget-wide v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->payloadStartPosition:J
iget-object v3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->setupData:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader$SetupData;
invoke-virtual {p0, v0, v1, v2, v3}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->readHeaders(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;JLcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader$SetupData;)Z
move-result v0
if-eqz v0, :cond_1
.line 108
invoke-interface {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->getPosition()J
move-result-wide v1
iput-wide v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->payloadStartPosition:J
:cond_1
if-eqz v0, :cond_2
goto :goto_0
:cond_2
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->setupData:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader$SetupData;
.line 112
iget-object v0, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader$SetupData;->format:Lcom/mbridge/msdk/playercommon/exoplayer2/Format;
iget v1, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/Format;->sampleRate:I
iput v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->sampleRate:I
iget-boolean v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->formatSet:Z
if-nez v1, :cond_3
iget-object v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->trackOutput:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;
.line 114
invoke-interface {v1, v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;->format(Lcom/mbridge/msdk/playercommon/exoplayer2/Format;)V
const/4 v0, 0x1
iput-boolean v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->formatSet:Z
:cond_3
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->setupData:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader$SetupData;
.line 118
iget-object v0, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader$SetupData;->oggSeeker:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggSeeker;
const/4 v1, 0x0
if-eqz v0, :cond_4
iput-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->oggSeeker:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggSeeker;
goto :goto_1
.line 120
:cond_4
invoke-interface {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->getLength()J
move-result-wide v2
const-wide/16 v4, -0x1
cmp-long v0, v2, v4
if-nez v0, :cond_5
.line 121
new-instance p1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader$UnseekableOggSeeker;
invoke-direct {p1, v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader$UnseekableOggSeeker;-><init>(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader$1;)V
iput-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->oggSeeker:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggSeeker;
goto :goto_1
:cond_5
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->oggPacket:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPacket;
.line 123
invoke-virtual {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPacket;->getPageHeader()Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;
move-result-object v0
.line 124
new-instance v11, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;
iget-wide v3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->payloadStartPosition:J
invoke-interface {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->getLength()J
move-result-wide v5
iget p1, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->headerSize:I
iget v2, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->bodySize:I
add-int v8, p1, v2
iget-wide v9, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPageHeader;->granulePosition:J
move-object v2, v11
move-object v7, p0
invoke-direct/range {v2 .. v10}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/DefaultOggSeeker;-><init>(JJLcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;IJ)V
iput-object v11, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->oggSeeker:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggSeeker;
:goto_1
iput-object v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->setupData:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader$SetupData;
const/4 p1, 0x2
iput p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->state:I
iget-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->oggPacket:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPacket;
.line 132
invoke-virtual {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPacket;->trimPayload()V
const/4 p1, 0x0
return p1
.end method
.method private readPayload(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/PositionHolder;)I
.locals 17
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
move-object/from16 v0, p0
move-object/from16 v1, p1
iget-object v2, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->oggSeeker:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggSeeker;
.line 138
invoke-interface {v2, v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggSeeker;->read(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;)J
move-result-wide v2
const-wide/16 v4, 0x0
cmp-long v6, v2, v4
const/4 v7, 0x1
if-ltz v6, :cond_0
move-object/from16 v6, p2
.line 140
iput-wide v2, v6, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/PositionHolder;->position:J
return v7
:cond_0
const-wide/16 v8, -0x1
cmp-long v6, v2, v8
if-gez v6, :cond_1
const-wide/16 v10, 0x2
add-long/2addr v2, v10
neg-long v2, v2
.line 143
invoke-virtual {v0, v2, v3}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->onSeekEnd(J)V
:cond_1
iget-boolean v2, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->seekMapSet:Z
if-nez v2, :cond_2
iget-object v2, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->oggSeeker:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggSeeker;
.line 146
invoke-interface {v2}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggSeeker;->createSeekMap()Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap;
move-result-object v2
iget-object v3, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->extractorOutput:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorOutput;
.line 147
invoke-interface {v3, v2}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorOutput;->seekMap(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/SeekMap;)V
iput-boolean v7, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->seekMapSet:Z
:cond_2
iget-wide v2, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->lengthOfReadPacket:J
cmp-long v2, v2, v4
if-gtz v2, :cond_4
iget-object v2, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->oggPacket:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPacket;
.line 151
invoke-virtual {v2, v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPacket;->populate(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;)Z
move-result v1
if-eqz v1, :cond_3
goto :goto_0
:cond_3
const/4 v1, 0x3
iput v1, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->state:I
const/4 v1, -0x1
return v1
:cond_4
:goto_0
iput-wide v4, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->lengthOfReadPacket:J
iget-object v1, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->oggPacket:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPacket;
.line 153
invoke-virtual {v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPacket;->getPayload()Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;
move-result-object v1
.line 154
invoke-virtual {v0, v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->preparePayload(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;)J
move-result-wide v2
cmp-long v4, v2, v4
if-ltz v4, :cond_5
iget-wide v4, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->currentGranule:J
add-long v6, v4, v2
iget-wide v10, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->targetGranule:J
cmp-long v6, v6, v10
if-ltz v6, :cond_5
.line 157
invoke-virtual {v0, v4, v5}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->convertGranuleToTime(J)J
move-result-wide v11
iget-object v4, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->trackOutput:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;
.line 158
invoke-virtual {v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->limit()I
move-result v5
invoke-interface {v4, v1, v5}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;->sampleData(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;I)V
iget-object v10, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->trackOutput:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;
const/4 v13, 0x1
.line 159
invoke-virtual {v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;->limit()I
move-result v14
const/4 v15, 0x0
const/16 v16, 0x0
invoke-interface/range {v10 .. v16}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;->sampleMetadata(JIIILcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput$CryptoData;)V
iput-wide v8, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->targetGranule:J
:cond_5
iget-wide v4, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->currentGranule:J
add-long/2addr v4, v2
iput-wide v4, v0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->currentGranule:J
const/4 v1, 0x0
return v1
.end method
# virtual methods
.method public convertGranuleToTime(J)J
.locals 2
const-wide/32 v0, 0xf4240
mul-long/2addr p1, v0
iget v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->sampleRate:I
int-to-long v0, v0
.line 172
div-long/2addr p1, v0
return-wide p1
.end method
.method public convertTimeToGranule(J)J
.locals 2
iget v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->sampleRate:I
int-to-long v0, v0
mul-long/2addr v0, p1
const-wide/32 p1, 0xf4240
.line 177
div-long/2addr v0, p1
return-wide v0
.end method
.method public init(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorOutput;Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;)V
.locals 0
iput-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->extractorOutput:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorOutput;
iput-object p2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->trackOutput:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/TrackOutput;
const/4 p1, 0x1
.line 50
invoke-virtual {p0, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->reset(Z)V
return-void
.end method
.method public onSeekEnd(J)V
.locals 0
iput-wide p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->currentGranule:J
return-void
.end method
.method public abstract preparePayload(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;)J
.end method
.method public final read(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/PositionHolder;)I
.locals 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
iget v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->state:I
if-eqz v0, :cond_2
const/4 v1, 0x1
const/4 v2, 0x2
if-eq v0, v1, :cond_1
if-ne v0, v2, :cond_0
.line 90
invoke-direct {p0, p1, p2}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->readPayload(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/PositionHolder;)I
move-result p1
return p1
.line 93
:cond_0
new-instance p1, Ljava/lang/IllegalStateException;
invoke-direct {p1}, Ljava/lang/IllegalStateException;-><init>()V
throw p1
:cond_1
iget-wide v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->payloadStartPosition:J
long-to-int p2, v0
.line 86
invoke-interface {p1, p2}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;->skipFully(I)V
iput v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->state:I
const/4 p1, 0x0
return p1
.line 84
:cond_2
invoke-direct {p0, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->readHeaders(Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ExtractorInput;)I
move-result p1
return p1
.end method
.method public abstract readHeaders(Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableByteArray;JLcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader$SetupData;)Z
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
.end method
.method public reset(Z)V
.locals 4
const-wide/16 v0, 0x0
if-eqz p1, :cond_0
.line 56
new-instance p1, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader$SetupData;
invoke-direct {p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader$SetupData;-><init>()V
iput-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->setupData:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader$SetupData;
iput-wide v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->payloadStartPosition:J
const/4 p1, 0x0
iput p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->state:I
goto :goto_0
:cond_0
const/4 p1, 0x1
iput p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->state:I
:goto_0
const-wide/16 v2, -0x1
iput-wide v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->targetGranule:J
iput-wide v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->currentGranule:J
return-void
.end method
.method public final seek(JJ)V
.locals 2
iget-object v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->oggPacket:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPacket;
.line 68
invoke-virtual {v0}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggPacket;->reset()V
const-wide/16 v0, 0x0
cmp-long p1, p1, v0
if-nez p1, :cond_0
iget-boolean p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->seekMapSet:Z
xor-int/lit8 p1, p1, 0x1
.line 70
invoke-virtual {p0, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->reset(Z)V
goto :goto_0
:cond_0
iget p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->state:I
if-eqz p1, :cond_1
iget-object p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->oggSeeker:Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggSeeker;
.line 73
invoke-interface {p1, p3, p4}, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/OggSeeker;->startSeek(J)J
move-result-wide p1
iput-wide p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->targetGranule:J
const/4 p1, 0x2
iput p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/StreamReader;->state:I
:cond_1
:goto_0
return-void
.end method

Some files were not shown because too many files have changed in this diff Show More