HlsChunkSource.smali
.class Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;
.super Ljava/lang/Object;
.source "HlsChunkSource.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/android/exoplayer2/source/hls/HlsChunkSource$HlsMediaPlaylistSegmentIterator;,
Lcom/google/android/exoplayer2/source/hls/HlsChunkSource$EncryptionKeyChunk;,
Lcom/google/android/exoplayer2/source/hls/HlsChunkSource$InitializationTrackSelection;,
Lcom/google/android/exoplayer2/source/hls/HlsChunkSource$HlsChunkHolder;
}
.end annotation
# instance fields
.field private final encryptionDataSource:Lcom/google/android/exoplayer2/upstream/DataSource;
.field private encryptionIv:[B
.field private encryptionIvString:Ljava/lang/String;
.field private encryptionKey:[B
.field private encryptionKeyUri:Landroid/net/Uri;
.field private expectedPlaylistUrl:Lcom/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist$HlsUrl;
.field private final extractorFactory:Lcom/google/android/exoplayer2/source/hls/HlsExtractorFactory;
.field private fatalError:Ljava/io/IOException;
.field private independentSegments:Z
.field private isTimestampMaster:Z
.field private liveEdgeInPeriodTimeUs:J
.field private final mediaDataSource:Lcom/google/android/exoplayer2/upstream/DataSource;
.field private final muxedCaptionFormats:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Lcom/google/android/exoplayer2/Format;",
">;"
}
.end annotation
.end field
.field private final playlistTracker:Lcom/google/android/exoplayer2/source/hls/playlist/HlsPlaylistTracker;
.field private scratchSpace:[B
.field private seenExpectedPlaylistError:Z
.field private final timestampAdjusterProvider:Lcom/google/android/exoplayer2/source/hls/TimestampAdjusterProvider;
.field private final trackGroup:Lcom/google/android/exoplayer2/source/TrackGroup;
.field private trackSelection:Lcom/google/android/exoplayer2/trackselection/TrackSelection;
.field private final variants:[Lcom/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist$HlsUrl;
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method public constructor <init>(Lcom/google/android/exoplayer2/source/hls/HlsExtractorFactory;Lcom/google/android/exoplayer2/source/hls/playlist/HlsPlaylistTracker;[Lcom/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist$HlsUrl;Lcom/google/android/exoplayer2/source/hls/HlsDataSourceFactory;Lcom/google/android/exoplayer2/upstream/TransferListener;Lcom/google/android/exoplayer2/source/hls/TimestampAdjusterProvider;Ljava/util/List;)V
.registers 12
.param p1, "extractorFactory" # Lcom/google/android/exoplayer2/source/hls/HlsExtractorFactory;
.param p2, "playlistTracker" # Lcom/google/android/exoplayer2/source/hls/playlist/HlsPlaylistTracker;
.param p3, "variants" # [Lcom/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist$HlsUrl;
.param p4, "dataSourceFactory" # Lcom/google/android/exoplayer2/source/hls/HlsDataSourceFactory;
.param p5, "mediaTransferListener" # Lcom/google/android/exoplayer2/upstream/TransferListener;
.param p6, "timestampAdjusterProvider" # Lcom/google/android/exoplayer2/source/hls/TimestampAdjusterProvider;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/android/exoplayer2/source/hls/HlsExtractorFactory;",
"Lcom/google/android/exoplayer2/source/hls/playlist/HlsPlaylistTracker;",
"[",
"Lcom/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist$HlsUrl;",
"Lcom/google/android/exoplayer2/source/hls/HlsDataSourceFactory;",
"Lcom/google/android/exoplayer2/upstream/TransferListener;",
"Lcom/google/android/exoplayer2/source/hls/TimestampAdjusterProvider;",
"Ljava/util/List<",
"Lcom/google/android/exoplayer2/Format;",
">;)V"
}
.end annotation
.line 136
.local p7, "muxedCaptionFormats":Ljava/util/List;, "Ljava/util/List<Lcom/google/android/exoplayer2/Format;>;"
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 137
iput-object p1, p0, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->extractorFactory:Lcom/google/android/exoplayer2/source/hls/HlsExtractorFactory;
.line 138
iput-object p2, p0, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->playlistTracker:Lcom/google/android/exoplayer2/source/hls/playlist/HlsPlaylistTracker;
.line 139
iput-object p3, p0, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->variants:[Lcom/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist$HlsUrl;
.line 140
iput-object p6, p0, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->timestampAdjusterProvider:Lcom/google/android/exoplayer2/source/hls/TimestampAdjusterProvider;
.line 141
iput-object p7, p0, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->muxedCaptionFormats:Ljava/util/List;
.line 142
const-wide v0, -0x7fffffffffffffffL # -4.9E-324
iput-wide v0, p0, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->liveEdgeInPeriodTimeUs:J
.line 143
array-length v0, p3
new-array v0, v0, [Lcom/google/android/exoplayer2/Format;
.line 144
.local v0, "variantFormats":[Lcom/google/android/exoplayer2/Format;
array-length v1, p3
new-array v1, v1, [I
.line 145
.local v1, "initialTrackSelection":[I
const/4 v2, 0x0
.local v2, "i":I
:goto_1b
array-length v3, p3
if-ge v2, v3, :cond_29
.line 146
aget-object v3, p3, v2
iget-object v3, v3, Lcom/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist$HlsUrl;->format:Lcom/google/android/exoplayer2/Format;
aput-object v3, v0, v2
.line 147
aput v2, v1, v2
.line 145
add-int/lit8 v2, v2, 0x1
goto :goto_1b
.line 149
.end local v2 # "i":I
:cond_29
const/4 v2, 0x1
invoke-interface {p4, v2}, Lcom/google/android/exoplayer2/source/hls/HlsDataSourceFactory;->createDataSource(I)Lcom/google/android/exoplayer2/upstream/DataSource;
move-result-object v2
iput-object v2, p0, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->mediaDataSource:Lcom/google/android/exoplayer2/upstream/DataSource;
.line 150
if-eqz p5, :cond_35
.line 151
invoke-interface {v2, p5}, Lcom/google/android/exoplayer2/upstream/DataSource;->addTransferListener(Lcom/google/android/exoplayer2/upstream/TransferListener;)V
.line 153
:cond_35
const/4 v2, 0x3
invoke-interface {p4, v2}, Lcom/google/android/exoplayer2/source/hls/HlsDataSourceFactory;->createDataSource(I)Lcom/google/android/exoplayer2/upstream/DataSource;
move-result-object v2
iput-object v2, p0, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->encryptionDataSource:Lcom/google/android/exoplayer2/upstream/DataSource;
.line 154
new-instance v2, Lcom/google/android/exoplayer2/source/TrackGroup;
invoke-direct {v2, v0}, Lcom/google/android/exoplayer2/source/TrackGroup;-><init>([Lcom/google/android/exoplayer2/Format;)V
iput-object v2, p0, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->trackGroup:Lcom/google/android/exoplayer2/source/TrackGroup;
.line 155
new-instance v3, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource$InitializationTrackSelection;
invoke-direct {v3, v2, v1}, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource$InitializationTrackSelection;-><init>(Lcom/google/android/exoplayer2/source/TrackGroup;[I)V
iput-object v3, p0, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->trackSelection:Lcom/google/android/exoplayer2/trackselection/TrackSelection;
.line 156
return-void
.end method
.method private clearEncryptionData()V
.registers 2
.line 541
const/4 v0, 0x0
iput-object v0, p0, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->encryptionKeyUri:Landroid/net/Uri;
.line 542
iput-object v0, p0, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->encryptionKey:[B
.line 543
iput-object v0, p0, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->encryptionIvString:Ljava/lang/String;
.line 544
iput-object v0, p0, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->encryptionIv:[B
.line 545
return-void
.end method
.method private getChunkMediaSequence(Lcom/google/android/exoplayer2/source/hls/HlsMediaChunk;ZLcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist;JJ)J
.registers 21
.param p1, "previous" # Lcom/google/android/exoplayer2/source/hls/HlsMediaChunk;
.param p2, "switchingVariant" # Z
.param p3, "mediaPlaylist" # Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist;
.param p4, "startOfPlaylistInPeriodUs" # J
.param p6, "loadPositionUs" # J
.line 478
move-object v0, p0
move-object v1, p1
move-object/from16 v2, p3
if-eqz v1, :cond_e
if-eqz p2, :cond_9
goto :goto_e
.line 496
:cond_9
invoke-virtual {p1}, Lcom/google/android/exoplayer2/source/hls/HlsMediaChunk;->getNextChunkIndex()J
move-result-wide v3
return-wide v3
.line 479
:cond_e
:goto_e
iget-wide v3, v2, Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist;->durationUs:J
add-long v3, p4, v3
.line 480
.local v3, "endOfPlaylistInPeriodUs":J
if-eqz v1, :cond_1c
iget-boolean v5, v0, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->independentSegments:Z
if-eqz v5, :cond_19
goto :goto_1c
:cond_19
iget-wide v5, v1, Lcom/google/android/exoplayer2/source/hls/HlsMediaChunk;->startTimeUs:J
goto :goto_1e
:cond_1c
:goto_1c
move-wide/from16 v5, p6
.line 482
.local v5, "targetPositionInPeriodUs":J
:goto_1e
iget-boolean v7, v2, Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist;->hasEndTag:Z
if-nez v7, :cond_31
cmp-long v7, v5, v3
if-ltz v7, :cond_31
.line 484
iget-wide v7, v2, Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist;->mediaSequence:J
iget-object v9, v2, Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist;->segments:Ljava/util/List;
invoke-interface {v9}, Ljava/util/List;->size()I
move-result v9
int-to-long v9, v9
add-long/2addr v7, v9
return-wide v7
.line 486
:cond_31
sub-long v7, v5, p4
.line 487
.local v7, "targetPositionInPlaylistUs":J
iget-object v9, v2, Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist;->segments:Ljava/util/List;
.line 489
invoke-static {v7, v8}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v10
iget-object v11, v0, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->playlistTracker:Lcom/google/android/exoplayer2/source/hls/playlist/HlsPlaylistTracker;
.line 491
invoke-interface {v11}, Lcom/google/android/exoplayer2/source/hls/playlist/HlsPlaylistTracker;->isLive()Z
move-result v11
const/4 v12, 0x1
if-eqz v11, :cond_47
if-nez v1, :cond_45
goto :goto_47
:cond_45
const/4 v11, 0x0
goto :goto_48
:cond_47
:goto_47
const/4 v11, 0x1
.line 487
:goto_48
invoke-static {v9, v10, v12, v11}, Lcom/google/android/exoplayer2/util/Util;->binarySearchFloor(Ljava/util/List;Ljava/lang/Comparable;ZZ)I
move-result v9
int-to-long v9, v9
iget-wide v11, v2, Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist;->mediaSequence:J
add-long/2addr v9, v11
return-wide v9
.end method
.method private newEncryptionKeyChunk(Landroid/net/Uri;Ljava/lang/String;IILjava/lang/Object;)Lcom/google/android/exoplayer2/source/hls/HlsChunkSource$EncryptionKeyChunk;
.registers 15
.param p1, "keyUri" # Landroid/net/Uri;
.param p2, "iv" # Ljava/lang/String;
.param p3, "variantIndex" # I
.param p4, "trackSelectionReason" # I
.param p5, "trackSelectionData" # Ljava/lang/Object;
.line 515
new-instance v8, Lcom/google/android/exoplayer2/upstream/DataSpec;
const-wide/16 v2, 0x0
const-wide/16 v4, -0x1
const/4 v6, 0x0
const/4 v7, 0x1
move-object v0, v8
move-object v1, p1
invoke-direct/range {v0 .. v7}, Lcom/google/android/exoplayer2/upstream/DataSpec;-><init>(Landroid/net/Uri;JJLjava/lang/String;I)V
move-object v2, v8
.line 516
.local v2, "dataSpec":Lcom/google/android/exoplayer2/upstream/DataSpec;
new-instance v8, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource$EncryptionKeyChunk;
iget-object v1, p0, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->encryptionDataSource:Lcom/google/android/exoplayer2/upstream/DataSource;
iget-object v0, p0, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->variants:[Lcom/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist$HlsUrl;
aget-object v0, v0, p3
iget-object v3, v0, Lcom/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist$HlsUrl;->format:Lcom/google/android/exoplayer2/Format;
iget-object v6, p0, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->scratchSpace:[B
move-object v0, v8
move v4, p4
move-object v5, p5
move-object v7, p2
invoke-direct/range {v0 .. v7}, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource$EncryptionKeyChunk;-><init>(Lcom/google/android/exoplayer2/upstream/DataSource;Lcom/google/android/exoplayer2/upstream/DataSpec;Lcom/google/android/exoplayer2/Format;ILjava/lang/Object;[BLjava/lang/String;)V
return-object v8
.end method
.method private resolveTimeToLiveEdgeUs(J)J
.registers 8
.param p1, "playbackPositionUs" # J
.line 500
iget-wide v0, p0, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->liveEdgeInPeriodTimeUs:J
const-wide v2, -0x7fffffffffffffffL # -4.9E-324
cmp-long v4, v0, v2
if-eqz v4, :cond_d
const/4 v0, 0x1
goto :goto_e
:cond_d
const/4 v0, 0x0
.line 501
.local v0, "resolveTimeToLiveEdgePossible":Z
:goto_e
if-eqz v0, :cond_14
iget-wide v1, p0, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->liveEdgeInPeriodTimeUs:J
sub-long/2addr v1, p1
move-wide v2, v1
:cond_14
return-wide v2
.end method
.method private setEncryptionData(Landroid/net/Uri;Ljava/lang/String;[B)V
.registers 10
.param p1, "keyUri" # Landroid/net/Uri;
.param p2, "iv" # Ljava/lang/String;
.param p3, "secretKey" # [B
.line 522
invoke-static {p2}, Lcom/google/android/exoplayer2/util/Util;->toLowerInvariant(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const-string v1, "0x"
invoke-virtual {v0, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_12
.line 523
const/4 v0, 0x2
invoke-virtual {p2, v0}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object v0
.local v0, "trimmedIv":Ljava/lang/String;
goto :goto_13
.line 525
.end local v0 # "trimmedIv":Ljava/lang/String;
:cond_12
move-object v0, p2
.line 528
.restart local v0 # "trimmedIv":Ljava/lang/String;
:goto_13
new-instance v1, Ljava/math/BigInteger;
const/16 v2, 0x10
invoke-direct {v1, v0, v2}, Ljava/math/BigInteger;-><init>(Ljava/lang/String;I)V
invoke-virtual {v1}, Ljava/math/BigInteger;->toByteArray()[B
move-result-object v1
.line 529
.local v1, "ivData":[B
new-array v3, v2, [B
.line 530
.local v3, "ivDataWithPadding":[B
array-length v4, v1
if-le v4, v2, :cond_26
array-length v4, v1
sub-int/2addr v4, v2
goto :goto_27
:cond_26
const/4 v4, 0x0
:goto_27
move v2, v4
.line 531
.local v2, "offset":I
array-length v4, v3
array-length v5, v1
sub-int/2addr v4, v5
add-int/2addr v4, v2
array-length v5, v1
sub-int/2addr v5, v2
invoke-static {v1, v2, v3, v4, v5}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 534
iput-object p1, p0, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->encryptionKeyUri:Landroid/net/Uri;
.line 535
iput-object p3, p0, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->encryptionKey:[B
.line 536
iput-object p2, p0, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->encryptionIvString:Ljava/lang/String;
.line 537
iput-object v3, p0, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->encryptionIv:[B
.line 538
return-void
.end method
.method private updateLiveEdgeTimeUs(Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist;)V
.registers 6
.param p1, "mediaPlaylist" # Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist;
.line 507
iget-boolean v0, p1, Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist;->hasEndTag:Z
if-eqz v0, :cond_a
const-wide v0, -0x7fffffffffffffffL # -4.9E-324
goto :goto_15
.line 510
:cond_a
invoke-virtual {p1}, Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist;->getEndTimeUs()J
move-result-wide v0
iget-object v2, p0, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->playlistTracker:Lcom/google/android/exoplayer2/source/hls/playlist/HlsPlaylistTracker;
invoke-interface {v2}, Lcom/google/android/exoplayer2/source/hls/playlist/HlsPlaylistTracker;->getInitialStartTimeUs()J
move-result-wide v2
sub-long/2addr v0, v2
:goto_15
iput-wide v0, p0, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->liveEdgeInPeriodTimeUs:J
.line 511
return-void
.end method
# virtual methods
.method public createMediaChunkIterators(Lcom/google/android/exoplayer2/source/hls/HlsMediaChunk;J)[Lcom/google/android/exoplayer2/source/chunk/MediaChunkIterator;
.registers 20
.param p1, "previous" # Lcom/google/android/exoplayer2/source/hls/HlsMediaChunk;
.param p2, "loadPositionUs" # J
.line 429
move-object/from16 v8, p0
move-object/from16 v9, p1
if-nez v9, :cond_8
const/4 v0, -0x1
goto :goto_10
:cond_8
iget-object v0, v8, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->trackGroup:Lcom/google/android/exoplayer2/source/TrackGroup;
iget-object v1, v9, Lcom/google/android/exoplayer2/source/hls/HlsMediaChunk;->trackFormat:Lcom/google/android/exoplayer2/Format;
.line 430
invoke-virtual {v0, v1}, Lcom/google/android/exoplayer2/source/TrackGroup;->indexOf(Lcom/google/android/exoplayer2/Format;)I
move-result v0
:goto_10
move v10, v0
.line 431
.local v10, "oldVariantIndex":I
iget-object v0, v8, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->trackSelection:Lcom/google/android/exoplayer2/trackselection/TrackSelection;
invoke-interface {v0}, Lcom/google/android/exoplayer2/trackselection/TrackSelection;->length()I
move-result v0
new-array v11, v0, [Lcom/google/android/exoplayer2/source/chunk/MediaChunkIterator;
.line 432
.local v11, "chunkIterators":[Lcom/google/android/exoplayer2/source/chunk/MediaChunkIterator;
const/4 v0, 0x0
move v12, v0
.local v12, "i":I
:goto_1b
array-length v0, v11
if-ge v12, v0, :cond_78
.line 433
iget-object v0, v8, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->trackSelection:Lcom/google/android/exoplayer2/trackselection/TrackSelection;
invoke-interface {v0, v12}, Lcom/google/android/exoplayer2/trackselection/TrackSelection;->getIndexInTrackGroup(I)I
move-result v13
.line 434
.local v13, "variantIndex":I
iget-object v0, v8, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->variants:[Lcom/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist$HlsUrl;
aget-object v14, v0, v13
.line 435
.local v14, "variantUrl":Lcom/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist$HlsUrl;
iget-object v0, v8, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->playlistTracker:Lcom/google/android/exoplayer2/source/hls/playlist/HlsPlaylistTracker;
invoke-interface {v0, v14}, Lcom/google/android/exoplayer2/source/hls/playlist/HlsPlaylistTracker;->isSnapshotValid(Lcom/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist$HlsUrl;)Z
move-result v0
if-nez v0, :cond_35
.line 436
sget-object v0, Lcom/google/android/exoplayer2/source/chunk/MediaChunkIterator;->EMPTY:Lcom/google/android/exoplayer2/source/chunk/MediaChunkIterator;
aput-object v0, v11, v12
.line 437
goto :goto_71
.line 439
:cond_35
iget-object v0, v8, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->playlistTracker:Lcom/google/android/exoplayer2/source/hls/playlist/HlsPlaylistTracker;
.line 440
const/4 v1, 0x0
invoke-interface {v0, v14, v1}, Lcom/google/android/exoplayer2/source/hls/playlist/HlsPlaylistTracker;->getPlaylistSnapshot(Lcom/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist$HlsUrl;Z)Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist;
move-result-object v15
.line 441
.local v15, "playlist":Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist;
iget-wide v2, v15, Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist;->startTimeUs:J
iget-object v0, v8, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->playlistTracker:Lcom/google/android/exoplayer2/source/hls/playlist/HlsPlaylistTracker;
.line 442
invoke-interface {v0}, Lcom/google/android/exoplayer2/source/hls/playlist/HlsPlaylistTracker;->getInitialStartTimeUs()J
move-result-wide v4
sub-long v6, v2, v4
.line 443
.local v6, "startOfPlaylistInPeriodUs":J
if-eq v13, v10, :cond_4b
const/4 v0, 0x1
const/4 v2, 0x1
goto :goto_4c
:cond_4b
const/4 v2, 0x0
.line 444
.local v2, "switchingVariant":Z
:goto_4c
nop
.line 445
move-object/from16 v0, p0
move-object/from16 v1, p1
move-object v3, v15
move-wide v4, v6
move-wide v8, v6
.end local v6 # "startOfPlaylistInPeriodUs":J
.local v8, "startOfPlaylistInPeriodUs":J
move-wide/from16 v6, p2
invoke-direct/range {v0 .. v7}, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->getChunkMediaSequence(Lcom/google/android/exoplayer2/source/hls/HlsMediaChunk;ZLcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist;JJ)J
move-result-wide v0
.line 447
.local v0, "chunkMediaSequence":J
iget-wide v3, v15, Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist;->mediaSequence:J
cmp-long v5, v0, v3
if-gez v5, :cond_65
.line 448
sget-object v3, Lcom/google/android/exoplayer2/source/chunk/MediaChunkIterator;->EMPTY:Lcom/google/android/exoplayer2/source/chunk/MediaChunkIterator;
aput-object v3, v11, v12
.line 449
goto :goto_71
.line 451
:cond_65
iget-wide v3, v15, Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist;->mediaSequence:J
sub-long v3, v0, v3
long-to-int v4, v3
.line 452
.local v4, "chunkIndex":I
new-instance v3, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource$HlsMediaPlaylistSegmentIterator;
invoke-direct {v3, v15, v8, v9, v4}, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource$HlsMediaPlaylistSegmentIterator;-><init>(Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist;JI)V
aput-object v3, v11, v12
.line 432
.end local v0 # "chunkMediaSequence":J
.end local v2 # "switchingVariant":Z
.end local v4 # "chunkIndex":I
.end local v8 # "startOfPlaylistInPeriodUs":J
.end local v13 # "variantIndex":I
.end local v14 # "variantUrl":Lcom/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist$HlsUrl;
.end local v15 # "playlist":Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist;
:goto_71
add-int/lit8 v12, v12, 0x1
move-object/from16 v8, p0
move-object/from16 v9, p1
goto :goto_1b
.line 455
.end local v12 # "i":I
:cond_78
return-object v11
.end method
.method public getNextChunk(JJLjava/util/List;Lcom/google/android/exoplayer2/source/hls/HlsChunkSource$HlsChunkHolder;)V
.registers 59
.param p1, "playbackPositionUs" # J
.param p3, "loadPositionUs" # J
.param p6, "out" # Lcom/google/android/exoplayer2/source/hls/HlsChunkSource$HlsChunkHolder;
.annotation system Ldalvik/annotation/Signature;
value = {
"(JJ",
"Ljava/util/List<",
"Lcom/google/android/exoplayer2/source/hls/HlsMediaChunk;",
">;",
"Lcom/google/android/exoplayer2/source/hls/HlsChunkSource$HlsChunkHolder;",
")V"
}
.end annotation
.line 231
.local p5, "queue":Ljava/util/List;, "Ljava/util/List<Lcom/google/android/exoplayer2/source/hls/HlsMediaChunk;>;"
move-object/from16 v8, p0
move-wide/from16 v9, p3
move-object/from16 v11, p6
invoke-interface/range {p5 .. p5}, Ljava/util/List;->isEmpty()Z
move-result v0
const/4 v13, 0x1
if-eqz v0, :cond_11
move-object/from16 v6, p5
const/4 v0, 0x0
goto :goto_1e
:cond_11
invoke-interface/range {p5 .. p5}, Ljava/util/List;->size()I
move-result v0
sub-int/2addr v0, v13
move-object/from16 v6, p5
invoke-interface {v6, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/google/android/exoplayer2/source/hls/HlsMediaChunk;
:goto_1e
move-object v7, v0
.line 232
.local v7, "previous":Lcom/google/android/exoplayer2/source/hls/HlsMediaChunk;
if-nez v7, :cond_23
const/4 v0, -0x1
goto :goto_2b
:cond_23
iget-object v0, v8, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->trackGroup:Lcom/google/android/exoplayer2/source/TrackGroup;
iget-object v1, v7, Lcom/google/android/exoplayer2/source/hls/HlsMediaChunk;->trackFormat:Lcom/google/android/exoplayer2/Format;
.line 233
invoke-virtual {v0, v1}, Lcom/google/android/exoplayer2/source/TrackGroup;->indexOf(Lcom/google/android/exoplayer2/Format;)I
move-result v0
:goto_2b
move v4, v0
.line 234
.local v4, "oldVariantIndex":I
sub-long v0, v9, p1
.line 235
.local v0, "bufferedDurationUs":J
invoke-direct/range {p0 .. p2}, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->resolveTimeToLiveEdgeUs(J)J
move-result-wide v2
.line 236
.local v2, "timeToLiveEdgeUs":J
if-eqz v7, :cond_5b
iget-boolean v5, v8, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->independentSegments:Z
if-nez v5, :cond_5b
.line 243
invoke-virtual {v7}, Lcom/google/android/exoplayer2/source/hls/HlsMediaChunk;->getDurationUs()J
move-result-wide v14
.line 244
.local v14, "subtractedDurationUs":J
sub-long v12, v0, v14
move-wide/from16 v16, v0
.end local v0 # "bufferedDurationUs":J
.local v16, "bufferedDurationUs":J
const-wide/16 v0, 0x0
invoke-static {v0, v1, v12, v13}, Ljava/lang/Math;->max(JJ)J
move-result-wide v12
.line 245
.end local v16 # "bufferedDurationUs":J
.local v12, "bufferedDurationUs":J
const-wide v16, -0x7fffffffffffffffL # -4.9E-324
cmp-long v5, v2, v16
if-eqz v5, :cond_58
.line 246
sub-long v5, v2, v14
invoke-static {v0, v1, v5, v6}, Ljava/lang/Math;->max(JJ)J
move-result-wide v2
move-wide/from16 v37, v2
goto :goto_61
.line 245
:cond_58
move-wide/from16 v37, v2
goto :goto_61
.line 236
.end local v12 # "bufferedDurationUs":J
.end local v14 # "subtractedDurationUs":J
.restart local v0 # "bufferedDurationUs":J
:cond_5b
move-wide/from16 v16, v0
.line 251
.end local v0 # "bufferedDurationUs":J
.restart local v16 # "bufferedDurationUs":J
move-wide/from16 v37, v2
move-wide/from16 v12, v16
.end local v2 # "timeToLiveEdgeUs":J
.end local v16 # "bufferedDurationUs":J
.restart local v12 # "bufferedDurationUs":J
.local v37, "timeToLiveEdgeUs":J
:goto_61
invoke-virtual {v8, v7, v9, v10}, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->createMediaChunkIterators(Lcom/google/android/exoplayer2/source/hls/HlsMediaChunk;J)[Lcom/google/android/exoplayer2/source/chunk/MediaChunkIterator;
move-result-object v39
.line 252
.local v39, "mediaChunkIterators":[Lcom/google/android/exoplayer2/source/chunk/MediaChunkIterator;
iget-object v14, v8, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->trackSelection:Lcom/google/android/exoplayer2/trackselection/TrackSelection;
move-wide/from16 v15, p1
move-wide/from16 v17, v12
move-wide/from16 v19, v37
move-object/from16 v21, p5
move-object/from16 v22, v39
invoke-interface/range {v14 .. v22}, Lcom/google/android/exoplayer2/trackselection/TrackSelection;->updateSelectedTrack(JJJLjava/util/List;[Lcom/google/android/exoplayer2/source/chunk/MediaChunkIterator;)V
.line 254
iget-object v0, v8, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->trackSelection:Lcom/google/android/exoplayer2/trackselection/TrackSelection;
invoke-interface {v0}, Lcom/google/android/exoplayer2/trackselection/TrackSelection;->getSelectedIndexInTrackGroup()I
move-result v14
.line 256
.local v14, "selectedVariantIndex":I
if-eq v4, v14, :cond_7e
const/4 v0, 0x1
goto :goto_7f
:cond_7e
const/4 v0, 0x0
:goto_7f
move/from16 v40, v0
.line 257
.local v40, "switchingVariant":Z
iget-object v0, v8, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->variants:[Lcom/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist$HlsUrl;
aget-object v6, v0, v14
.line 258
.local v6, "selectedUrl":Lcom/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist$HlsUrl;
iget-object v0, v8, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->playlistTracker:Lcom/google/android/exoplayer2/source/hls/playlist/HlsPlaylistTracker;
invoke-interface {v0, v6}, Lcom/google/android/exoplayer2/source/hls/playlist/HlsPlaylistTracker;->isSnapshotValid(Lcom/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist$HlsUrl;)Z
move-result v0
if-nez v0, :cond_9e
.line 259
iput-object v6, v11, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource$HlsChunkHolder;->playlist:Lcom/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist$HlsUrl;
.line 260
iget-boolean v0, v8, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->seenExpectedPlaylistError:Z
iget-object v1, v8, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->expectedPlaylistUrl:Lcom/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist$HlsUrl;
if-ne v1, v6, :cond_97
const/4 v15, 0x1
goto :goto_98
:cond_97
const/4 v15, 0x0
:goto_98
and-int/2addr v0, v15
iput-boolean v0, v8, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->seenExpectedPlaylistError:Z
.line 261
iput-object v6, v8, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->expectedPlaylistUrl:Lcom/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist$HlsUrl;
.line 263
return-void
.line 265
:cond_9e
iget-object v0, v8, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->playlistTracker:Lcom/google/android/exoplayer2/source/hls/playlist/HlsPlaylistTracker;
.line 266
const/4 v1, 0x1
invoke-interface {v0, v6, v1}, Lcom/google/android/exoplayer2/source/hls/playlist/HlsPlaylistTracker;->getPlaylistSnapshot(Lcom/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist$HlsUrl;Z)Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist;
move-result-object v5
.line 267
.local v5, "mediaPlaylist":Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist;
iget-boolean v0, v5, Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist;->hasIndependentSegments:Z
iput-boolean v0, v8, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->independentSegments:Z
.line 269
invoke-direct {v8, v5}, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->updateLiveEdgeTimeUs(Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist;)V
.line 272
iget-wide v0, v5, Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist;->startTimeUs:J
iget-object v2, v8, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->playlistTracker:Lcom/google/android/exoplayer2/source/hls/playlist/HlsPlaylistTracker;
.line 273
invoke-interface {v2}, Lcom/google/android/exoplayer2/source/hls/playlist/HlsPlaylistTracker;->getInitialStartTimeUs()J
move-result-wide v2
sub-long v16, v0, v2
.line 274
.local v16, "startOfPlaylistInPeriodUs":J
nop
.line 275
move-object/from16 v0, p0
move-object v1, v7
move/from16 v2, v40
move-object v3, v5
move/from16 v41, v4
move-object v15, v5
.end local v4 # "oldVariantIndex":I
.end local v5 # "mediaPlaylist":Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist;
.local v15, "mediaPlaylist":Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist;
.local v41, "oldVariantIndex":I
move-wide/from16 v4, v16
move-object/from16 v19, v6
move-object/from16 v42, v7
.end local v6 # "selectedUrl":Lcom/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist$HlsUrl;
.end local v7 # "previous":Lcom/google/android/exoplayer2/source/hls/HlsMediaChunk;
.local v19, "selectedUrl":Lcom/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist$HlsUrl;
.local v42, "previous":Lcom/google/android/exoplayer2/source/hls/HlsMediaChunk;
move-wide/from16 v6, p3
invoke-direct/range {v0 .. v7}, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->getChunkMediaSequence(Lcom/google/android/exoplayer2/source/hls/HlsMediaChunk;ZLcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist;JJ)J
move-result-wide v0
.line 277
.local v0, "chunkMediaSequence":J
iget-wide v2, v15, Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist;->mediaSequence:J
cmp-long v4, v0, v2
if-gez v4, :cond_101
.line 278
if-eqz v42, :cond_f9
if-eqz v40, :cond_f9
.line 281
move/from16 v14, v41
.line 282
iget-object v2, v8, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->variants:[Lcom/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist$HlsUrl;
aget-object v6, v2, v14
.line 283
.end local v19 # "selectedUrl":Lcom/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist$HlsUrl;
.restart local v6 # "selectedUrl":Lcom/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist$HlsUrl;
iget-object v2, v8, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->playlistTracker:Lcom/google/android/exoplayer2/source/hls/playlist/HlsPlaylistTracker;
const/4 v3, 0x1
invoke-interface {v2, v6, v3}, Lcom/google/android/exoplayer2/source/hls/playlist/HlsPlaylistTracker;->getPlaylistSnapshot(Lcom/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist$HlsUrl;Z)Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist;
move-result-object v5
.line 284
.end local v15 # "mediaPlaylist":Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist;
.restart local v5 # "mediaPlaylist":Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist;
iget-wide v2, v5, Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist;->startTimeUs:J
iget-object v4, v8, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->playlistTracker:Lcom/google/android/exoplayer2/source/hls/playlist/HlsPlaylistTracker;
.line 285
invoke-interface {v4}, Lcom/google/android/exoplayer2/source/hls/playlist/HlsPlaylistTracker;->getInitialStartTimeUs()J
move-result-wide v19
sub-long v16, v2, v19
.line 286
invoke-virtual/range {v42 .. v42}, Lcom/google/android/exoplayer2/source/hls/HlsMediaChunk;->getNextChunkIndex()J
move-result-wide v0
move-object v15, v5
move/from16 v43, v14
move-wide/from16 v44, v16
move-object v14, v6
move-wide v6, v0
goto :goto_108
.line 288
.end local v5 # "mediaPlaylist":Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist;
.end local v6 # "selectedUrl":Lcom/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist$HlsUrl;
.restart local v15 # "mediaPlaylist":Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist;
.restart local v19 # "selectedUrl":Lcom/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist$HlsUrl;
:cond_f9
new-instance v2, Lcom/google/android/exoplayer2/source/BehindLiveWindowException;
invoke-direct {v2}, Lcom/google/android/exoplayer2/source/BehindLiveWindowException;-><init>()V
iput-object v2, v8, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->fatalError:Ljava/io/IOException;
.line 289
return-void
.line 277
:cond_101
move-wide v6, v0
move/from16 v43, v14
move-wide/from16 v44, v16
move-object/from16 v14, v19
.line 293
.end local v0 # "chunkMediaSequence":J
.end local v16 # "startOfPlaylistInPeriodUs":J
.end local v19 # "selectedUrl":Lcom/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist$HlsUrl;
.local v6, "chunkMediaSequence":J
.local v14, "selectedUrl":Lcom/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist$HlsUrl;
.local v43, "selectedVariantIndex":I
.local v44, "startOfPlaylistInPeriodUs":J
:goto_108
iget-wide v0, v15, Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist;->mediaSequence:J
sub-long v0, v6, v0
long-to-int v5, v0
.line 294
.local v5, "chunkIndex":I
iget-object v0, v15, Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist;->segments:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v0
if-lt v5, v0, :cond_12e
.line 295
iget-boolean v0, v15, Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist;->hasEndTag:Z
if-eqz v0, :cond_11d
.line 296
const/4 v0, 0x1
iput-boolean v0, v11, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource$HlsChunkHolder;->endOfStream:Z
goto :goto_12d
.line 298
:cond_11d
const/4 v0, 0x1
iput-object v14, v11, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource$HlsChunkHolder;->playlist:Lcom/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist$HlsUrl;
.line 299
iget-boolean v1, v8, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->seenExpectedPlaylistError:Z
iget-object v2, v8, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->expectedPlaylistUrl:Lcom/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist$HlsUrl;
if-ne v2, v14, :cond_127
goto :goto_128
:cond_127
const/4 v0, 0x0
:goto_128
and-int/2addr v0, v1
iput-boolean v0, v8, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->seenExpectedPlaylistError:Z
.line 300
iput-object v14, v8, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->expectedPlaylistUrl:Lcom/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist$HlsUrl;
.line 302
:goto_12d
return-void
.line 305
:cond_12e
const/4 v0, 0x0
iput-boolean v0, v8, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->seenExpectedPlaylistError:Z
.line 306
const/4 v0, 0x0
iput-object v0, v8, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->expectedPlaylistUrl:Lcom/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist$HlsUrl;
.line 309
iget-object v0, v15, Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist;->segments:Ljava/util/List;
invoke-interface {v0, v5}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v0
move-object v4, v0
check-cast v4, Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist$Segment;
.line 312
.local v4, "segment":Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist$Segment;
iget-object v0, v4, Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist$Segment;->fullSegmentEncryptionKeyUri:Ljava/lang/String;
if-eqz v0, :cond_189
.line 313
iget-object v0, v15, Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist;->baseUri:Ljava/lang/String;
iget-object v1, v4, Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist$Segment;->fullSegmentEncryptionKeyUri:Ljava/lang/String;
invoke-static {v0, v1}, Lcom/google/android/exoplayer2/util/UriUtil;->resolveToUri(Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri;
move-result-object v3
.line 314
.local v3, "keyUri":Landroid/net/Uri;
iget-object v0, v8, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->encryptionKeyUri:Landroid/net/Uri;
invoke-virtual {v3, v0}, Landroid/net/Uri;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_173
.line 316
iget-object v2, v4, Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist$Segment;->encryptionIV:Ljava/lang/String;
iget-object v0, v8, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->trackSelection:Lcom/google/android/exoplayer2/trackselection/TrackSelection;
.line 317
invoke-interface {v0}, Lcom/google/android/exoplayer2/trackselection/TrackSelection;->getSelectionReason()I
move-result v16
iget-object v0, v8, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->trackSelection:Lcom/google/android/exoplayer2/trackselection/TrackSelection;
invoke-interface {v0}, Lcom/google/android/exoplayer2/trackselection/TrackSelection;->getSelectionData()Ljava/lang/Object;
move-result-object v17
.line 316
move-object/from16 v0, p0
move-object v1, v3
move-object v9, v3
.end local v3 # "keyUri":Landroid/net/Uri;
.local v9, "keyUri":Landroid/net/Uri;
move/from16 v3, v43
move-object v10, v4
.end local v4 # "segment":Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist$Segment;
.local v10, "segment":Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist$Segment;
move/from16 v4, v16
move/from16 v46, v5
.end local v5 # "chunkIndex":I
.local v46, "chunkIndex":I
move-object/from16 v5, v17
invoke-direct/range {v0 .. v5}, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->newEncryptionKeyChunk(Landroid/net/Uri;Ljava/lang/String;IILjava/lang/Object;)Lcom/google/android/exoplayer2/source/hls/HlsChunkSource$EncryptionKeyChunk;
move-result-object v0
iput-object v0, v11, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource$HlsChunkHolder;->chunk:Lcom/google/android/exoplayer2/source/chunk/Chunk;
.line 318
return-void
.line 320
.end local v9 # "keyUri":Landroid/net/Uri;
.end local v10 # "segment":Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist$Segment;
.end local v46 # "chunkIndex":I
.restart local v3 # "keyUri":Landroid/net/Uri;
.restart local v4 # "segment":Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist$Segment;
.restart local v5 # "chunkIndex":I
:cond_173
move-object v9, v3
move-object v10, v4
move/from16 v46, v5
.end local v3 # "keyUri":Landroid/net/Uri;
.end local v4 # "segment":Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist$Segment;
.end local v5 # "chunkIndex":I
.restart local v9 # "keyUri":Landroid/net/Uri;
.restart local v10 # "segment":Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist$Segment;
.restart local v46 # "chunkIndex":I
iget-object v0, v10, Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist$Segment;->encryptionIV:Ljava/lang/String;
iget-object v1, v8, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->encryptionIvString:Ljava/lang/String;
invoke-static {v0, v1}, Lcom/google/android/exoplayer2/util/Util;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_188
.line 321
iget-object v0, v10, Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist$Segment;->encryptionIV:Ljava/lang/String;
iget-object v1, v8, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->encryptionKey:[B
invoke-direct {v8, v9, v0, v1}, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->setEncryptionData(Landroid/net/Uri;Ljava/lang/String;[B)V
.line 323
.end local v9 # "keyUri":Landroid/net/Uri;
:cond_188
goto :goto_18f
.line 324
.end local v10 # "segment":Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist$Segment;
.end local v46 # "chunkIndex":I
.restart local v4 # "segment":Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist$Segment;
.restart local v5 # "chunkIndex":I
:cond_189
move-object v10, v4
move/from16 v46, v5
.end local v4 # "segment":Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist$Segment;
.end local v5 # "chunkIndex":I
.restart local v10 # "segment":Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist$Segment;
.restart local v46 # "chunkIndex":I
invoke-direct/range {p0 .. p0}, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->clearEncryptionData()V
.line 327
:goto_18f
const/4 v0, 0x0
.line 328
.local v0, "initDataSpec":Lcom/google/android/exoplayer2/upstream/DataSpec;
iget-object v1, v10, Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist$Segment;->initializationSegment:Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist$Segment;
.line 329
.local v1, "initSegment":Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist$Segment;
if-eqz v1, :cond_1b3
.line 330
iget-object v2, v15, Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist;->baseUri:Ljava/lang/String;
iget-object v3, v1, Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist$Segment;->url:Ljava/lang/String;
invoke-static {v2, v3}, Lcom/google/android/exoplayer2/util/UriUtil;->resolveToUri(Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri;
move-result-object v2
.line 331
.local v2, "initSegmentUri":Landroid/net/Uri;
new-instance v3, Lcom/google/android/exoplayer2/upstream/DataSpec;
iget-wide v4, v1, Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist$Segment;->byterangeOffset:J
move-wide/from16 v47, v12
.end local v12 # "bufferedDurationUs":J
.local v47, "bufferedDurationUs":J
iget-wide v12, v1, Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist$Segment;->byterangeLength:J
const/16 v22, 0x0
move-object/from16 v16, v3
move-object/from16 v17, v2
move-wide/from16 v18, v4
move-wide/from16 v20, v12
invoke-direct/range {v16 .. v22}, Lcom/google/android/exoplayer2/upstream/DataSpec;-><init>(Landroid/net/Uri;JJLjava/lang/String;)V
move-object v0, v3
goto :goto_1b5
.line 329
.end local v2 # "initSegmentUri":Landroid/net/Uri;
.end local v47 # "bufferedDurationUs":J
.restart local v12 # "bufferedDurationUs":J
:cond_1b3
move-wide/from16 v47, v12
.line 336
.end local v12 # "bufferedDurationUs":J
.restart local v47 # "bufferedDurationUs":J
:goto_1b5
iget-wide v2, v10, Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist$Segment;->relativeStartTimeUs:J
add-long v2, v44, v2
.local v2, "segmentStartTimeInPeriodUs":J
move-wide/from16 v23, v2
.line 337
iget v4, v15, Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist;->discontinuitySequence:I
iget v5, v10, Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist$Segment;->relativeDiscontinuitySequence:I
add-int/2addr v4, v5
.local v4, "discontinuitySequence":I
move/from16 v29, v4
.line 339
iget-object v5, v8, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->timestampAdjusterProvider:Lcom/google/android/exoplayer2/source/hls/TimestampAdjusterProvider;
invoke-virtual {v5, v4}, Lcom/google/android/exoplayer2/source/hls/TimestampAdjusterProvider;->getAdjuster(I)Lcom/google/android/exoplayer2/util/TimestampAdjuster;
move-result-object v5
.local v5, "timestampAdjuster":Lcom/google/android/exoplayer2/util/TimestampAdjuster;
move-object/from16 v32, v5
.line 343
iget-object v9, v15, Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist;->baseUri:Ljava/lang/String;
iget-object v12, v10, Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist$Segment;->url:Ljava/lang/String;
invoke-static {v9, v12}, Lcom/google/android/exoplayer2/util/UriUtil;->resolveToUri(Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri;
move-result-object v9
.line 344
.local v9, "chunkUri":Landroid/net/Uri;
new-instance v12, Lcom/google/android/exoplayer2/upstream/DataSpec;
move v13, v4
move-object/from16 v49, v5
.end local v4 # "discontinuitySequence":I
.end local v5 # "timestampAdjuster":Lcom/google/android/exoplayer2/util/TimestampAdjuster;
.local v13, "discontinuitySequence":I
.local v49, "timestampAdjuster":Lcom/google/android/exoplayer2/util/TimestampAdjuster;
iget-wide v4, v10, Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist$Segment;->byterangeOffset:J
move/from16 v50, v13
move-object/from16 v25, v14
.end local v13 # "discontinuitySequence":I
.end local v14 # "selectedUrl":Lcom/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist$HlsUrl;
.local v25, "selectedUrl":Lcom/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist$HlsUrl;
.local v50, "discontinuitySequence":I
iget-wide v13, v10, Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist$Segment;->byterangeLength:J
const/16 v22, 0x0
move-object/from16 v16, v12
move-object/from16 v17, v9
move-wide/from16 v18, v4
move-wide/from16 v20, v13
invoke-direct/range {v16 .. v22}, Lcom/google/android/exoplayer2/upstream/DataSpec;-><init>(Landroid/net/Uri;JJLjava/lang/String;)V
move-object/from16 v17, v12
.line 346
.local v17, "dataSpec":Lcom/google/android/exoplayer2/upstream/DataSpec;
new-instance v4, Lcom/google/android/exoplayer2/source/hls/HlsMediaChunk;
move-object/from16 v5, v25
.end local v25 # "selectedUrl":Lcom/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist$HlsUrl;
.local v5, "selectedUrl":Lcom/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist$HlsUrl;
move-object v14, v4
iget-object v12, v8, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->extractorFactory:Lcom/google/android/exoplayer2/source/hls/HlsExtractorFactory;
move-object v13, v15
.end local v15 # "mediaPlaylist":Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist;
.local v13, "mediaPlaylist":Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist;
move-object v15, v12
iget-object v12, v8, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->mediaDataSource:Lcom/google/android/exoplayer2/upstream/DataSource;
move-object/from16 v16, v12
iget-object v12, v8, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->muxedCaptionFormats:Ljava/util/List;
move-object/from16 v20, v12
iget-object v12, v8, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->trackSelection:Lcom/google/android/exoplayer2/trackselection/TrackSelection;
.line 354
invoke-interface {v12}, Lcom/google/android/exoplayer2/trackselection/TrackSelection;->getSelectionReason()I
move-result v21
iget-object v12, v8, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->trackSelection:Lcom/google/android/exoplayer2/trackselection/TrackSelection;
.line 355
invoke-interface {v12}, Lcom/google/android/exoplayer2/trackselection/TrackSelection;->getSelectionData()Ljava/lang/Object;
move-result-object v22
move-object/from16 v51, v13
.end local v13 # "mediaPlaylist":Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist;
.local v51, "mediaPlaylist":Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist;
iget-wide v12, v10, Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist$Segment;->durationUs:J
add-long v25, v2, v12
iget-boolean v12, v10, Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist$Segment;->hasGapTag:Z
move/from16 v30, v12
iget-boolean v12, v8, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->isTimestampMaster:Z
move/from16 v31, v12
iget-object v12, v10, Lcom/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist$Segment;->drmInitData:Lcom/google/android/exoplayer2/drm/DrmInitData;
move-object/from16 v34, v12
iget-object v12, v8, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->encryptionKey:[B
move-object/from16 v35, v12
iget-object v12, v8, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->encryptionIv:[B
move-object/from16 v36, v12
move-object/from16 v18, v0
move-object/from16 v19, v5
move-wide/from16 v27, v6
move-object/from16 v33, v42
invoke-direct/range {v14 .. v36}, Lcom/google/android/exoplayer2/source/hls/HlsMediaChunk;-><init>(Lcom/google/android/exoplayer2/source/hls/HlsExtractorFactory;Lcom/google/android/exoplayer2/upstream/DataSource;Lcom/google/android/exoplayer2/upstream/DataSpec;Lcom/google/android/exoplayer2/upstream/DataSpec;Lcom/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist$HlsUrl;Ljava/util/List;ILjava/lang/Object;JJJIZZLcom/google/android/exoplayer2/util/TimestampAdjuster;Lcom/google/android/exoplayer2/source/hls/HlsMediaChunk;Lcom/google/android/exoplayer2/drm/DrmInitData;[B[B)V
iput-object v4, v11, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource$HlsChunkHolder;->chunk:Lcom/google/android/exoplayer2/source/chunk/Chunk;
.line 367
return-void
.end method
.method public getTrackGroup()Lcom/google/android/exoplayer2/source/TrackGroup;
.registers 2
.line 177
iget-object v0, p0, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->trackGroup:Lcom/google/android/exoplayer2/source/TrackGroup;
return-object v0
.end method
.method public getTrackSelection()Lcom/google/android/exoplayer2/trackselection/TrackSelection;
.registers 2
.line 193
iget-object v0, p0, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->trackSelection:Lcom/google/android/exoplayer2/trackselection/TrackSelection;
return-object v0
.end method
.method public maybeBlacklistTrack(Lcom/google/android/exoplayer2/source/chunk/Chunk;J)Z
.registers 7
.param p1, "chunk" # Lcom/google/android/exoplayer2/source/chunk/Chunk;
.param p2, "blacklistDurationMs" # J
.line 394
iget-object v0, p0, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->trackSelection:Lcom/google/android/exoplayer2/trackselection/TrackSelection;
iget-object v1, p0, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->trackGroup:Lcom/google/android/exoplayer2/source/TrackGroup;
iget-object v2, p1, Lcom/google/android/exoplayer2/source/chunk/Chunk;->trackFormat:Lcom/google/android/exoplayer2/Format;
.line 395
invoke-virtual {v1, v2}, Lcom/google/android/exoplayer2/source/TrackGroup;->indexOf(Lcom/google/android/exoplayer2/Format;)I
move-result v1
invoke-interface {v0, v1}, Lcom/google/android/exoplayer2/trackselection/TrackSelection;->indexOf(I)I
move-result v1
.line 394
invoke-interface {v0, v1, p2, p3}, Lcom/google/android/exoplayer2/trackselection/TrackSelection;->blacklist(IJ)Z
move-result v0
return v0
.end method
.method public maybeThrowError()V
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 165
iget-object v0, p0, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->fatalError:Ljava/io/IOException;
if-nez v0, :cond_12
.line 168
iget-object v0, p0, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->expectedPlaylistUrl:Lcom/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist$HlsUrl;
if-eqz v0, :cond_11
iget-boolean v1, p0, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->seenExpectedPlaylistError:Z
if-eqz v1, :cond_11
.line 169
iget-object v1, p0, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->playlistTracker:Lcom/google/android/exoplayer2/source/hls/playlist/HlsPlaylistTracker;
invoke-interface {v1, v0}, Lcom/google/android/exoplayer2/source/hls/playlist/HlsPlaylistTracker;->maybeThrowPlaylistRefreshError(Lcom/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist$HlsUrl;)V
.line 171
:cond_11
return-void
.line 166
:cond_12
throw v0
.end method
.method public onChunkLoadCompleted(Lcom/google/android/exoplayer2/source/chunk/Chunk;)V
.registers 6
.param p1, "chunk" # Lcom/google/android/exoplayer2/source/chunk/Chunk;
.line 376
instance-of v0, p1, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource$EncryptionKeyChunk;
if-eqz v0, :cond_1a
.line 377
move-object v0, p1
check-cast v0, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource$EncryptionKeyChunk;
.line 378
.local v0, "encryptionKeyChunk":Lcom/google/android/exoplayer2/source/hls/HlsChunkSource$EncryptionKeyChunk;
invoke-virtual {v0}, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource$EncryptionKeyChunk;->getDataHolder()[B
move-result-object v1
iput-object v1, p0, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->scratchSpace:[B
.line 379
iget-object v1, v0, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource$EncryptionKeyChunk;->dataSpec:Lcom/google/android/exoplayer2/upstream/DataSpec;
iget-object v1, v1, Lcom/google/android/exoplayer2/upstream/DataSpec;->uri:Landroid/net/Uri;
iget-object v2, v0, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource$EncryptionKeyChunk;->iv:Ljava/lang/String;
.line 380
invoke-virtual {v0}, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource$EncryptionKeyChunk;->getResult()[B
move-result-object v3
.line 379
invoke-direct {p0, v1, v2, v3}, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->setEncryptionData(Landroid/net/Uri;Ljava/lang/String;[B)V
.line 382
.end local v0 # "encryptionKeyChunk":Lcom/google/android/exoplayer2/source/hls/HlsChunkSource$EncryptionKeyChunk;
:cond_1a
return-void
.end method
.method public onPlaylistError(Lcom/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist$HlsUrl;J)Z
.registers 12
.param p1, "url" # Lcom/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist$HlsUrl;
.param p2, "blacklistDurationMs" # J
.line 407
iget-object v0, p0, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->trackGroup:Lcom/google/android/exoplayer2/source/TrackGroup;
iget-object v1, p1, Lcom/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist$HlsUrl;->format:Lcom/google/android/exoplayer2/Format;
invoke-virtual {v0, v1}, Lcom/google/android/exoplayer2/source/TrackGroup;->indexOf(Lcom/google/android/exoplayer2/Format;)I
move-result v0
.line 408
.local v0, "trackGroupIndex":I
const/4 v1, -0x1
const/4 v2, 0x1
if-ne v0, v1, :cond_d
.line 409
return v2
.line 411
:cond_d
iget-object v3, p0, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->trackSelection:Lcom/google/android/exoplayer2/trackselection/TrackSelection;
invoke-interface {v3, v0}, Lcom/google/android/exoplayer2/trackselection/TrackSelection;->indexOf(I)I
move-result v3
.line 412
.local v3, "trackSelectionIndex":I
if-ne v3, v1, :cond_16
.line 413
return v2
.line 415
:cond_16
iget-boolean v1, p0, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->seenExpectedPlaylistError:Z
iget-object v4, p0, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->expectedPlaylistUrl:Lcom/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist$HlsUrl;
const/4 v5, 0x0
if-ne v4, p1, :cond_1f
const/4 v4, 0x1
goto :goto_20
:cond_1f
const/4 v4, 0x0
:goto_20
or-int/2addr v1, v4
iput-boolean v1, p0, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->seenExpectedPlaylistError:Z
.line 416
const-wide v6, -0x7fffffffffffffffL # -4.9E-324
cmp-long v1, p2, v6
if-eqz v1, :cond_37
iget-object v1, p0, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->trackSelection:Lcom/google/android/exoplayer2/trackselection/TrackSelection;
.line 417
invoke-interface {v1, v3, p2, p3}, Lcom/google/android/exoplayer2/trackselection/TrackSelection;->blacklist(IJ)Z
move-result v1
if-eqz v1, :cond_35
goto :goto_37
:cond_35
const/4 v2, 0x0
goto :goto_38
:cond_37
:goto_37
nop
.line 416
:goto_38
return v2
.end method
.method public reset()V
.registers 2
.line 200
const/4 v0, 0x0
iput-object v0, p0, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->fatalError:Ljava/io/IOException;
.line 201
return-void
.end method
.method public selectTracks(Lcom/google/android/exoplayer2/trackselection/TrackSelection;)V
.registers 2
.param p1, "trackSelection" # Lcom/google/android/exoplayer2/trackselection/TrackSelection;
.line 186
iput-object p1, p0, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->trackSelection:Lcom/google/android/exoplayer2/trackselection/TrackSelection;
.line 187
return-void
.end method
.method public setIsTimestampMaster(Z)V
.registers 2
.param p1, "isTimestampMaster" # Z
.line 210
iput-boolean p1, p0, Lcom/google/android/exoplayer2/source/hls/HlsChunkSource;->isTimestampMaster:Z
.line 211
return-void
.end method