ChunkExtractorWrapper.smali
.class public final Lcom/google/android/exoplayer2/source/chunk/ChunkExtractorWrapper;
.super Ljava/lang/Object;
.source "ChunkExtractorWrapper.java"
# interfaces
.implements Lcom/google/android/exoplayer2/extractor/ExtractorOutput;
.implements Lcom/google/android/exoplayer2/extractor/TrackOutput;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/android/exoplayer2/source/chunk/ChunkExtractorWrapper$SeekMapOutput;
}
.end annotation
# instance fields
.field public final extractor:Lcom/google/android/exoplayer2/extractor/Extractor;
.field private extractorInitialized:Z
.field private final manifestFormat:Lcom/google/android/exoplayer2/Format;
.field private final preferManifestDrmInitData:Z
.field private final resendFormatOnInit:Z
.field private seekMapOutput:Lcom/google/android/exoplayer2/source/chunk/ChunkExtractorWrapper$SeekMapOutput;
.field private seenTrack:Z
.field private seenTrackId:I
.field private sentFormat:Lcom/google/android/exoplayer2/Format;
.field private trackOutput:Lcom/google/android/exoplayer2/extractor/TrackOutput;
# direct methods
.method public constructor <init>(Lcom/google/android/exoplayer2/extractor/Extractor;Lcom/google/android/exoplayer2/Format;ZZ)V
.registers 5
.line 75
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 76
iput-object p1, p0, Lcom/google/android/exoplayer2/source/chunk/ChunkExtractorWrapper;->extractor:Lcom/google/android/exoplayer2/extractor/Extractor;
.line 77
iput-object p2, p0, Lcom/google/android/exoplayer2/source/chunk/ChunkExtractorWrapper;->manifestFormat:Lcom/google/android/exoplayer2/Format;
.line 78
iput-boolean p3, p0, Lcom/google/android/exoplayer2/source/chunk/ChunkExtractorWrapper;->preferManifestDrmInitData:Z
.line 79
iput-boolean p4, p0, Lcom/google/android/exoplayer2/source/chunk/ChunkExtractorWrapper;->resendFormatOnInit:Z
return-void
.end method
# virtual methods
.method public endTracks()V
.registers 2
.line 115
iget-boolean v0, p0, Lcom/google/android/exoplayer2/source/chunk/ChunkExtractorWrapper;->seenTrack:Z
invoke-static {v0}, Lcom/google/android/exoplayer2/util/Assertions;->checkState(Z)V
return-void
.end method
.method public format(Lcom/google/android/exoplayer2/Format;)V
.registers 4
.line 127
iget-object v0, p0, Lcom/google/android/exoplayer2/source/chunk/ChunkExtractorWrapper;->manifestFormat:Lcom/google/android/exoplayer2/Format;
iget-boolean v1, p0, Lcom/google/android/exoplayer2/source/chunk/ChunkExtractorWrapper;->preferManifestDrmInitData:Z
invoke-virtual {p1, v0, v1}, Lcom/google/android/exoplayer2/Format;->copyWithManifestFormatInfo(Lcom/google/android/exoplayer2/Format;Z)Lcom/google/android/exoplayer2/Format;
move-result-object p1
iput-object p1, p0, Lcom/google/android/exoplayer2/source/chunk/ChunkExtractorWrapper;->sentFormat:Lcom/google/android/exoplayer2/Format;
.line 128
iget-object v0, p0, Lcom/google/android/exoplayer2/source/chunk/ChunkExtractorWrapper;->trackOutput:Lcom/google/android/exoplayer2/extractor/TrackOutput;
invoke-interface {v0, p1}, Lcom/google/android/exoplayer2/extractor/TrackOutput;->format(Lcom/google/android/exoplayer2/Format;)V
return-void
.end method
.method public init(Lcom/google/android/exoplayer2/source/chunk/ChunkExtractorWrapper$SeekMapOutput;Lcom/google/android/exoplayer2/extractor/TrackOutput;)V
.registers 5
.line 90
iput-object p1, p0, Lcom/google/android/exoplayer2/source/chunk/ChunkExtractorWrapper;->seekMapOutput:Lcom/google/android/exoplayer2/source/chunk/ChunkExtractorWrapper$SeekMapOutput;
.line 91
iput-object p2, p0, Lcom/google/android/exoplayer2/source/chunk/ChunkExtractorWrapper;->trackOutput:Lcom/google/android/exoplayer2/extractor/TrackOutput;
.line 92
iget-boolean p1, p0, Lcom/google/android/exoplayer2/source/chunk/ChunkExtractorWrapper;->extractorInitialized:Z
if-nez p1, :cond_11
.line 93
iget-object p1, p0, Lcom/google/android/exoplayer2/source/chunk/ChunkExtractorWrapper;->extractor:Lcom/google/android/exoplayer2/extractor/Extractor;
invoke-interface {p1, p0}, Lcom/google/android/exoplayer2/extractor/Extractor;->init(Lcom/google/android/exoplayer2/extractor/ExtractorOutput;)V
const/4 p1, 0x1
.line 94
iput-boolean p1, p0, Lcom/google/android/exoplayer2/source/chunk/ChunkExtractorWrapper;->extractorInitialized:Z
goto :goto_23
.line 96
:cond_11
iget-object p1, p0, Lcom/google/android/exoplayer2/source/chunk/ChunkExtractorWrapper;->extractor:Lcom/google/android/exoplayer2/extractor/Extractor;
const-wide/16 v0, 0x0
invoke-interface {p1, v0, v1, v0, v1}, Lcom/google/android/exoplayer2/extractor/Extractor;->seek(JJ)V
.line 97
iget-boolean p1, p0, Lcom/google/android/exoplayer2/source/chunk/ChunkExtractorWrapper;->resendFormatOnInit:Z
if-eqz p1, :cond_23
iget-object p1, p0, Lcom/google/android/exoplayer2/source/chunk/ChunkExtractorWrapper;->sentFormat:Lcom/google/android/exoplayer2/Format;
if-eqz p1, :cond_23
.line 98
invoke-interface {p2, p1}, Lcom/google/android/exoplayer2/extractor/TrackOutput;->format(Lcom/google/android/exoplayer2/Format;)V
:cond_23
:goto_23
return-void
.end method
.method public sampleData(Lcom/google/android/exoplayer2/extractor/ExtractorInput;IZ)I
.registers 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;
}
.end annotation
.line 134
iget-object v0, p0, Lcom/google/android/exoplayer2/source/chunk/ChunkExtractorWrapper;->trackOutput:Lcom/google/android/exoplayer2/extractor/TrackOutput;
invoke-interface {v0, p1, p2, p3}, Lcom/google/android/exoplayer2/extractor/TrackOutput;->sampleData(Lcom/google/android/exoplayer2/extractor/ExtractorInput;IZ)I
move-result p1
return p1
.end method
.method public sampleData(Lcom/google/android/exoplayer2/util/ParsableByteArray;I)V
.registers 4
.line 139
iget-object v0, p0, Lcom/google/android/exoplayer2/source/chunk/ChunkExtractorWrapper;->trackOutput:Lcom/google/android/exoplayer2/extractor/TrackOutput;
invoke-interface {v0, p1, p2}, Lcom/google/android/exoplayer2/extractor/TrackOutput;->sampleData(Lcom/google/android/exoplayer2/util/ParsableByteArray;I)V
return-void
.end method
.method public sampleMetadata(JIII[B)V
.registers 14
.line 145
iget-object v0, p0, Lcom/google/android/exoplayer2/source/chunk/ChunkExtractorWrapper;->trackOutput:Lcom/google/android/exoplayer2/extractor/TrackOutput;
move-wide v1, p1
move v3, p3
move v4, p4
move v5, p5
move-object v6, p6
invoke-interface/range {v0 .. v6}, Lcom/google/android/exoplayer2/extractor/TrackOutput;->sampleMetadata(JIII[B)V
return-void
.end method
.method public seekMap(Lcom/google/android/exoplayer2/extractor/SeekMap;)V
.registers 3
.line 120
iget-object v0, p0, Lcom/google/android/exoplayer2/source/chunk/ChunkExtractorWrapper;->seekMapOutput:Lcom/google/android/exoplayer2/source/chunk/ChunkExtractorWrapper$SeekMapOutput;
invoke-interface {v0, p1}, Lcom/google/android/exoplayer2/source/chunk/ChunkExtractorWrapper$SeekMapOutput;->seekMap(Lcom/google/android/exoplayer2/extractor/SeekMap;)V
return-void
.end method
.method public track(I)Lcom/google/android/exoplayer2/extractor/TrackOutput;
.registers 4
.line 107
iget-boolean v0, p0, Lcom/google/android/exoplayer2/source/chunk/ChunkExtractorWrapper;->seenTrack:Z
const/4 v1, 0x1
if-eqz v0, :cond_c
iget v0, p0, Lcom/google/android/exoplayer2/source/chunk/ChunkExtractorWrapper;->seenTrackId:I
if-ne v0, p1, :cond_a
goto :goto_c
:cond_a
const/4 v0, 0x0
goto :goto_d
:cond_c
:goto_c
const/4 v0, 0x1
:goto_d
invoke-static {v0}, Lcom/google/android/exoplayer2/util/Assertions;->checkState(Z)V
.line 108
iput-boolean v1, p0, Lcom/google/android/exoplayer2/source/chunk/ChunkExtractorWrapper;->seenTrack:Z
.line 109
iput p1, p0, Lcom/google/android/exoplayer2/source/chunk/ChunkExtractorWrapper;->seenTrackId:I
return-object p0
.end method