SegmentBase$SegmentTemplate.smali
.class public Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentTemplate;
.super Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$MultiSegmentBase;
.source "SegmentBase.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "SegmentTemplate"
.end annotation
# instance fields
.field final initializationTemplate:Lcom/google/android/exoplayer2/source/dash/manifest/UrlTemplate;
.field final mediaTemplate:Lcom/google/android/exoplayer2/source/dash/manifest/UrlTemplate;
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method public constructor <init>(Lcom/google/android/exoplayer2/source/dash/manifest/RangedUri;JJJJLjava/util/List;Lcom/google/android/exoplayer2/source/dash/manifest/UrlTemplate;Lcom/google/android/exoplayer2/source/dash/manifest/UrlTemplate;)V
.registers 13
.param p1, "initialization" # Lcom/google/android/exoplayer2/source/dash/manifest/RangedUri;
.param p2, "timescale" # J
.param p4, "presentationTimeOffset" # J
.param p6, "startNumber" # J
.param p8, "duration" # J
.param p11, "initializationTemplate" # Lcom/google/android/exoplayer2/source/dash/manifest/UrlTemplate;
.param p12, "mediaTemplate" # Lcom/google/android/exoplayer2/source/dash/manifest/UrlTemplate;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/android/exoplayer2/source/dash/manifest/RangedUri;",
"JJJJ",
"Ljava/util/List<",
"Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentTimelineElement;",
">;",
"Lcom/google/android/exoplayer2/source/dash/manifest/UrlTemplate;",
"Lcom/google/android/exoplayer2/source/dash/manifest/UrlTemplate;",
")V"
}
.end annotation
.line 309
.local p10, "segmentTimeline":Ljava/util/List;, "Ljava/util/List<Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentTimelineElement;>;"
invoke-direct/range {p0 .. p10}, Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$MultiSegmentBase;-><init>(Lcom/google/android/exoplayer2/source/dash/manifest/RangedUri;JJJJLjava/util/List;)V
.line 311
iput-object p11, p0, Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentTemplate;->initializationTemplate:Lcom/google/android/exoplayer2/source/dash/manifest/UrlTemplate;
.line 312
iput-object p12, p0, Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentTemplate;->mediaTemplate:Lcom/google/android/exoplayer2/source/dash/manifest/UrlTemplate;
.line 313
return-void
.end method
# virtual methods
.method public getInitialization(Lcom/google/android/exoplayer2/source/dash/manifest/Representation;)Lcom/google/android/exoplayer2/source/dash/manifest/RangedUri;
.registers 15
.param p1, "representation" # Lcom/google/android/exoplayer2/source/dash/manifest/Representation;
.line 317
iget-object v0, p0, Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentTemplate;->initializationTemplate:Lcom/google/android/exoplayer2/source/dash/manifest/UrlTemplate;
if-eqz v0, :cond_20
.line 318
iget-object v1, p1, Lcom/google/android/exoplayer2/source/dash/manifest/Representation;->format:Lcom/google/android/exoplayer2/Format;
iget-object v1, v1, Lcom/google/android/exoplayer2/Format;->id:Ljava/lang/String;
const-wide/16 v2, 0x0
iget-object v4, p1, Lcom/google/android/exoplayer2/source/dash/manifest/Representation;->format:Lcom/google/android/exoplayer2/Format;
iget v4, v4, Lcom/google/android/exoplayer2/Format;->bitrate:I
const-wide/16 v5, 0x0
invoke-virtual/range {v0 .. v6}, Lcom/google/android/exoplayer2/source/dash/manifest/UrlTemplate;->buildUri(Ljava/lang/String;JIJ)Ljava/lang/String;
move-result-object v0
.line 320
.local v0, "urlString":Ljava/lang/String;
new-instance v1, Lcom/google/android/exoplayer2/source/dash/manifest/RangedUri;
const-wide/16 v9, 0x0
const-wide/16 v11, -0x1
move-object v7, v1
move-object v8, v0
invoke-direct/range {v7 .. v12}, Lcom/google/android/exoplayer2/source/dash/manifest/RangedUri;-><init>(Ljava/lang/String;JJ)V
return-object v1
.line 322
.end local v0 # "urlString":Ljava/lang/String;
:cond_20
invoke-super {p0, p1}, Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$MultiSegmentBase;->getInitialization(Lcom/google/android/exoplayer2/source/dash/manifest/Representation;)Lcom/google/android/exoplayer2/source/dash/manifest/RangedUri;
move-result-object v0
return-object v0
.end method
.method public getSegmentCount(J)I
.registers 7
.param p1, "periodDurationUs" # J
.line 341
iget-object v0, p0, Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentTemplate;->segmentTimeline:Ljava/util/List;
if-eqz v0, :cond_b
.line 342
iget-object v0, p0, Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentTemplate;->segmentTimeline:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v0
return v0
.line 343
:cond_b
const-wide v0, -0x7fffffffffffffffL # -4.9E-324
cmp-long v2, p1, v0
if-eqz v2, :cond_24
.line 344
iget-wide v0, p0, Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentTemplate;->duration:J
const-wide/32 v2, 0xf4240
mul-long v0, v0, v2
iget-wide v2, p0, Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentTemplate;->timescale:J
div-long/2addr v0, v2
.line 345
.local v0, "durationUs":J
invoke-static {p1, p2, v0, v1}, Lcom/google/android/exoplayer2/util/Util;->ceilDivide(JJ)J
move-result-wide v2
long-to-int v3, v2
return v3
.line 347
.end local v0 # "durationUs":J
:cond_24
const/4 v0, -0x1
return v0
.end method
.method public getSegmentUrl(Lcom/google/android/exoplayer2/source/dash/manifest/Representation;J)Lcom/google/android/exoplayer2/source/dash/manifest/RangedUri;
.registers 21
.param p1, "representation" # Lcom/google/android/exoplayer2/source/dash/manifest/Representation;
.param p2, "sequenceNumber" # J
.line 329
move-object/from16 v0, p0
move-object/from16 v1, p1
iget-object v2, v0, Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentTemplate;->segmentTimeline:Ljava/util/List;
if-eqz v2, :cond_19
.line 330
iget-object v2, v0, Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentTemplate;->segmentTimeline:Ljava/util/List;
iget-wide v3, v0, Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentTemplate;->startNumber:J
sub-long v3, p2, v3
long-to-int v4, v3
invoke-interface {v2, v4}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentTimelineElement;
iget-wide v2, v2, Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentTimelineElement;->startTime:J
move-wide v9, v2
.local v2, "time":J
goto :goto_22
.line 332
.end local v2 # "time":J
:cond_19
iget-wide v2, v0, Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentTemplate;->startNumber:J
sub-long v2, p2, v2
iget-wide v4, v0, Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentTemplate;->duration:J
mul-long v2, v2, v4
move-wide v9, v2
.line 334
.local v9, "time":J
:goto_22
iget-object v2, v0, Lcom/google/android/exoplayer2/source/dash/manifest/SegmentBase$SegmentTemplate;->mediaTemplate:Lcom/google/android/exoplayer2/source/dash/manifest/UrlTemplate;
iget-object v3, v1, Lcom/google/android/exoplayer2/source/dash/manifest/Representation;->format:Lcom/google/android/exoplayer2/Format;
iget-object v3, v3, Lcom/google/android/exoplayer2/Format;->id:Ljava/lang/String;
iget-object v4, v1, Lcom/google/android/exoplayer2/source/dash/manifest/Representation;->format:Lcom/google/android/exoplayer2/Format;
iget v6, v4, Lcom/google/android/exoplayer2/Format;->bitrate:I
move-wide/from16 v4, p2
move-wide v7, v9
invoke-virtual/range {v2 .. v8}, Lcom/google/android/exoplayer2/source/dash/manifest/UrlTemplate;->buildUri(Ljava/lang/String;JIJ)Ljava/lang/String;
move-result-object v2
.line 336
.local v2, "uriString":Ljava/lang/String;
new-instance v3, Lcom/google/android/exoplayer2/source/dash/manifest/RangedUri;
const-wide/16 v13, 0x0
const-wide/16 v15, -0x1
move-object v11, v3
move-object v12, v2
invoke-direct/range {v11 .. v16}, Lcom/google/android/exoplayer2/source/dash/manifest/RangedUri;-><init>(Ljava/lang/String;JJ)V
return-object v3
.end method