SsManifest.smali
.class public Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;
.super Ljava/lang/Object;
.source "SsManifest.java"
# interfaces
.implements Lcom/google/android/exoplayer2/offline/FilterableManifest;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest$StreamElement;,
Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest$ProtectionElement;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Lcom/google/android/exoplayer2/offline/FilterableManifest<",
"Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;",
">;"
}
.end annotation
# static fields
.field public static final UNSET_LOOKAHEAD:I
# instance fields
.field public final durationUs:J
.field public final dvrWindowLengthUs:J
.field public final isLive:Z
.field public final lookAheadCount:I
.field public final majorVersion:I
.field public final minorVersion:I
.field public final protectionElement:Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest$ProtectionElement;
.field public final streamElements:[Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest$StreamElement;
# direct methods
.method static constructor <clinit>()V
.registers 1
const v0, -0x1570
invoke-static {v0}, Lnp/NPFog;->d(I)I
move-result v0
sput v0, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;->UNSET_LOOKAHEAD:I
return-void
.end method
.method private constructor <init>(IIJJIZLcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest$ProtectionElement;[Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest$StreamElement;)V
.registers 11
.param p1, "majorVersion" # I
.param p2, "minorVersion" # I
.param p3, "durationUs" # J
.param p5, "dvrWindowLengthUs" # J
.param p7, "lookAheadCount" # I
.param p8, "isLive" # Z
.param p9, "protectionElement" # Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest$ProtectionElement;
.param p10, "streamElements" # [Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest$StreamElement;
.line 277
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 278
iput p1, p0, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;->majorVersion:I
.line 279
iput p2, p0, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;->minorVersion:I
.line 280
iput-wide p3, p0, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;->durationUs:J
.line 281
iput-wide p5, p0, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;->dvrWindowLengthUs:J
.line 282
iput p7, p0, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;->lookAheadCount:I
.line 283
iput-boolean p8, p0, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;->isLive:Z
.line 284
iput-object p9, p0, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;->protectionElement:Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest$ProtectionElement;
.line 285
iput-object p10, p0, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;->streamElements:[Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest$StreamElement;
.line 286
return-void
.end method
.method public constructor <init>(IIJJJIZLcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest$ProtectionElement;[Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest$StreamElement;)V
.registers 30
.param p1, "majorVersion" # I
.param p2, "minorVersion" # I
.param p3, "timescale" # J
.param p5, "duration" # J
.param p7, "dvrWindowLength" # J
.param p9, "lookAheadCount" # I
.param p10, "isLive" # Z
.param p11, "protectionElement" # Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest$ProtectionElement;
.param p12, "streamElements" # [Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest$StreamElement;
.line 254
const-wide v0, -0x7fffffffffffffffL # -4.9E-324
const-wide/16 v2, 0x0
cmp-long v4, p5, v2
if-nez v4, :cond_d
move-wide v9, v0
goto :goto_19
:cond_d
const-wide/32 v6, 0xf4240
.line 259
move-wide/from16 v4, p5
move-wide/from16 v8, p3
invoke-static/range {v4 .. v9}, Lcom/google/android/exoplayer2/util/Util;->scaleLargeTimestamp(JJJ)J
move-result-wide v4
move-wide v9, v4
:goto_19
cmp-long v4, p7, v2
if-nez v4, :cond_1f
move-wide v11, v0
goto :goto_2b
:cond_1f
const-wide/32 v13, 0xf4240
.line 262
move-wide/from16 v11, p7
move-wide/from16 v15, p3
invoke-static/range {v11 .. v16}, Lcom/google/android/exoplayer2/util/Util;->scaleLargeTimestamp(JJJ)J
move-result-wide v0
move-wide v11, v0
.line 254
:goto_2b
move-object/from16 v6, p0
move/from16 v7, p1
move/from16 v8, p2
move/from16 v13, p9
move/from16 v14, p10
move-object/from16 v15, p11
move-object/from16 v16, p12
invoke-direct/range {v6 .. v16}, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;-><init>(IIJJIZLcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest$ProtectionElement;[Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest$StreamElement;)V
.line 267
return-void
.end method
# virtual methods
.method public final copy(Ljava/util/List;)Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;
.registers 21
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Lcom/google/android/exoplayer2/offline/StreamKey;",
">;)",
"Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;"
}
.end annotation
.line 290
.local p1, "streamKeys":Ljava/util/List;, "Ljava/util/List<Lcom/google/android/exoplayer2/offline/StreamKey;>;"
move-object/from16 v0, p0
new-instance v1, Ljava/util/ArrayList;
move-object/from16 v2, p1
invoke-direct {v1, v2}, Ljava/util/ArrayList;-><init>(Ljava/util/Collection;)V
.line 291
.local v1, "sortedKeys":Ljava/util/ArrayList;, "Ljava/util/ArrayList<Lcom/google/android/exoplayer2/offline/StreamKey;>;"
invoke-static {v1}, Ljava/util/Collections;->sort(Ljava/util/List;)V
.line 293
const/4 v3, 0x0
.line 294
.local v3, "currentStreamElement":Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest$StreamElement;
new-instance v4, Ljava/util/ArrayList;
invoke-direct {v4}, Ljava/util/ArrayList;-><init>()V
.line 295
.local v4, "copiedStreamElements":Ljava/util/List;, "Ljava/util/List<Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest$StreamElement;>;"
new-instance v5, Ljava/util/ArrayList;
invoke-direct {v5}, Ljava/util/ArrayList;-><init>()V
.line 296
.local v5, "copiedFormats":Ljava/util/List;, "Ljava/util/List<Lcom/google/android/exoplayer2/Format;>;"
const/4 v6, 0x0
.local v6, "i":I
:goto_18
invoke-virtual {v1}, Ljava/util/ArrayList;->size()I
move-result v7
const/4 v8, 0x0
if-ge v6, v7, :cond_4e
.line 297
invoke-virtual {v1, v6}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object v7
check-cast v7, Lcom/google/android/exoplayer2/offline/StreamKey;
.line 298
.local v7, "key":Lcom/google/android/exoplayer2/offline/StreamKey;
iget-object v9, v0, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;->streamElements:[Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest$StreamElement;
iget v10, v7, Lcom/google/android/exoplayer2/offline/StreamKey;->groupIndex:I
aget-object v9, v9, v10
.line 299
.local v9, "streamElement":Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest$StreamElement;
if-eq v9, v3, :cond_41
if-eqz v3, :cond_41
.line 301
new-array v8, v8, [Lcom/google/android/exoplayer2/Format;
invoke-interface {v5, v8}, Ljava/util/List;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
move-result-object v8
check-cast v8, [Lcom/google/android/exoplayer2/Format;
invoke-virtual {v3, v8}, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest$StreamElement;->copy([Lcom/google/android/exoplayer2/Format;)Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest$StreamElement;
move-result-object v8
invoke-interface {v4, v8}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 302
invoke-interface {v5}, Ljava/util/List;->clear()V
.line 304
:cond_41
move-object v3, v9
.line 305
iget-object v8, v9, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest$StreamElement;->formats:[Lcom/google/android/exoplayer2/Format;
iget v10, v7, Lcom/google/android/exoplayer2/offline/StreamKey;->trackIndex:I
aget-object v8, v8, v10
invoke-interface {v5, v8}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 296
.end local v7 # "key":Lcom/google/android/exoplayer2/offline/StreamKey;
.end local v9 # "streamElement":Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest$StreamElement;
add-int/lit8 v6, v6, 0x1
goto :goto_18
.line 307
.end local v6 # "i":I
:cond_4e
if-eqz v3, :cond_5f
.line 309
new-array v6, v8, [Lcom/google/android/exoplayer2/Format;
invoke-interface {v5, v6}, Ljava/util/List;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
move-result-object v6
check-cast v6, [Lcom/google/android/exoplayer2/Format;
invoke-virtual {v3, v6}, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest$StreamElement;->copy([Lcom/google/android/exoplayer2/Format;)Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest$StreamElement;
move-result-object v6
invoke-interface {v4, v6}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 312
:cond_5f
new-array v6, v8, [Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest$StreamElement;
invoke-interface {v4, v6}, Ljava/util/List;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
move-result-object v6
check-cast v6, [Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest$StreamElement;
.line 313
.local v6, "copiedStreamElementsArray":[Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest$StreamElement;
new-instance v18, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;
iget v8, v0, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;->majorVersion:I
iget v9, v0, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;->minorVersion:I
iget-wide v10, v0, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;->durationUs:J
iget-wide v12, v0, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;->dvrWindowLengthUs:J
iget v14, v0, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;->lookAheadCount:I
iget-boolean v15, v0, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;->isLive:Z
iget-object v7, v0, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;->protectionElement:Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest$ProtectionElement;
move-object/from16 v16, v7
move-object/from16 v7, v18
move-object/from16 v17, v6
invoke-direct/range {v7 .. v17}, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;-><init>(IIJJIZLcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest$ProtectionElement;[Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest$StreamElement;)V
return-object v18
.end method
.method public bridge synthetic copy(Ljava/util/List;)Ljava/lang/Object;
.registers 2
.line 38
invoke-virtual {p0, p1}, Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;->copy(Ljava/util/List;)Lcom/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest;
move-result-object p1
return-object p1
.end method