DashMediaPeriod.smali
.class final Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;
.super Ljava/lang/Object;
.source "DashMediaPeriod.java"
# interfaces
.implements Lcom/google/android/exoplayer2/source/MediaPeriod;
.implements Lcom/google/android/exoplayer2/source/SequenceableLoader$Callback;
.implements Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream$ReleaseCallback;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod$TrackGroupInfo;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Lcom/google/android/exoplayer2/source/MediaPeriod;",
"Lcom/google/android/exoplayer2/source/SequenceableLoader$Callback<",
"Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream<",
"Lcom/google/android/exoplayer2/source/dash/DashChunkSource;",
">;>;",
"Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream$ReleaseCallback<",
"Lcom/google/android/exoplayer2/source/dash/DashChunkSource;",
">;"
}
.end annotation
# instance fields
.field private final allocator:Lcom/google/android/exoplayer2/upstream/Allocator;
.field private callback:Lcom/google/android/exoplayer2/source/MediaPeriod$Callback;
.field private final chunkSourceFactory:Lcom/google/android/exoplayer2/source/dash/DashChunkSource$Factory;
.field private compositeSequenceableLoader:Lcom/google/android/exoplayer2/source/SequenceableLoader;
.field private final compositeSequenceableLoaderFactory:Lcom/google/android/exoplayer2/source/CompositeSequenceableLoaderFactory;
.field private final elapsedRealtimeOffsetMs:J
.field private final eventDispatcher:Lcom/google/android/exoplayer2/source/MediaSourceEventListener$EventDispatcher;
.field private eventSampleStreams:[Lcom/google/android/exoplayer2/source/dash/EventSampleStream;
.field private eventStreams:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Lcom/google/android/exoplayer2/source/dash/manifest/EventStream;",
">;"
}
.end annotation
.end field
.field final id:I
.field private final loadErrorHandlingPolicy:Lcom/google/android/exoplayer2/upstream/LoadErrorHandlingPolicy;
.field private manifest:Lcom/google/android/exoplayer2/source/dash/manifest/DashManifest;
.field private final manifestLoaderErrorThrower:Lcom/google/android/exoplayer2/upstream/LoaderErrorThrower;
.field private notifiedReadingStarted:Z
.field private periodIndex:I
.field private final playerEmsgHandler:Lcom/google/android/exoplayer2/source/dash/PlayerEmsgHandler;
.field private sampleStreams:[Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;
.annotation system Ldalvik/annotation/Signature;
value = {
"[",
"Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream<",
"Lcom/google/android/exoplayer2/source/dash/DashChunkSource;",
">;"
}
.end annotation
.end field
.field private final trackEmsgHandlerBySampleStream:Ljava/util/IdentityHashMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/IdentityHashMap<",
"Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream<",
"Lcom/google/android/exoplayer2/source/dash/DashChunkSource;",
">;",
"Lcom/google/android/exoplayer2/source/dash/PlayerEmsgHandler$PlayerTrackEmsgHandler;",
">;"
}
.end annotation
.end field
.field private final trackGroupInfos:[Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod$TrackGroupInfo;
.field private final trackGroups:Lcom/google/android/exoplayer2/source/TrackGroupArray;
.field private final transferListener:Lcom/google/android/exoplayer2/upstream/TransferListener;
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method public constructor <init>(ILcom/google/android/exoplayer2/source/dash/manifest/DashManifest;ILcom/google/android/exoplayer2/source/dash/DashChunkSource$Factory;Lcom/google/android/exoplayer2/upstream/TransferListener;Lcom/google/android/exoplayer2/upstream/LoadErrorHandlingPolicy;Lcom/google/android/exoplayer2/source/MediaSourceEventListener$EventDispatcher;JLcom/google/android/exoplayer2/upstream/LoaderErrorThrower;Lcom/google/android/exoplayer2/upstream/Allocator;Lcom/google/android/exoplayer2/source/CompositeSequenceableLoaderFactory;Lcom/google/android/exoplayer2/source/dash/PlayerEmsgHandler$PlayerEmsgCallback;)V
.registers 30
.param p1, "id" # I
.param p2, "manifest" # Lcom/google/android/exoplayer2/source/dash/manifest/DashManifest;
.param p3, "periodIndex" # I
.param p4, "chunkSourceFactory" # Lcom/google/android/exoplayer2/source/dash/DashChunkSource$Factory;
.param p5, "transferListener" # Lcom/google/android/exoplayer2/upstream/TransferListener;
.param p6, "loadErrorHandlingPolicy" # Lcom/google/android/exoplayer2/upstream/LoadErrorHandlingPolicy;
.param p7, "eventDispatcher" # Lcom/google/android/exoplayer2/source/MediaSourceEventListener$EventDispatcher;
.param p8, "elapsedRealtimeOffsetMs" # J
.param p10, "manifestLoaderErrorThrower" # Lcom/google/android/exoplayer2/upstream/LoaderErrorThrower;
.param p11, "allocator" # Lcom/google/android/exoplayer2/upstream/Allocator;
.param p12, "compositeSequenceableLoaderFactory" # Lcom/google/android/exoplayer2/source/CompositeSequenceableLoaderFactory;
.param p13, "playerEmsgCallback" # Lcom/google/android/exoplayer2/source/dash/PlayerEmsgHandler$PlayerEmsgCallback;
.line 101
move-object/from16 v0, p0
move-object/from16 v1, p2
move-object/from16 v2, p11
move-object/from16 v3, p12
invoke-direct/range {p0 .. p0}, Ljava/lang/Object;-><init>()V
.line 102
move/from16 v4, p1
iput v4, v0, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->id:I
.line 103
iput-object v1, v0, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->manifest:Lcom/google/android/exoplayer2/source/dash/manifest/DashManifest;
.line 104
move/from16 v5, p3
iput v5, v0, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->periodIndex:I
.line 105
move-object/from16 v6, p4
iput-object v6, v0, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->chunkSourceFactory:Lcom/google/android/exoplayer2/source/dash/DashChunkSource$Factory;
.line 106
move-object/from16 v7, p5
iput-object v7, v0, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->transferListener:Lcom/google/android/exoplayer2/upstream/TransferListener;
.line 107
move-object/from16 v8, p6
iput-object v8, v0, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->loadErrorHandlingPolicy:Lcom/google/android/exoplayer2/upstream/LoadErrorHandlingPolicy;
.line 108
move-object/from16 v9, p7
iput-object v9, v0, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->eventDispatcher:Lcom/google/android/exoplayer2/source/MediaSourceEventListener$EventDispatcher;
.line 109
move-wide/from16 v10, p8
iput-wide v10, v0, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->elapsedRealtimeOffsetMs:J
.line 110
move-object/from16 v12, p10
iput-object v12, v0, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->manifestLoaderErrorThrower:Lcom/google/android/exoplayer2/upstream/LoaderErrorThrower;
.line 111
iput-object v2, v0, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->allocator:Lcom/google/android/exoplayer2/upstream/Allocator;
.line 112
iput-object v3, v0, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->compositeSequenceableLoaderFactory:Lcom/google/android/exoplayer2/source/CompositeSequenceableLoaderFactory;
.line 113
new-instance v13, Lcom/google/android/exoplayer2/source/dash/PlayerEmsgHandler;
move-object/from16 v14, p13
invoke-direct {v13, v1, v14, v2}, Lcom/google/android/exoplayer2/source/dash/PlayerEmsgHandler;-><init>(Lcom/google/android/exoplayer2/source/dash/manifest/DashManifest;Lcom/google/android/exoplayer2/source/dash/PlayerEmsgHandler$PlayerEmsgCallback;Lcom/google/android/exoplayer2/upstream/Allocator;)V
iput-object v13, v0, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->playerEmsgHandler:Lcom/google/android/exoplayer2/source/dash/PlayerEmsgHandler;
.line 114
const/4 v13, 0x0
invoke-static {v13}, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->newSampleStreamArray(I)[Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;
move-result-object v15
iput-object v15, v0, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->sampleStreams:[Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;
.line 115
new-array v13, v13, [Lcom/google/android/exoplayer2/source/dash/EventSampleStream;
iput-object v13, v0, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->eventSampleStreams:[Lcom/google/android/exoplayer2/source/dash/EventSampleStream;
.line 116
new-instance v13, Ljava/util/IdentityHashMap;
invoke-direct {v13}, Ljava/util/IdentityHashMap;-><init>()V
iput-object v13, v0, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->trackEmsgHandlerBySampleStream:Ljava/util/IdentityHashMap;
.line 117
iget-object v13, v0, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->sampleStreams:[Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;
.line 118
invoke-interface {v3, v13}, Lcom/google/android/exoplayer2/source/CompositeSequenceableLoaderFactory;->createCompositeSequenceableLoader([Lcom/google/android/exoplayer2/source/SequenceableLoader;)Lcom/google/android/exoplayer2/source/SequenceableLoader;
move-result-object v13
iput-object v13, v0, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->compositeSequenceableLoader:Lcom/google/android/exoplayer2/source/SequenceableLoader;
.line 119
invoke-virtual/range {p2 .. p3}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifest;->getPeriod(I)Lcom/google/android/exoplayer2/source/dash/manifest/Period;
move-result-object v13
.line 120
.local v13, "period":Lcom/google/android/exoplayer2/source/dash/manifest/Period;
iget-object v15, v13, Lcom/google/android/exoplayer2/source/dash/manifest/Period;->eventStreams:Ljava/util/List;
iput-object v15, v0, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->eventStreams:Ljava/util/List;
.line 121
iget-object v15, v13, Lcom/google/android/exoplayer2/source/dash/manifest/Period;->adaptationSets:Ljava/util/List;
iget-object v1, v0, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->eventStreams:Ljava/util/List;
invoke-static {v15, v1}, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->buildTrackGroups(Ljava/util/List;Ljava/util/List;)Landroid/util/Pair;
move-result-object v1
.line 123
.local v1, "result":Landroid/util/Pair;, "Landroid/util/Pair<Lcom/google/android/exoplayer2/source/TrackGroupArray;[Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod$TrackGroupInfo;>;"
iget-object v15, v1, Landroid/util/Pair;->first:Ljava/lang/Object;
check-cast v15, Lcom/google/android/exoplayer2/source/TrackGroupArray;
iput-object v15, v0, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->trackGroups:Lcom/google/android/exoplayer2/source/TrackGroupArray;
.line 124
iget-object v15, v1, Landroid/util/Pair;->second:Ljava/lang/Object;
check-cast v15, [Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod$TrackGroupInfo;
iput-object v15, v0, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->trackGroupInfos:[Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod$TrackGroupInfo;
.line 125
invoke-virtual/range {p7 .. p7}, Lcom/google/android/exoplayer2/source/MediaSourceEventListener$EventDispatcher;->mediaPeriodCreated()V
.line 126
return-void
.end method
.method private static buildManifestEventTrackGroupInfos(Ljava/util/List;[Lcom/google/android/exoplayer2/source/TrackGroup;[Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod$TrackGroupInfo;I)V
.registers 10
.param p1, "trackGroups" # [Lcom/google/android/exoplayer2/source/TrackGroup;
.param p2, "trackGroupInfos" # [Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod$TrackGroupInfo;
.param p3, "existingTrackGroupCount" # I
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Lcom/google/android/exoplayer2/source/dash/manifest/EventStream;",
">;[",
"Lcom/google/android/exoplayer2/source/TrackGroup;",
"[",
"Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod$TrackGroupInfo;",
"I)V"
}
.end annotation
.line 563
.local p0, "eventStreams":Ljava/util/List;, "Ljava/util/List<Lcom/google/android/exoplayer2/source/dash/manifest/EventStream;>;"
const/4 v0, 0x0
.local v0, "i":I
:goto_1
invoke-interface {p0}, Ljava/util/List;->size()I
move-result v1
if-ge v0, v1, :cond_32
.line 564
invoke-interface {p0, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/google/android/exoplayer2/source/dash/manifest/EventStream;
.line 565
.local v1, "eventStream":Lcom/google/android/exoplayer2/source/dash/manifest/EventStream;
invoke-virtual {v1}, Lcom/google/android/exoplayer2/source/dash/manifest/EventStream;->id()Ljava/lang/String;
move-result-object v2
const/4 v3, -0x1
const/4 v4, 0x0
const-string v5, "application/x-emsg"
invoke-static {v2, v5, v4, v3, v4}, Lcom/google/android/exoplayer2/Format;->createSampleFormat(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILcom/google/android/exoplayer2/drm/DrmInitData;)Lcom/google/android/exoplayer2/Format;
move-result-object v2
.line 567
.local v2, "format":Lcom/google/android/exoplayer2/Format;
new-instance v3, Lcom/google/android/exoplayer2/source/TrackGroup;
const/4 v4, 0x1
new-array v4, v4, [Lcom/google/android/exoplayer2/Format;
const/4 v5, 0x0
aput-object v2, v4, v5
invoke-direct {v3, v4}, Lcom/google/android/exoplayer2/source/TrackGroup;-><init>([Lcom/google/android/exoplayer2/Format;)V
aput-object v3, p1, p3
.line 568
add-int/lit8 v3, p3, 0x1
.end local p3 # "existingTrackGroupCount":I
.local v3, "existingTrackGroupCount":I
invoke-static {v0}, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod$TrackGroupInfo;->mpdEventTrack(I)Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod$TrackGroupInfo;
move-result-object v4
aput-object v4, p2, p3
.line 563
.end local v1 # "eventStream":Lcom/google/android/exoplayer2/source/dash/manifest/EventStream;
.end local v2 # "format":Lcom/google/android/exoplayer2/Format;
add-int/lit8 v0, v0, 0x1
move p3, v3
goto :goto_1
.line 570
.end local v0 # "i":I
.end local v3 # "existingTrackGroupCount":I
.restart local p3 # "existingTrackGroupCount":I
:cond_32
return-void
.end method
.method private static buildPrimaryAndEmbeddedTrackGroupInfos(Ljava/util/List;[[II[Z[Z[Lcom/google/android/exoplayer2/source/TrackGroup;[Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod$TrackGroupInfo;)I
.registers 25
.param p1, "groupedAdaptationSetIndices" # [[I
.param p2, "primaryGroupCount" # I
.param p3, "primaryGroupHasEventMessageTrackFlags" # [Z
.param p4, "primaryGroupHasCea608TrackFlags" # [Z
.param p5, "trackGroups" # [Lcom/google/android/exoplayer2/source/TrackGroup;
.param p6, "trackGroupInfos" # [Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod$TrackGroupInfo;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Lcom/google/android/exoplayer2/source/dash/manifest/AdaptationSet;",
">;[[II[Z[Z[",
"Lcom/google/android/exoplayer2/source/TrackGroup;",
"[",
"Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod$TrackGroupInfo;",
")I"
}
.end annotation
.line 516
.local p0, "adaptationSets":Ljava/util/List;, "Ljava/util/List<Lcom/google/android/exoplayer2/source/dash/manifest/AdaptationSet;>;"
move-object/from16 v0, p0
const/4 v1, 0x0
.line 517
.local v1, "trackGroupCount":I
const/4 v2, 0x0
.local v2, "i":I
:goto_4
move/from16 v3, p2
if-ge v2, v3, :cond_d0
.line 518
aget-object v4, p1, v2
.line 519
.local v4, "adaptationSetIndices":[I
new-instance v5, Ljava/util/ArrayList;
invoke-direct {v5}, Ljava/util/ArrayList;-><init>()V
.line 520
.local v5, "representations":Ljava/util/List;, "Ljava/util/List<Lcom/google/android/exoplayer2/source/dash/manifest/Representation;>;"
array-length v6, v4
const/4 v7, 0x0
const/4 v8, 0x0
:goto_12
if-ge v8, v6, :cond_24
aget v9, v4, v8
.line 521
.local v9, "adaptationSetIndex":I
invoke-interface {v0, v9}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v10
check-cast v10, Lcom/google/android/exoplayer2/source/dash/manifest/AdaptationSet;
iget-object v10, v10, Lcom/google/android/exoplayer2/source/dash/manifest/AdaptationSet;->representations:Ljava/util/List;
invoke-interface {v5, v10}, Ljava/util/List;->addAll(Ljava/util/Collection;)Z
.line 520
.end local v9 # "adaptationSetIndex":I
add-int/lit8 v8, v8, 0x1
goto :goto_12
.line 523
:cond_24
invoke-interface {v5}, Ljava/util/List;->size()I
move-result v6
new-array v6, v6, [Lcom/google/android/exoplayer2/Format;
.line 524
.local v6, "formats":[Lcom/google/android/exoplayer2/Format;
const/4 v8, 0x0
.local v8, "j":I
:goto_2b
array-length v9, v6
if-ge v8, v9, :cond_3b
.line 525
invoke-interface {v5, v8}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v9
check-cast v9, Lcom/google/android/exoplayer2/source/dash/manifest/Representation;
iget-object v9, v9, Lcom/google/android/exoplayer2/source/dash/manifest/Representation;->format:Lcom/google/android/exoplayer2/Format;
aput-object v9, v6, v8
.line 524
add-int/lit8 v8, v8, 0x1
goto :goto_2b
.line 528
.end local v8 # "j":I
:cond_3b
aget v8, v4, v7
invoke-interface {v0, v8}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v8
check-cast v8, Lcom/google/android/exoplayer2/source/dash/manifest/AdaptationSet;
.line 529
.local v8, "firstAdaptationSet":Lcom/google/android/exoplayer2/source/dash/manifest/AdaptationSet;
add-int/lit8 v9, v1, 0x1
.line 530
.local v1, "primaryTrackGroupIndex":I
.local v9, "trackGroupCount":I
aget-boolean v10, p3, v2
const/4 v11, -0x1
if-eqz v10, :cond_4d
add-int/lit8 v10, v9, 0x1
.end local v9 # "trackGroupCount":I
.local v10, "trackGroupCount":I
goto :goto_4f
.end local v10 # "trackGroupCount":I
.restart local v9 # "trackGroupCount":I
:cond_4d
move v10, v9
const/4 v9, -0x1
.line 532
.local v9, "eventMessageTrackGroupIndex":I
.restart local v10 # "trackGroupCount":I
:goto_4f
aget-boolean v12, p4, v2
if-eqz v12, :cond_5b
add-int/lit8 v12, v10, 0x1
move/from16 v17, v12
move v12, v10
move/from16 v10, v17
.end local v10 # "trackGroupCount":I
.local v12, "trackGroupCount":I
goto :goto_5c
.end local v12 # "trackGroupCount":I
.restart local v10 # "trackGroupCount":I
:cond_5b
const/4 v12, -0x1
.line 535
.local v12, "cea608TrackGroupIndex":I
:goto_5c
new-instance v13, Lcom/google/android/exoplayer2/source/TrackGroup;
invoke-direct {v13, v6}, Lcom/google/android/exoplayer2/source/TrackGroup;-><init>([Lcom/google/android/exoplayer2/Format;)V
aput-object v13, p5, v1
.line 536
iget v13, v8, Lcom/google/android/exoplayer2/source/dash/manifest/AdaptationSet;->type:I
.line 537
invoke-static {v13, v4, v1, v9, v12}, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod$TrackGroupInfo;->primaryTrack(I[IIII)Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod$TrackGroupInfo;
move-result-object v13
aput-object v13, p6, v1
.line 543
const/4 v13, 0x0
const/4 v14, 0x1
if-eq v9, v11, :cond_9c
.line 544
new-instance v15, Ljava/lang/StringBuilder;
invoke-direct {v15}, Ljava/lang/StringBuilder;-><init>()V
iget v7, v8, Lcom/google/android/exoplayer2/source/dash/manifest/AdaptationSet;->id:I
invoke-virtual {v15, v7}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v7, ":emsg"
invoke-virtual {v15, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v7
const-string v15, "application/x-emsg"
invoke-static {v7, v15, v13, v11, v13}, Lcom/google/android/exoplayer2/Format;->createSampleFormat(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILcom/google/android/exoplayer2/drm/DrmInitData;)Lcom/google/android/exoplayer2/Format;
move-result-object v7
.line 546
.local v7, "format":Lcom/google/android/exoplayer2/Format;
new-instance v15, Lcom/google/android/exoplayer2/source/TrackGroup;
new-array v13, v14, [Lcom/google/android/exoplayer2/Format;
const/16 v16, 0x0
aput-object v7, v13, v16
invoke-direct {v15, v13}, Lcom/google/android/exoplayer2/source/TrackGroup;-><init>([Lcom/google/android/exoplayer2/Format;)V
aput-object v15, p5, v9
.line 547
nop
.line 548
invoke-static {v4, v1}, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod$TrackGroupInfo;->embeddedEmsgTrack([II)Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod$TrackGroupInfo;
move-result-object v13
aput-object v13, p6, v9
.line 550
.end local v7 # "format":Lcom/google/android/exoplayer2/Format;
:cond_9c
if-eq v12, v11, :cond_cb
.line 551
new-instance v7, Ljava/lang/StringBuilder;
invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
iget v11, v8, Lcom/google/android/exoplayer2/source/dash/manifest/AdaptationSet;->id:I
invoke-virtual {v7, v11}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v11, ":cea608"
invoke-virtual {v7, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v7
const-string v11, "application/cea-608"
const/4 v13, 0x0
const/4 v15, 0x0
invoke-static {v7, v11, v15, v13}, Lcom/google/android/exoplayer2/Format;->createTextSampleFormat(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)Lcom/google/android/exoplayer2/Format;
move-result-object v7
.line 553
.restart local v7 # "format":Lcom/google/android/exoplayer2/Format;
new-instance v11, Lcom/google/android/exoplayer2/source/TrackGroup;
new-array v13, v14, [Lcom/google/android/exoplayer2/Format;
aput-object v7, v13, v15
invoke-direct {v11, v13}, Lcom/google/android/exoplayer2/source/TrackGroup;-><init>([Lcom/google/android/exoplayer2/Format;)V
aput-object v11, p5, v12
.line 554
nop
.line 555
invoke-static {v4, v1}, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod$TrackGroupInfo;->embeddedCea608Track([II)Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod$TrackGroupInfo;
move-result-object v11
aput-object v11, p6, v12
.line 517
.end local v1 # "primaryTrackGroupIndex":I
.end local v4 # "adaptationSetIndices":[I
.end local v5 # "representations":Ljava/util/List;, "Ljava/util/List<Lcom/google/android/exoplayer2/source/dash/manifest/Representation;>;"
.end local v6 # "formats":[Lcom/google/android/exoplayer2/Format;
.end local v7 # "format":Lcom/google/android/exoplayer2/Format;
.end local v8 # "firstAdaptationSet":Lcom/google/android/exoplayer2/source/dash/manifest/AdaptationSet;
.end local v9 # "eventMessageTrackGroupIndex":I
.end local v12 # "cea608TrackGroupIndex":I
:cond_cb
add-int/lit8 v2, v2, 0x1
move v1, v10
goto/16 :goto_4
.line 558
.end local v2 # "i":I
.end local v10 # "trackGroupCount":I
.local v1, "trackGroupCount":I
:cond_d0
return v1
.end method
.method private buildSampleStream(Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod$TrackGroupInfo;Lcom/google/android/exoplayer2/trackselection/TrackSelection;J)Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;
.registers 36
.param p1, "trackGroupInfo" # Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod$TrackGroupInfo;
.param p2, "selection" # Lcom/google/android/exoplayer2/trackselection/TrackSelection;
.param p3, "positionUs" # J
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod$TrackGroupInfo;",
"Lcom/google/android/exoplayer2/trackselection/TrackSelection;",
"J)",
"Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream<",
"Lcom/google/android/exoplayer2/source/dash/DashChunkSource;",
">;"
}
.end annotation
.line 574
move-object/from16 v12, p0
move-object/from16 v13, p1
const/4 v0, 0x0
.line 575
.local v0, "embeddedTrackCount":I
const/4 v1, 0x2
new-array v2, v1, [I
.line 576
.local v2, "embeddedTrackTypes":[I
new-array v1, v1, [Lcom/google/android/exoplayer2/Format;
.line 577
.local v1, "embeddedTrackFormats":[Lcom/google/android/exoplayer2/Format;
iget v3, v13, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod$TrackGroupInfo;->embeddedEventMessageTrackGroupIndex:I
const/4 v4, -0x1
const/4 v5, 0x1
const/4 v6, 0x0
if-eq v3, v4, :cond_13
const/4 v3, 0x1
goto :goto_14
:cond_13
const/4 v3, 0x0
:goto_14
move/from16 v27, v3
.line 579
.local v27, "enableEventMessageTrack":Z
if-eqz v27, :cond_2c
.line 580
iget-object v3, v12, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->trackGroups:Lcom/google/android/exoplayer2/source/TrackGroupArray;
iget v7, v13, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod$TrackGroupInfo;->embeddedEventMessageTrackGroupIndex:I
.line 581
invoke-virtual {v3, v7}, Lcom/google/android/exoplayer2/source/TrackGroupArray;->get(I)Lcom/google/android/exoplayer2/source/TrackGroup;
move-result-object v3
invoke-virtual {v3, v6}, Lcom/google/android/exoplayer2/source/TrackGroup;->getFormat(I)Lcom/google/android/exoplayer2/Format;
move-result-object v3
aput-object v3, v1, v0
.line 582
add-int/lit8 v3, v0, 0x1
.end local v0 # "embeddedTrackCount":I
.local v3, "embeddedTrackCount":I
const/4 v7, 0x4
aput v7, v2, v0
move v0, v3
.line 584
.end local v3 # "embeddedTrackCount":I
.restart local v0 # "embeddedTrackCount":I
:cond_2c
iget v3, v13, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod$TrackGroupInfo;->embeddedCea608TrackGroupIndex:I
if-eq v3, v4, :cond_31
goto :goto_32
:cond_31
const/4 v5, 0x0
:goto_32
move/from16 v28, v5
.line 585
.local v28, "enableCea608Track":Z
if-eqz v28, :cond_4b
.line 586
iget-object v3, v12, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->trackGroups:Lcom/google/android/exoplayer2/source/TrackGroupArray;
iget v4, v13, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod$TrackGroupInfo;->embeddedCea608TrackGroupIndex:I
.line 587
invoke-virtual {v3, v4}, Lcom/google/android/exoplayer2/source/TrackGroupArray;->get(I)Lcom/google/android/exoplayer2/source/TrackGroup;
move-result-object v3
invoke-virtual {v3, v6}, Lcom/google/android/exoplayer2/source/TrackGroup;->getFormat(I)Lcom/google/android/exoplayer2/Format;
move-result-object v3
aput-object v3, v1, v0
.line 588
add-int/lit8 v3, v0, 0x1
.end local v0 # "embeddedTrackCount":I
.restart local v3 # "embeddedTrackCount":I
const/4 v4, 0x3
aput v4, v2, v0
move v11, v3
goto :goto_4c
.line 585
.end local v3 # "embeddedTrackCount":I
.restart local v0 # "embeddedTrackCount":I
:cond_4b
move v11, v0
.line 590
.end local v0 # "embeddedTrackCount":I
.local v11, "embeddedTrackCount":I
:goto_4c
array-length v0, v2
if-ge v11, v0, :cond_5f
.line 591
invoke-static {v1, v11}, Ljava/util/Arrays;->copyOf([Ljava/lang/Object;I)[Ljava/lang/Object;
move-result-object v0
move-object v1, v0
check-cast v1, [Lcom/google/android/exoplayer2/Format;
.line 592
invoke-static {v2, v11}, Ljava/util/Arrays;->copyOf([II)[I
move-result-object v2
move-object/from16 v29, v1
move-object/from16 v30, v2
goto :goto_63
.line 590
:cond_5f
move-object/from16 v29, v1
move-object/from16 v30, v2
.line 594
.end local v1 # "embeddedTrackFormats":[Lcom/google/android/exoplayer2/Format;
.end local v2 # "embeddedTrackTypes":[I
.local v29, "embeddedTrackFormats":[Lcom/google/android/exoplayer2/Format;
.local v30, "embeddedTrackTypes":[I
:goto_63
iget-object v0, v12, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->manifest:Lcom/google/android/exoplayer2/source/dash/manifest/DashManifest;
iget-boolean v0, v0, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifest;->dynamic:Z
if-eqz v0, :cond_72
if-eqz v27, :cond_72
iget-object v0, v12, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->playerEmsgHandler:Lcom/google/android/exoplayer2/source/dash/PlayerEmsgHandler;
.line 596
invoke-virtual {v0}, Lcom/google/android/exoplayer2/source/dash/PlayerEmsgHandler;->newPlayerTrackEmsgHandler()Lcom/google/android/exoplayer2/source/dash/PlayerEmsgHandler$PlayerTrackEmsgHandler;
move-result-object v0
goto :goto_73
:cond_72
const/4 v0, 0x0
:goto_73
move-object v10, v0
.line 598
.local v10, "trackPlayerEmsgHandler":Lcom/google/android/exoplayer2/source/dash/PlayerEmsgHandler$PlayerTrackEmsgHandler;
iget-object v14, v12, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->chunkSourceFactory:Lcom/google/android/exoplayer2/source/dash/DashChunkSource$Factory;
iget-object v15, v12, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->manifestLoaderErrorThrower:Lcom/google/android/exoplayer2/upstream/LoaderErrorThrower;
iget-object v0, v12, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->manifest:Lcom/google/android/exoplayer2/source/dash/manifest/DashManifest;
iget v1, v12, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->periodIndex:I
iget-object v2, v13, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod$TrackGroupInfo;->adaptationSetIndices:[I
iget v3, v13, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod$TrackGroupInfo;->trackType:I
iget-wide v4, v12, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->elapsedRealtimeOffsetMs:J
iget-object v6, v12, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->transferListener:Lcom/google/android/exoplayer2/upstream/TransferListener;
.line 599
move-object/from16 v16, v0
move/from16 v17, v1
move-object/from16 v18, v2
move-object/from16 v19, p2
move/from16 v20, v3
move-wide/from16 v21, v4
move/from16 v23, v27
move/from16 v24, v28
move-object/from16 v25, v10
move-object/from16 v26, v6
invoke-interface/range {v14 .. v26}, Lcom/google/android/exoplayer2/source/dash/DashChunkSource$Factory;->createDashChunkSource(Lcom/google/android/exoplayer2/upstream/LoaderErrorThrower;Lcom/google/android/exoplayer2/source/dash/manifest/DashManifest;I[ILcom/google/android/exoplayer2/trackselection/TrackSelection;IJZZLcom/google/android/exoplayer2/source/dash/PlayerEmsgHandler$PlayerTrackEmsgHandler;Lcom/google/android/exoplayer2/upstream/TransferListener;)Lcom/google/android/exoplayer2/source/dash/DashChunkSource;
move-result-object v14
.line 611
.local v14, "chunkSource":Lcom/google/android/exoplayer2/source/dash/DashChunkSource;
new-instance v0, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;
iget v2, v13, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod$TrackGroupInfo;->trackType:I
iget-object v7, v12, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->allocator:Lcom/google/android/exoplayer2/upstream/Allocator;
iget-object v15, v12, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->loadErrorHandlingPolicy:Lcom/google/android/exoplayer2/upstream/LoadErrorHandlingPolicy;
iget-object v8, v12, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->eventDispatcher:Lcom/google/android/exoplayer2/source/MediaSourceEventListener$EventDispatcher;
move-object v1, v0
move-object/from16 v3, v30
move-object/from16 v4, v29
move-object v5, v14
move-object/from16 v6, p0
move-object/from16 v16, v8
move-wide/from16 v8, p3
move-object v13, v10
.end local v10 # "trackPlayerEmsgHandler":Lcom/google/android/exoplayer2/source/dash/PlayerEmsgHandler$PlayerTrackEmsgHandler;
.local v13, "trackPlayerEmsgHandler":Lcom/google/android/exoplayer2/source/dash/PlayerEmsgHandler$PlayerTrackEmsgHandler;
move-object v10, v15
move v15, v11
.end local v11 # "embeddedTrackCount":I
.local v15, "embeddedTrackCount":I
move-object/from16 v11, v16
invoke-direct/range {v1 .. v11}, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;-><init>(I[I[Lcom/google/android/exoplayer2/Format;Lcom/google/android/exoplayer2/source/chunk/ChunkSource;Lcom/google/android/exoplayer2/source/SequenceableLoader$Callback;Lcom/google/android/exoplayer2/upstream/Allocator;JLcom/google/android/exoplayer2/upstream/LoadErrorHandlingPolicy;Lcom/google/android/exoplayer2/source/MediaSourceEventListener$EventDispatcher;)V
.line 622
.local v1, "stream":Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;, "Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream<Lcom/google/android/exoplayer2/source/dash/DashChunkSource;>;"
monitor-enter p0
.line 624
:try_start_bb
iget-object v0, v12, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->trackEmsgHandlerBySampleStream:Ljava/util/IdentityHashMap;
invoke-virtual {v0, v1, v13}, Ljava/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 625
monitor-exit p0
.line 626
return-object v1
.line 625
:catchall_c2
move-exception v0
monitor-exit p0
:try_end_c4
.catchall {:try_start_bb .. :try_end_c4} :catchall_c2
throw v0
.end method
.method private static buildTrackGroups(Ljava/util/List;Ljava/util/List;)Landroid/util/Pair;
.registers 18
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Lcom/google/android/exoplayer2/source/dash/manifest/AdaptationSet;",
">;",
"Ljava/util/List<",
"Lcom/google/android/exoplayer2/source/dash/manifest/EventStream;",
">;)",
"Landroid/util/Pair<",
"Lcom/google/android/exoplayer2/source/TrackGroupArray;",
"[",
"Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod$TrackGroupInfo;",
">;"
}
.end annotation
.line 412
.local p0, "adaptationSets":Ljava/util/List;, "Ljava/util/List<Lcom/google/android/exoplayer2/source/dash/manifest/AdaptationSet;>;"
.local p1, "eventStreams":Ljava/util/List;, "Ljava/util/List<Lcom/google/android/exoplayer2/source/dash/manifest/EventStream;>;"
invoke-static/range {p0 .. p0}, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->getGroupedAdaptationSetIndices(Ljava/util/List;)[[I
move-result-object v7
.line 414
.local v7, "groupedAdaptationSetIndices":[[I
array-length v8, v7
.line 415
.local v8, "primaryGroupCount":I
new-array v9, v8, [Z
.line 416
.local v9, "primaryGroupHasEventMessageTrackFlags":[Z
new-array v10, v8, [Z
.line 417
.local v10, "primaryGroupHasCea608TrackFlags":[Z
move-object/from16 v11, p0
invoke-static {v8, v11, v7, v9, v10}, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->identifyEmbeddedTracks(ILjava/util/List;[[I[Z[Z)I
move-result v12
.line 421
.local v12, "totalEmbeddedTrackGroupCount":I
add-int v0, v8, v12
invoke-interface/range {p1 .. p1}, Ljava/util/List;->size()I
move-result v1
add-int v13, v0, v1
.line 422
.local v13, "totalGroupCount":I
new-array v14, v13, [Lcom/google/android/exoplayer2/source/TrackGroup;
.line 423
.local v14, "trackGroups":[Lcom/google/android/exoplayer2/source/TrackGroup;
new-array v15, v13, [Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod$TrackGroupInfo;
.line 425
.local v15, "trackGroupInfos":[Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod$TrackGroupInfo;
move-object/from16 v0, p0
move-object v1, v7
move v2, v8
move-object v3, v9
move-object v4, v10
move-object v5, v14
move-object v6, v15
invoke-static/range {v0 .. v6}, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->buildPrimaryAndEmbeddedTrackGroupInfos(Ljava/util/List;[[II[Z[Z[Lcom/google/android/exoplayer2/source/TrackGroup;[Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod$TrackGroupInfo;)I
move-result v0
.line 429
.local v0, "trackGroupCount":I
move-object/from16 v1, p1
invoke-static {v1, v14, v15, v0}, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->buildManifestEventTrackGroupInfos(Ljava/util/List;[Lcom/google/android/exoplayer2/source/TrackGroup;[Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod$TrackGroupInfo;I)V
.line 431
new-instance v2, Lcom/google/android/exoplayer2/source/TrackGroupArray;
invoke-direct {v2, v14}, Lcom/google/android/exoplayer2/source/TrackGroupArray;-><init>([Lcom/google/android/exoplayer2/source/TrackGroup;)V
invoke-static {v2, v15}, Landroid/util/Pair;->create(Ljava/lang/Object;Ljava/lang/Object;)Landroid/util/Pair;
move-result-object v2
return-object v2
.end method
.method private static findAdaptationSetSwitchingProperty(Ljava/util/List;)Lcom/google/android/exoplayer2/source/dash/manifest/Descriptor;
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Lcom/google/android/exoplayer2/source/dash/manifest/Descriptor;",
">;)",
"Lcom/google/android/exoplayer2/source/dash/manifest/Descriptor;"
}
.end annotation
.line 630
.local p0, "descriptors":Ljava/util/List;, "Ljava/util/List<Lcom/google/android/exoplayer2/source/dash/manifest/Descriptor;>;"
const/4 v0, 0x0
.local v0, "i":I
:goto_1
invoke-interface {p0}, Ljava/util/List;->size()I
move-result v1
if-ge v0, v1, :cond_1c
.line 631
invoke-interface {p0, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/google/android/exoplayer2/source/dash/manifest/Descriptor;
.line 632
.local v1, "descriptor":Lcom/google/android/exoplayer2/source/dash/manifest/Descriptor;
iget-object v2, v1, Lcom/google/android/exoplayer2/source/dash/manifest/Descriptor;->schemeIdUri:Ljava/lang/String;
const-string/jumbo v3, "urn:mpeg:dash:adaptation-set-switching:2016"
invoke-virtual {v3, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_19
.line 633
return-object v1
.line 630
.end local v1 # "descriptor":Lcom/google/android/exoplayer2/source/dash/manifest/Descriptor;
:cond_19
add-int/lit8 v0, v0, 0x1
goto :goto_1
.line 636
.end local v0 # "i":I
:cond_1c
const/4 v0, 0x0
return-object v0
.end method
.method private static getGroupedAdaptationSetIndices(Ljava/util/List;)[[I
.registers 15
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Lcom/google/android/exoplayer2/source/dash/manifest/AdaptationSet;",
">;)[[I"
}
.end annotation
.line 435
.local p0, "adaptationSets":Ljava/util/List;, "Ljava/util/List<Lcom/google/android/exoplayer2/source/dash/manifest/AdaptationSet;>;"
invoke-interface {p0}, Ljava/util/List;->size()I
move-result v0
.line 436
.local v0, "adaptationSetCount":I
new-instance v1, Landroid/util/SparseIntArray;
invoke-direct {v1, v0}, Landroid/util/SparseIntArray;-><init>(I)V
.line 437
.local v1, "idToIndexMap":Landroid/util/SparseIntArray;
const/4 v2, 0x0
.local v2, "i":I
:goto_a
if-ge v2, v0, :cond_1a
.line 438
invoke-interface {p0, v2}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v3
check-cast v3, Lcom/google/android/exoplayer2/source/dash/manifest/AdaptationSet;
iget v3, v3, Lcom/google/android/exoplayer2/source/dash/manifest/AdaptationSet;->id:I
invoke-virtual {v1, v3, v2}, Landroid/util/SparseIntArray;->put(II)V
.line 437
add-int/lit8 v2, v2, 0x1
goto :goto_a
.line 441
.end local v2 # "i":I
:cond_1a
new-array v2, v0, [[I
.line 442
.local v2, "groupedAdaptationSetIndices":[[I
new-array v3, v0, [Z
.line 444
.local v3, "adaptationSetUsedFlags":[Z
const/4 v4, 0x0
.line 445
.local v4, "groupCount":I
const/4 v5, 0x0
.local v5, "i":I
:goto_20
if-ge v5, v0, :cond_7c
.line 446
aget-boolean v6, v3, v5
if-eqz v6, :cond_27
.line 448
goto :goto_79
.line 450
:cond_27
const/4 v6, 0x1
aput-boolean v6, v3, v5
.line 451
nop
.line 452
invoke-interface {p0, v5}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v7
check-cast v7, Lcom/google/android/exoplayer2/source/dash/manifest/AdaptationSet;
iget-object v7, v7, Lcom/google/android/exoplayer2/source/dash/manifest/AdaptationSet;->supplementalProperties:Ljava/util/List;
.line 451
invoke-static {v7}, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->findAdaptationSetSwitchingProperty(Ljava/util/List;)Lcom/google/android/exoplayer2/source/dash/manifest/Descriptor;
move-result-object v7
.line 453
.local v7, "adaptationSetSwitchingProperty":Lcom/google/android/exoplayer2/source/dash/manifest/Descriptor;
const/4 v8, 0x0
if-nez v7, :cond_44
.line 454
add-int/lit8 v9, v4, 0x1
.end local v4 # "groupCount":I
.local v9, "groupCount":I
new-array v6, v6, [I
aput v5, v6, v8
aput-object v6, v2, v4
move v4, v9
goto :goto_79
.line 456
.end local v9 # "groupCount":I
.restart local v4 # "groupCount":I
:cond_44
iget-object v9, v7, Lcom/google/android/exoplayer2/source/dash/manifest/Descriptor;->value:Ljava/lang/String;
const-string v10, ","
invoke-static {v9, v10}, Lcom/google/android/exoplayer2/util/Util;->split(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
move-result-object v9
.line 457
.local v9, "extraAdaptationSetIds":[Ljava/lang/String;
array-length v10, v9
add-int/2addr v10, v6
new-array v10, v10, [I
.line 458
.local v10, "adaptationSetIndices":[I
aput v5, v10, v8
.line 459
const/4 v8, 0x1
.line 460
.local v8, "outputIndex":I
const/4 v11, 0x0
.local v11, "j":I
:goto_54
array-length v12, v9
if-ge v11, v12, :cond_6d
.line 461
aget-object v12, v9, v11
.line 463
invoke-static {v12}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v12
.line 462
const/4 v13, -0x1
invoke-virtual {v1, v12, v13}, Landroid/util/SparseIntArray;->get(II)I
move-result v12
.line 464
.local v12, "extraIndex":I
if-eq v12, v13, :cond_6a
.line 465
aput-boolean v6, v3, v12
.line 466
aput v12, v10, v8
.line 467
add-int/lit8 v8, v8, 0x1
.line 460
.end local v12 # "extraIndex":I
:cond_6a
add-int/lit8 v11, v11, 0x1
goto :goto_54
.line 470
.end local v11 # "j":I
:cond_6d
array-length v6, v10
if-ge v8, v6, :cond_74
.line 471
invoke-static {v10, v8}, Ljava/util/Arrays;->copyOf([II)[I
move-result-object v10
.line 473
:cond_74
add-int/lit8 v6, v4, 0x1
.end local v4 # "groupCount":I
.local v6, "groupCount":I
aput-object v10, v2, v4
move v4, v6
.line 445
.end local v6 # "groupCount":I
.end local v7 # "adaptationSetSwitchingProperty":Lcom/google/android/exoplayer2/source/dash/manifest/Descriptor;
.end local v8 # "outputIndex":I
.end local v9 # "extraAdaptationSetIds":[Ljava/lang/String;
.end local v10 # "adaptationSetIndices":[I
.restart local v4 # "groupCount":I
:goto_79
add-int/lit8 v5, v5, 0x1
goto :goto_20
.line 477
.end local v5 # "i":I
:cond_7c
if-ge v4, v0, :cond_85
.line 478
invoke-static {v2, v4}, Ljava/util/Arrays;->copyOf([Ljava/lang/Object;I)[Ljava/lang/Object;
move-result-object v5
check-cast v5, [[I
goto :goto_86
:cond_85
move-object v5, v2
.line 477
:goto_86
return-object v5
.end method
.method private getPrimaryStreamIndex(I[I)I
.registers 9
.param p1, "embeddedStreamIndex" # I
.param p2, "streamIndexToTrackGroupIndex" # [I
.line 394
aget v0, p2, p1
.line 395
.local v0, "embeddedTrackGroupIndex":I
const/4 v1, -0x1
if-ne v0, v1, :cond_6
.line 396
return v1
.line 398
:cond_6
iget-object v2, p0, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->trackGroupInfos:[Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod$TrackGroupInfo;
aget-object v2, v2, v0
iget v2, v2, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod$TrackGroupInfo;->primaryTrackGroupIndex:I
.line 399
.local v2, "primaryTrackGroupIndex":I
const/4 v3, 0x0
.local v3, "i":I
:goto_d
array-length v4, p2
if-ge v3, v4, :cond_20
.line 400
aget v4, p2, v3
.line 401
.local v4, "trackGroupIndex":I
if-ne v4, v2, :cond_1d
iget-object v5, p0, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->trackGroupInfos:[Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod$TrackGroupInfo;
aget-object v5, v5, v4
iget v5, v5, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod$TrackGroupInfo;->trackGroupCategory:I
if-nez v5, :cond_1d
.line 404
return v3
.line 399
.end local v4 # "trackGroupIndex":I
:cond_1d
add-int/lit8 v3, v3, 0x1
goto :goto_d
.line 407
.end local v3 # "i":I
:cond_20
return v1
.end method
.method private getStreamIndexToTrackGroupIndex([Lcom/google/android/exoplayer2/trackselection/TrackSelection;)[I
.registers 6
.param p1, "selections" # [Lcom/google/android/exoplayer2/trackselection/TrackSelection;
.line 293
array-length v0, p1
new-array v0, v0, [I
.line 294
.local v0, "streamIndexToTrackGroupIndex":[I
const/4 v1, 0x0
.local v1, "i":I
:goto_4
array-length v2, p1
if-ge v1, v2, :cond_20
.line 295
aget-object v2, p1, v1
if-eqz v2, :cond_1a
.line 296
iget-object v2, p0, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->trackGroups:Lcom/google/android/exoplayer2/source/TrackGroupArray;
aget-object v3, p1, v1
invoke-interface {v3}, Lcom/google/android/exoplayer2/trackselection/TrackSelection;->getTrackGroup()Lcom/google/android/exoplayer2/source/TrackGroup;
move-result-object v3
invoke-virtual {v2, v3}, Lcom/google/android/exoplayer2/source/TrackGroupArray;->indexOf(Lcom/google/android/exoplayer2/source/TrackGroup;)I
move-result v2
aput v2, v0, v1
goto :goto_1d
.line 298
:cond_1a
const/4 v2, -0x1
aput v2, v0, v1
.line 294
:goto_1d
add-int/lit8 v1, v1, 0x1
goto :goto_4
.line 301
.end local v1 # "i":I
:cond_20
return-object v0
.end method
.method private static hasCea608Track(Ljava/util/List;[I)Z
.registers 11
.param p1, "adaptationSetIndices" # [I
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Lcom/google/android/exoplayer2/source/dash/manifest/AdaptationSet;",
">;[I)Z"
}
.end annotation
.line 655
.local p0, "adaptationSets":Ljava/util/List;, "Ljava/util/List<Lcom/google/android/exoplayer2/source/dash/manifest/AdaptationSet;>;"
array-length v0, p1
const/4 v1, 0x0
const/4 v2, 0x0
:goto_3
if-ge v2, v0, :cond_2f
aget v3, p1, v2
.line 656
.local v3, "i":I
invoke-interface {p0, v3}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v4
check-cast v4, Lcom/google/android/exoplayer2/source/dash/manifest/AdaptationSet;
iget-object v4, v4, Lcom/google/android/exoplayer2/source/dash/manifest/AdaptationSet;->accessibilityDescriptors:Ljava/util/List;
.line 657
.local v4, "descriptors":Ljava/util/List;, "Ljava/util/List<Lcom/google/android/exoplayer2/source/dash/manifest/Descriptor;>;"
const/4 v5, 0x0
.local v5, "j":I
:goto_10
invoke-interface {v4}, Ljava/util/List;->size()I
move-result v6
if-ge v5, v6, :cond_2c
.line 658
invoke-interface {v4, v5}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v6
check-cast v6, Lcom/google/android/exoplayer2/source/dash/manifest/Descriptor;
.line 659
.local v6, "descriptor":Lcom/google/android/exoplayer2/source/dash/manifest/Descriptor;
iget-object v7, v6, Lcom/google/android/exoplayer2/source/dash/manifest/Descriptor;->schemeIdUri:Ljava/lang/String;
const-string/jumbo v8, "urn:scte:dash:cc:cea-608:2015"
invoke-virtual {v8, v7}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v7
if-eqz v7, :cond_29
.line 660
const/4 v0, 0x1
return v0
.line 657
.end local v6 # "descriptor":Lcom/google/android/exoplayer2/source/dash/manifest/Descriptor;
:cond_29
add-int/lit8 v5, v5, 0x1
goto :goto_10
.line 655
.end local v3 # "i":I
.end local v4 # "descriptors":Ljava/util/List;, "Ljava/util/List<Lcom/google/android/exoplayer2/source/dash/manifest/Descriptor;>;"
.end local v5 # "j":I
:cond_2c
add-int/lit8 v2, v2, 0x1
goto :goto_3
.line 664
:cond_2f
return v1
.end method
.method private static hasEventMessageTrack(Ljava/util/List;[I)Z
.registers 10
.param p1, "adaptationSetIndices" # [I
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Lcom/google/android/exoplayer2/source/dash/manifest/AdaptationSet;",
">;[I)Z"
}
.end annotation
.line 641
.local p0, "adaptationSets":Ljava/util/List;, "Ljava/util/List<Lcom/google/android/exoplayer2/source/dash/manifest/AdaptationSet;>;"
array-length v0, p1
const/4 v1, 0x0
const/4 v2, 0x0
:goto_3
if-ge v2, v0, :cond_2c
aget v3, p1, v2
.line 642
.local v3, "i":I
invoke-interface {p0, v3}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v4
check-cast v4, Lcom/google/android/exoplayer2/source/dash/manifest/AdaptationSet;
iget-object v4, v4, Lcom/google/android/exoplayer2/source/dash/manifest/AdaptationSet;->representations:Ljava/util/List;
.line 643
.local v4, "representations":Ljava/util/List;, "Ljava/util/List<Lcom/google/android/exoplayer2/source/dash/manifest/Representation;>;"
const/4 v5, 0x0
.local v5, "j":I
:goto_10
invoke-interface {v4}, Ljava/util/List;->size()I
move-result v6
if-ge v5, v6, :cond_29
.line 644
invoke-interface {v4, v5}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v6
check-cast v6, Lcom/google/android/exoplayer2/source/dash/manifest/Representation;
.line 645
.local v6, "representation":Lcom/google/android/exoplayer2/source/dash/manifest/Representation;
iget-object v7, v6, Lcom/google/android/exoplayer2/source/dash/manifest/Representation;->inbandEventStreams:Ljava/util/List;
invoke-interface {v7}, Ljava/util/List;->isEmpty()Z
move-result v7
if-nez v7, :cond_26
.line 646
const/4 v0, 0x1
return v0
.line 643
.end local v6 # "representation":Lcom/google/android/exoplayer2/source/dash/manifest/Representation;
:cond_26
add-int/lit8 v5, v5, 0x1
goto :goto_10
.line 641
.end local v3 # "i":I
.end local v4 # "representations":Ljava/util/List;, "Ljava/util/List<Lcom/google/android/exoplayer2/source/dash/manifest/Representation;>;"
.end local v5 # "j":I
:cond_29
add-int/lit8 v2, v2, 0x1
goto :goto_3
.line 650
:cond_2c
return v1
.end method
.method private static identifyEmbeddedTracks(ILjava/util/List;[[I[Z[Z)I
.registers 9
.param p0, "primaryGroupCount" # I
.param p2, "groupedAdaptationSetIndices" # [[I
.param p3, "primaryGroupHasEventMessageTrackFlags" # [Z
.param p4, "primaryGroupHasCea608TrackFlags" # [Z
.annotation system Ldalvik/annotation/Signature;
value = {
"(I",
"Ljava/util/List<",
"Lcom/google/android/exoplayer2/source/dash/manifest/AdaptationSet;",
">;[[I[Z[Z)I"
}
.end annotation
.line 498
.local p1, "adaptationSets":Ljava/util/List;, "Ljava/util/List<Lcom/google/android/exoplayer2/source/dash/manifest/AdaptationSet;>;"
const/4 v0, 0x0
.line 499
.local v0, "numEmbeddedTrack":I
const/4 v1, 0x0
.local v1, "i":I
:goto_2
if-ge v1, p0, :cond_20
.line 500
aget-object v2, p2, v1
invoke-static {p1, v2}, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->hasEventMessageTrack(Ljava/util/List;[I)Z
move-result v2
const/4 v3, 0x1
if-eqz v2, :cond_11
.line 501
aput-boolean v3, p3, v1
.line 502
add-int/lit8 v0, v0, 0x1
.line 504
:cond_11
aget-object v2, p2, v1
invoke-static {p1, v2}, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->hasCea608Track(Ljava/util/List;[I)Z
move-result v2
if-eqz v2, :cond_1d
.line 505
aput-boolean v3, p4, v1
.line 506
add-int/lit8 v0, v0, 0x1
.line 499
:cond_1d
add-int/lit8 v1, v1, 0x1
goto :goto_2
.line 509
.end local v1 # "i":I
:cond_20
return v0
.end method
.method private static newSampleStreamArray(I)[Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;
.registers 2
.param p0, "length" # I
.annotation system Ldalvik/annotation/Signature;
value = {
"(I)[",
"Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream<",
"Lcom/google/android/exoplayer2/source/dash/DashChunkSource;",
">;"
}
.end annotation
.line 669
new-array v0, p0, [Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;
return-object v0
.end method
.method private releaseDisabledStreams([Lcom/google/android/exoplayer2/trackselection/TrackSelection;[Z[Lcom/google/android/exoplayer2/source/SampleStream;)V
.registers 6
.param p1, "selections" # [Lcom/google/android/exoplayer2/trackselection/TrackSelection;
.param p2, "mayRetainStreamFlags" # [Z
.param p3, "streams" # [Lcom/google/android/exoplayer2/source/SampleStream;
.line 306
const/4 v0, 0x0
.local v0, "i":I
:goto_1
array-length v1, p1
if-ge v0, v1, :cond_2f
.line 307
aget-object v1, p1, v0
if-eqz v1, :cond_c
aget-boolean v1, p2, v0
if-nez v1, :cond_2c
.line 308
:cond_c
aget-object v1, p3, v0
instance-of v1, v1, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;
if-eqz v1, :cond_1a
.line 310
aget-object v1, p3, v0
check-cast v1, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;
.line 312
.local v1, "stream":Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;, "Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream<Lcom/google/android/exoplayer2/source/dash/DashChunkSource;>;"
invoke-virtual {v1, p0}, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;->release(Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream$ReleaseCallback;)V
.end local v1 # "stream":Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;, "Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream<Lcom/google/android/exoplayer2/source/dash/DashChunkSource;>;"
goto :goto_28
.line 313
:cond_1a
aget-object v1, p3, v0
instance-of v1, v1, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream$EmbeddedSampleStream;
if-eqz v1, :cond_28
.line 314
aget-object v1, p3, v0
check-cast v1, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream$EmbeddedSampleStream;
invoke-virtual {v1}, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream$EmbeddedSampleStream;->release()V
goto :goto_29
.line 313
:cond_28
:goto_28
nop
.line 316
:goto_29
const/4 v1, 0x0
aput-object v1, p3, v0
.line 306
:cond_2c
add-int/lit8 v0, v0, 0x1
goto :goto_1
.line 319
.end local v0 # "i":I
:cond_2f
return-void
.end method
.method private releaseOrphanEmbeddedStreams([Lcom/google/android/exoplayer2/trackselection/TrackSelection;[Lcom/google/android/exoplayer2/source/SampleStream;[I)V
.registers 8
.param p1, "selections" # [Lcom/google/android/exoplayer2/trackselection/TrackSelection;
.param p2, "streams" # [Lcom/google/android/exoplayer2/source/SampleStream;
.param p3, "streamIndexToTrackGroupIndex" # [I
.line 323
const/4 v0, 0x0
.local v0, "i":I
:goto_1
array-length v1, p1
if-ge v0, v1, :cond_44
.line 324
aget-object v1, p2, v0
instance-of v1, v1, Lcom/google/android/exoplayer2/source/EmptySampleStream;
if-nez v1, :cond_10
aget-object v1, p2, v0
instance-of v1, v1, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream$EmbeddedSampleStream;
if-eqz v1, :cond_41
.line 326
:cond_10
invoke-direct {p0, v0, p3}, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->getPrimaryStreamIndex(I[I)I
move-result v1
.line 328
.local v1, "primaryStreamIndex":I
const/4 v2, -0x1
if-ne v1, v2, :cond_1c
.line 331
aget-object v2, p2, v0
instance-of v2, v2, Lcom/google/android/exoplayer2/source/EmptySampleStream;
.local v2, "mayRetainStream":Z
goto :goto_2f
.line 335
.end local v2 # "mayRetainStream":Z
:cond_1c
aget-object v2, p2, v0
instance-of v2, v2, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream$EmbeddedSampleStream;
if-eqz v2, :cond_2e
aget-object v2, p2, v0
check-cast v2, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream$EmbeddedSampleStream;
iget-object v2, v2, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream$EmbeddedSampleStream;->parent:Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;
aget-object v3, p2, v1
if-ne v2, v3, :cond_2e
const/4 v2, 0x1
goto :goto_2f
:cond_2e
const/4 v2, 0x0
.line 339
.restart local v2 # "mayRetainStream":Z
:goto_2f
if-nez v2, :cond_41
.line 340
aget-object v3, p2, v0
instance-of v3, v3, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream$EmbeddedSampleStream;
if-eqz v3, :cond_3e
.line 341
aget-object v3, p2, v0
check-cast v3, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream$EmbeddedSampleStream;
invoke-virtual {v3}, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream$EmbeddedSampleStream;->release()V
.line 343
:cond_3e
const/4 v3, 0x0
aput-object v3, p2, v0
.line 323
.end local v1 # "primaryStreamIndex":I
.end local v2 # "mayRetainStream":Z
:cond_41
add-int/lit8 v0, v0, 0x1
goto :goto_1
.line 347
.end local v0 # "i":I
:cond_44
return-void
.end method
.method private selectNewStreams([Lcom/google/android/exoplayer2/trackselection/TrackSelection;[Lcom/google/android/exoplayer2/source/SampleStream;[ZJ[I)V
.registers 14
.param p1, "selections" # [Lcom/google/android/exoplayer2/trackselection/TrackSelection;
.param p2, "streams" # [Lcom/google/android/exoplayer2/source/SampleStream;
.param p3, "streamResetFlags" # [Z
.param p4, "positionUs" # J
.param p6, "streamIndexToTrackGroupIndex" # [I
.line 356
const/4 v0, 0x0
.local v0, "i":I
:goto_1
array-length v1, p1
const/4 v2, 0x1
if-ge v0, v1, :cond_4a
.line 357
aget-object v1, p2, v0
if-nez v1, :cond_47
aget-object v1, p1, v0
if-eqz v1, :cond_47
.line 358
aput-boolean v2, p3, v0
.line 359
aget v1, p6, v0
.line 360
.local v1, "trackGroupIndex":I
iget-object v2, p0, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->trackGroupInfos:[Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod$TrackGroupInfo;
aget-object v2, v2, v1
.line 361
.local v2, "trackGroupInfo":Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod$TrackGroupInfo;
iget v3, v2, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod$TrackGroupInfo;->trackGroupCategory:I
if-nez v3, :cond_22
.line 362
aget-object v3, p1, v0
invoke-direct {p0, v2, v3, p4, p5}, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->buildSampleStream(Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod$TrackGroupInfo;Lcom/google/android/exoplayer2/trackselection/TrackSelection;J)Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;
move-result-object v3
aput-object v3, p2, v0
goto :goto_47
.line 363
:cond_22
iget v3, v2, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod$TrackGroupInfo;->trackGroupCategory:I
const/4 v4, 0x2
if-ne v3, v4, :cond_47
.line 364
iget-object v3, p0, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->eventStreams:Ljava/util/List;
iget v4, v2, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod$TrackGroupInfo;->eventStreamGroupIndex:I
invoke-interface {v3, v4}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v3
check-cast v3, Lcom/google/android/exoplayer2/source/dash/manifest/EventStream;
.line 365
.local v3, "eventStream":Lcom/google/android/exoplayer2/source/dash/manifest/EventStream;
aget-object v4, p1, v0
invoke-interface {v4}, Lcom/google/android/exoplayer2/trackselection/TrackSelection;->getTrackGroup()Lcom/google/android/exoplayer2/source/TrackGroup;
move-result-object v4
const/4 v5, 0x0
invoke-virtual {v4, v5}, Lcom/google/android/exoplayer2/source/TrackGroup;->getFormat(I)Lcom/google/android/exoplayer2/Format;
move-result-object v4
.line 366
.local v4, "format":Lcom/google/android/exoplayer2/Format;
new-instance v5, Lcom/google/android/exoplayer2/source/dash/EventSampleStream;
iget-object v6, p0, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->manifest:Lcom/google/android/exoplayer2/source/dash/manifest/DashManifest;
iget-boolean v6, v6, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifest;->dynamic:Z
invoke-direct {v5, v3, v4, v6}, Lcom/google/android/exoplayer2/source/dash/EventSampleStream;-><init>(Lcom/google/android/exoplayer2/source/dash/manifest/EventStream;Lcom/google/android/exoplayer2/Format;Z)V
aput-object v5, p2, v0
.line 356
.end local v1 # "trackGroupIndex":I
.end local v2 # "trackGroupInfo":Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod$TrackGroupInfo;
.end local v3 # "eventStream":Lcom/google/android/exoplayer2/source/dash/manifest/EventStream;
.end local v4 # "format":Lcom/google/android/exoplayer2/Format;
:cond_47
:goto_47
add-int/lit8 v0, v0, 0x1
goto :goto_1
.line 373
.end local v0 # "i":I
:cond_4a
const/4 v0, 0x0
.restart local v0 # "i":I
:goto_4b
array-length v1, p1
if-ge v0, v1, :cond_7e
.line 374
aget-object v1, p2, v0
if-nez v1, :cond_7b
aget-object v1, p1, v0
if-eqz v1, :cond_7b
.line 375
aget v1, p6, v0
.line 376
.restart local v1 # "trackGroupIndex":I
iget-object v3, p0, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->trackGroupInfos:[Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod$TrackGroupInfo;
aget-object v3, v3, v1
.line 377
.local v3, "trackGroupInfo":Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod$TrackGroupInfo;
iget v4, v3, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod$TrackGroupInfo;->trackGroupCategory:I
if-ne v4, v2, :cond_7b
.line 378
invoke-direct {p0, v0, p6}, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->getPrimaryStreamIndex(I[I)I
move-result v4
.line 379
.local v4, "primaryStreamIndex":I
const/4 v5, -0x1
if-ne v4, v5, :cond_6f
.line 382
new-instance v5, Lcom/google/android/exoplayer2/source/EmptySampleStream;
invoke-direct {v5}, Lcom/google/android/exoplayer2/source/EmptySampleStream;-><init>()V
aput-object v5, p2, v0
goto :goto_7b
.line 384
:cond_6f
aget-object v5, p2, v4
check-cast v5, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;
iget v6, v3, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod$TrackGroupInfo;->trackType:I
.line 386
invoke-virtual {v5, p4, p5, v6}, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;->selectEmbeddedTrack(JI)Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream$EmbeddedSampleStream;
move-result-object v5
aput-object v5, p2, v0
.line 373
.end local v1 # "trackGroupIndex":I
.end local v3 # "trackGroupInfo":Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod$TrackGroupInfo;
.end local v4 # "primaryStreamIndex":I
:cond_7b
:goto_7b
add-int/lit8 v0, v0, 0x1
goto :goto_4b
.line 391
.end local v0 # "i":I
:cond_7e
return-void
.end method
# virtual methods
.method public continueLoading(J)Z
.registers 4
.param p1, "positionUs" # J
.line 240
iget-object v0, p0, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->compositeSequenceableLoader:Lcom/google/android/exoplayer2/source/SequenceableLoader;
invoke-interface {v0, p1, p2}, Lcom/google/android/exoplayer2/source/SequenceableLoader;->continueLoading(J)Z
move-result v0
return v0
.end method
.method public discardBuffer(JZ)V
.registers 8
.param p1, "positionUs" # J
.param p3, "toKeyframe" # Z
.line 228
iget-object v0, p0, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->sampleStreams:[Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;
array-length v1, v0
const/4 v2, 0x0
:goto_4
if-ge v2, v1, :cond_e
aget-object v3, v0, v2
.line 229
.local v3, "sampleStream":Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;, "Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream<Lcom/google/android/exoplayer2/source/dash/DashChunkSource;>;"
invoke-virtual {v3, p1, p2, p3}, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;->discardBuffer(JZ)V
.line 228
.end local v3 # "sampleStream":Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;, "Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream<Lcom/google/android/exoplayer2/source/dash/DashChunkSource;>;"
add-int/lit8 v2, v2, 0x1
goto :goto_4
.line 231
:cond_e
return-void
.end method
.method public getAdjustedSeekPositionUs(JLcom/google/android/exoplayer2/SeekParameters;)J
.registers 10
.param p1, "positionUs" # J
.param p3, "seekParameters" # Lcom/google/android/exoplayer2/SeekParameters;
.line 275
iget-object v0, p0, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->sampleStreams:[Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;
array-length v1, v0
const/4 v2, 0x0
:goto_4
if-ge v2, v1, :cond_15
aget-object v3, v0, v2
.line 276
.local v3, "sampleStream":Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;, "Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream<Lcom/google/android/exoplayer2/source/dash/DashChunkSource;>;"
iget v4, v3, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;->primaryTrackType:I
const/4 v5, 0x2
if-ne v4, v5, :cond_12
.line 277
invoke-virtual {v3, p1, p2, p3}, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;->getAdjustedSeekPositionUs(JLcom/google/android/exoplayer2/SeekParameters;)J
move-result-wide v0
return-wide v0
.line 275
.end local v3 # "sampleStream":Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;, "Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream<Lcom/google/android/exoplayer2/source/dash/DashChunkSource;>;"
:cond_12
add-int/lit8 v2, v2, 0x1
goto :goto_4
.line 280
:cond_15
return-wide p1
.end method
.method public getBufferedPositionUs()J
.registers 3
.line 259
iget-object v0, p0, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->compositeSequenceableLoader:Lcom/google/android/exoplayer2/source/SequenceableLoader;
invoke-interface {v0}, Lcom/google/android/exoplayer2/source/SequenceableLoader;->getBufferedPositionUs()J
move-result-wide v0
return-wide v0
.end method
.method public getNextLoadPositionUs()J
.registers 3
.line 245
iget-object v0, p0, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->compositeSequenceableLoader:Lcom/google/android/exoplayer2/source/SequenceableLoader;
invoke-interface {v0}, Lcom/google/android/exoplayer2/source/SequenceableLoader;->getNextLoadPositionUs()J
move-result-wide v0
return-wide v0
.end method
.method public synthetic getStreamKeys(Lcom/google/android/exoplayer2/trackselection/TrackSelection;)Ljava/util/List;
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/android/exoplayer2/trackselection/TrackSelection;",
")",
"Ljava/util/List<",
"Lcom/google/android/exoplayer2/offline/StreamKey;",
">;"
}
.end annotation
invoke-static {p0, p1}, Lcom/google/android/exoplayer2/source/MediaPeriod$-CC;->$default$getStreamKeys(Lcom/google/android/exoplayer2/source/MediaPeriod;Lcom/google/android/exoplayer2/trackselection/TrackSelection;)Ljava/util/List;
move-result-object p1
return-object p1
.end method
.method public getTrackGroups()Lcom/google/android/exoplayer2/source/TrackGroupArray;
.registers 2
.line 192
iget-object v0, p0, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->trackGroups:Lcom/google/android/exoplayer2/source/TrackGroupArray;
return-object v0
.end method
.method public maybeThrowPrepareError()V
.registers 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 187
iget-object v0, p0, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->manifestLoaderErrorThrower:Lcom/google/android/exoplayer2/upstream/LoaderErrorThrower;
invoke-interface {v0}, Lcom/google/android/exoplayer2/upstream/LoaderErrorThrower;->maybeThrowError()V
.line 188
return-void
.end method
.method public bridge synthetic onContinueLoadingRequested(Lcom/google/android/exoplayer2/source/SequenceableLoader;)V
.registers 2
.line 60
check-cast p1, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;
invoke-virtual {p0, p1}, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->onContinueLoadingRequested(Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;)V
return-void
.end method
.method public onContinueLoadingRequested(Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;)V
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream<",
"Lcom/google/android/exoplayer2/source/dash/DashChunkSource;",
">;)V"
}
.end annotation
.line 287
.local p1, "sampleStream":Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;, "Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream<Lcom/google/android/exoplayer2/source/dash/DashChunkSource;>;"
iget-object v0, p0, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->callback:Lcom/google/android/exoplayer2/source/MediaPeriod$Callback;
invoke-interface {v0, p0}, Lcom/google/android/exoplayer2/source/MediaPeriod$Callback;->onContinueLoadingRequested(Lcom/google/android/exoplayer2/source/SequenceableLoader;)V
.line 288
return-void
.end method
.method public declared-synchronized onSampleStreamReleased(Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;)V
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream<",
"Lcom/google/android/exoplayer2/source/dash/DashChunkSource;",
">;)V"
}
.end annotation
.local p1, "stream":Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;, "Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream<Lcom/google/android/exoplayer2/source/dash/DashChunkSource;>;"
monitor-enter p0
.line 171
:try_start_1
iget-object v0, p0, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->trackEmsgHandlerBySampleStream:Ljava/util/IdentityHashMap;
invoke-virtual {v0, p1}, Ljava/util/IdentityHashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/google/android/exoplayer2/source/dash/PlayerEmsgHandler$PlayerTrackEmsgHandler;
.line 172
.local v0, "trackEmsgHandler":Lcom/google/android/exoplayer2/source/dash/PlayerEmsgHandler$PlayerTrackEmsgHandler;
if-eqz v0, :cond_e
.line 173
invoke-virtual {v0}, Lcom/google/android/exoplayer2/source/dash/PlayerEmsgHandler$PlayerTrackEmsgHandler;->release()V
:try_end_e
.catchall {:try_start_1 .. :try_end_e} :catchall_10
.line 175
.end local p0 # "this":Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;
:cond_e
monitor-exit p0
return-void
.line 170
.end local v0 # "trackEmsgHandler":Lcom/google/android/exoplayer2/source/dash/PlayerEmsgHandler$PlayerTrackEmsgHandler;
.end local p1 # "stream":Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;, "Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream<Lcom/google/android/exoplayer2/source/dash/DashChunkSource;>;"
:catchall_10
move-exception p1
monitor-exit p0
throw p1
.end method
.method public prepare(Lcom/google/android/exoplayer2/source/MediaPeriod$Callback;J)V
.registers 4
.param p1, "callback" # Lcom/google/android/exoplayer2/source/MediaPeriod$Callback;
.param p2, "positionUs" # J
.line 181
iput-object p1, p0, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->callback:Lcom/google/android/exoplayer2/source/MediaPeriod$Callback;
.line 182
invoke-interface {p1, p0}, Lcom/google/android/exoplayer2/source/MediaPeriod$Callback;->onPrepared(Lcom/google/android/exoplayer2/source/MediaPeriod;)V
.line 183
return-void
.end method
.method public readDiscontinuity()J
.registers 3
.line 250
iget-boolean v0, p0, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->notifiedReadingStarted:Z
if-nez v0, :cond_c
.line 251
iget-object v0, p0, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->eventDispatcher:Lcom/google/android/exoplayer2/source/MediaSourceEventListener$EventDispatcher;
invoke-virtual {v0}, Lcom/google/android/exoplayer2/source/MediaSourceEventListener$EventDispatcher;->readingStarted()V
.line 252
const/4 v0, 0x1
iput-boolean v0, p0, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->notifiedReadingStarted:Z
.line 254
:cond_c
const-wide v0, -0x7fffffffffffffffL # -4.9E-324
return-wide v0
.end method
.method public reevaluateBuffer(J)V
.registers 4
.param p1, "positionUs" # J
.line 235
iget-object v0, p0, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->compositeSequenceableLoader:Lcom/google/android/exoplayer2/source/SequenceableLoader;
invoke-interface {v0, p1, p2}, Lcom/google/android/exoplayer2/source/SequenceableLoader;->reevaluateBuffer(J)V
.line 236
return-void
.end method
.method public release()V
.registers 5
.line 159
iget-object v0, p0, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->playerEmsgHandler:Lcom/google/android/exoplayer2/source/dash/PlayerEmsgHandler;
invoke-virtual {v0}, Lcom/google/android/exoplayer2/source/dash/PlayerEmsgHandler;->release()V
.line 160
iget-object v0, p0, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->sampleStreams:[Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;
array-length v1, v0
const/4 v2, 0x0
:goto_9
if-ge v2, v1, :cond_13
aget-object v3, v0, v2
.line 161
.local v3, "sampleStream":Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;, "Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream<Lcom/google/android/exoplayer2/source/dash/DashChunkSource;>;"
invoke-virtual {v3, p0}, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;->release(Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream$ReleaseCallback;)V
.line 160
.end local v3 # "sampleStream":Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;, "Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream<Lcom/google/android/exoplayer2/source/dash/DashChunkSource;>;"
add-int/lit8 v2, v2, 0x1
goto :goto_9
.line 163
:cond_13
const/4 v0, 0x0
iput-object v0, p0, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->callback:Lcom/google/android/exoplayer2/source/MediaPeriod$Callback;
.line 164
iget-object v0, p0, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->eventDispatcher:Lcom/google/android/exoplayer2/source/MediaSourceEventListener$EventDispatcher;
invoke-virtual {v0}, Lcom/google/android/exoplayer2/source/MediaSourceEventListener$EventDispatcher;->mediaPeriodReleased()V
.line 165
return-void
.end method
.method public seekToUs(J)J
.registers 8
.param p1, "positionUs" # J
.line 264
iget-object v0, p0, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->sampleStreams:[Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;
array-length v1, v0
const/4 v2, 0x0
const/4 v3, 0x0
:goto_5
if-ge v3, v1, :cond_f
aget-object v4, v0, v3
.line 265
.local v4, "sampleStream":Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;, "Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream<Lcom/google/android/exoplayer2/source/dash/DashChunkSource;>;"
invoke-virtual {v4, p1, p2}, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;->seekToUs(J)V
.line 264
.end local v4 # "sampleStream":Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;, "Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream<Lcom/google/android/exoplayer2/source/dash/DashChunkSource;>;"
add-int/lit8 v3, v3, 0x1
goto :goto_5
.line 267
:cond_f
iget-object v0, p0, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->eventSampleStreams:[Lcom/google/android/exoplayer2/source/dash/EventSampleStream;
array-length v1, v0
:goto_12
if-ge v2, v1, :cond_1c
aget-object v3, v0, v2
.line 268
.local v3, "sampleStream":Lcom/google/android/exoplayer2/source/dash/EventSampleStream;
invoke-virtual {v3, p1, p2}, Lcom/google/android/exoplayer2/source/dash/EventSampleStream;->seekToUs(J)V
.line 267
.end local v3 # "sampleStream":Lcom/google/android/exoplayer2/source/dash/EventSampleStream;
add-int/lit8 v2, v2, 0x1
goto :goto_12
.line 270
:cond_1c
return-wide p1
.end method
.method public selectTracks([Lcom/google/android/exoplayer2/trackselection/TrackSelection;[Z[Lcom/google/android/exoplayer2/source/SampleStream;[ZJ)J
.registers 15
.param p1, "selections" # [Lcom/google/android/exoplayer2/trackselection/TrackSelection;
.param p2, "mayRetainStreamFlags" # [Z
.param p3, "streams" # [Lcom/google/android/exoplayer2/source/SampleStream;
.param p4, "streamResetFlags" # [Z
.param p5, "positionUs" # J
.line 198
invoke-direct {p0, p1}, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->getStreamIndexToTrackGroupIndex([Lcom/google/android/exoplayer2/trackselection/TrackSelection;)[I
move-result-object v7
.line 199
.local v7, "streamIndexToTrackGroupIndex":[I
invoke-direct {p0, p1, p2, p3}, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->releaseDisabledStreams([Lcom/google/android/exoplayer2/trackselection/TrackSelection;[Z[Lcom/google/android/exoplayer2/source/SampleStream;)V
.line 200
invoke-direct {p0, p1, p3, v7}, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->releaseOrphanEmbeddedStreams([Lcom/google/android/exoplayer2/trackselection/TrackSelection;[Lcom/google/android/exoplayer2/source/SampleStream;[I)V
.line 201
move-object v0, p0
move-object v1, p1
move-object v2, p3
move-object v3, p4
move-wide v4, p5
move-object v6, v7
invoke-direct/range {v0 .. v6}, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->selectNewStreams([Lcom/google/android/exoplayer2/trackselection/TrackSelection;[Lcom/google/android/exoplayer2/source/SampleStream;[ZJ[I)V
.line 204
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
.line 205
.local v0, "sampleStreamList":Ljava/util/ArrayList;, "Ljava/util/ArrayList<Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream<Lcom/google/android/exoplayer2/source/dash/DashChunkSource;>;>;"
new-instance v1, Ljava/util/ArrayList;
invoke-direct {v1}, Ljava/util/ArrayList;-><init>()V
.line 206
.local v1, "eventSampleStreamList":Ljava/util/ArrayList;, "Ljava/util/ArrayList<Lcom/google/android/exoplayer2/source/dash/EventSampleStream;>;"
array-length v2, p3
const/4 v3, 0x0
:goto_1f
if-ge v3, v2, :cond_3d
aget-object v4, p3, v3
.line 207
.local v4, "sampleStream":Lcom/google/android/exoplayer2/source/SampleStream;
instance-of v5, v4, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;
if-eqz v5, :cond_2e
.line 209
move-object v5, v4
check-cast v5, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;
.line 211
.local v5, "stream":Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;, "Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream<Lcom/google/android/exoplayer2/source/dash/DashChunkSource;>;"
invoke-virtual {v0, v5}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.end local v5 # "stream":Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;, "Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream<Lcom/google/android/exoplayer2/source/dash/DashChunkSource;>;"
goto :goto_39
.line 212
:cond_2e
instance-of v5, v4, Lcom/google/android/exoplayer2/source/dash/EventSampleStream;
if-eqz v5, :cond_39
.line 213
move-object v5, v4
check-cast v5, Lcom/google/android/exoplayer2/source/dash/EventSampleStream;
invoke-virtual {v1, v5}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
goto :goto_3a
.line 212
:cond_39
:goto_39
nop
.line 206
.end local v4 # "sampleStream":Lcom/google/android/exoplayer2/source/SampleStream;
:goto_3a
add-int/lit8 v3, v3, 0x1
goto :goto_1f
.line 216
:cond_3d
invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
move-result v2
invoke-static {v2}, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->newSampleStreamArray(I)[Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;
move-result-object v2
iput-object v2, p0, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->sampleStreams:[Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;
.line 217
invoke-virtual {v0, v2}, Ljava/util/ArrayList;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
.line 218
invoke-virtual {v1}, Ljava/util/ArrayList;->size()I
move-result v2
new-array v2, v2, [Lcom/google/android/exoplayer2/source/dash/EventSampleStream;
iput-object v2, p0, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->eventSampleStreams:[Lcom/google/android/exoplayer2/source/dash/EventSampleStream;
.line 219
invoke-virtual {v1, v2}, Ljava/util/ArrayList;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
.line 221
iget-object v2, p0, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->compositeSequenceableLoaderFactory:Lcom/google/android/exoplayer2/source/CompositeSequenceableLoaderFactory;
iget-object v3, p0, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->sampleStreams:[Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;
.line 222
invoke-interface {v2, v3}, Lcom/google/android/exoplayer2/source/CompositeSequenceableLoaderFactory;->createCompositeSequenceableLoader([Lcom/google/android/exoplayer2/source/SequenceableLoader;)Lcom/google/android/exoplayer2/source/SequenceableLoader;
move-result-object v2
iput-object v2, p0, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->compositeSequenceableLoader:Lcom/google/android/exoplayer2/source/SequenceableLoader;
.line 223
return-wide p5
.end method
.method public updateManifest(Lcom/google/android/exoplayer2/source/dash/manifest/DashManifest;I)V
.registers 12
.param p1, "manifest" # Lcom/google/android/exoplayer2/source/dash/manifest/DashManifest;
.param p2, "periodIndex" # I
.line 135
iput-object p1, p0, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->manifest:Lcom/google/android/exoplayer2/source/dash/manifest/DashManifest;
.line 136
iput p2, p0, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->periodIndex:I
.line 137
iget-object v0, p0, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->playerEmsgHandler:Lcom/google/android/exoplayer2/source/dash/PlayerEmsgHandler;
invoke-virtual {v0, p1}, Lcom/google/android/exoplayer2/source/dash/PlayerEmsgHandler;->updateManifest(Lcom/google/android/exoplayer2/source/dash/manifest/DashManifest;)V
.line 138
iget-object v0, p0, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->sampleStreams:[Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;
const/4 v1, 0x0
if-eqz v0, :cond_25
.line 139
array-length v2, v0
const/4 v3, 0x0
:goto_10
if-ge v3, v2, :cond_20
aget-object v4, v0, v3
.line 140
.local v4, "sampleStream":Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;, "Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream<Lcom/google/android/exoplayer2/source/dash/DashChunkSource;>;"
invoke-virtual {v4}, Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;->getChunkSource()Lcom/google/android/exoplayer2/source/chunk/ChunkSource;
move-result-object v5
check-cast v5, Lcom/google/android/exoplayer2/source/dash/DashChunkSource;
invoke-interface {v5, p1, p2}, Lcom/google/android/exoplayer2/source/dash/DashChunkSource;->updateManifest(Lcom/google/android/exoplayer2/source/dash/manifest/DashManifest;I)V
.line 139
.end local v4 # "sampleStream":Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream;, "Lcom/google/android/exoplayer2/source/chunk/ChunkSampleStream<Lcom/google/android/exoplayer2/source/dash/DashChunkSource;>;"
add-int/lit8 v3, v3, 0x1
goto :goto_10
.line 142
:cond_20
iget-object v0, p0, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->callback:Lcom/google/android/exoplayer2/source/MediaPeriod$Callback;
invoke-interface {v0, p0}, Lcom/google/android/exoplayer2/source/MediaPeriod$Callback;->onContinueLoadingRequested(Lcom/google/android/exoplayer2/source/SequenceableLoader;)V
.line 144
:cond_25
invoke-virtual {p1, p2}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifest;->getPeriod(I)Lcom/google/android/exoplayer2/source/dash/manifest/Period;
move-result-object v0
iget-object v0, v0, Lcom/google/android/exoplayer2/source/dash/manifest/Period;->eventStreams:Ljava/util/List;
iput-object v0, p0, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->eventStreams:Ljava/util/List;
.line 145
iget-object v0, p0, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->eventSampleStreams:[Lcom/google/android/exoplayer2/source/dash/EventSampleStream;
array-length v2, v0
const/4 v3, 0x0
:goto_31
if-ge v3, v2, :cond_6b
aget-object v4, v0, v3
.line 146
.local v4, "eventSampleStream":Lcom/google/android/exoplayer2/source/dash/EventSampleStream;
iget-object v5, p0, Lcom/google/android/exoplayer2/source/dash/DashMediaPeriod;->eventStreams:Ljava/util/List;
invoke-interface {v5}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v5
:goto_3b
invoke-interface {v5}, Ljava/util/Iterator;->hasNext()Z
move-result v6
if-eqz v6, :cond_68
invoke-interface {v5}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v6
check-cast v6, Lcom/google/android/exoplayer2/source/dash/manifest/EventStream;
.line 147
.local v6, "eventStream":Lcom/google/android/exoplayer2/source/dash/manifest/EventStream;
invoke-virtual {v6}, Lcom/google/android/exoplayer2/source/dash/manifest/EventStream;->id()Ljava/lang/String;
move-result-object v7
invoke-virtual {v4}, Lcom/google/android/exoplayer2/source/dash/EventSampleStream;->eventStreamId()Ljava/lang/String;
move-result-object v8
invoke-virtual {v7, v8}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v7
if-eqz v7, :cond_67
.line 148
invoke-virtual {p1}, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifest;->getPeriodCount()I
move-result v5
const/4 v7, 0x1
sub-int/2addr v5, v7
.line 149
.local v5, "lastPeriodIndex":I
iget-boolean v8, p1, Lcom/google/android/exoplayer2/source/dash/manifest/DashManifest;->dynamic:Z
if-eqz v8, :cond_62
if-ne p2, v5, :cond_62
goto :goto_63
:cond_62
const/4 v7, 0x0
:goto_63
invoke-virtual {v4, v6, v7}, Lcom/google/android/exoplayer2/source/dash/EventSampleStream;->updateEventStream(Lcom/google/android/exoplayer2/source/dash/manifest/EventStream;Z)V
.line 152
goto :goto_68
.line 154
.end local v5 # "lastPeriodIndex":I
.end local v6 # "eventStream":Lcom/google/android/exoplayer2/source/dash/manifest/EventStream;
:cond_67
goto :goto_3b
.line 145
.end local v4 # "eventSampleStream":Lcom/google/android/exoplayer2/source/dash/EventSampleStream;
:cond_68
:goto_68
add-int/lit8 v3, v3, 0x1
goto :goto_31
.line 156
:cond_6b
return-void
.end method