ClippingMediaSource.smali
.class public final Lcom/google/android/exoplayer2/source/ClippingMediaSource;
.super Lcom/google/android/exoplayer2/source/n;
.source "ClippingMediaSource.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/android/exoplayer2/source/ClippingMediaSource$a;,
Lcom/google/android/exoplayer2/source/ClippingMediaSource$IllegalClippingException;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/android/exoplayer2/source/n<",
"Ljava/lang/Void;",
">;"
}
.end annotation
# instance fields
.field private final j:Lcom/google/android/exoplayer2/source/B;
.field private final k:J
.field private final l:J
.field private final m:Z
.field private final n:Z
.field private final o:Z
.field private final p:Ljava/util/ArrayList;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/ArrayList<",
"Lcom/google/android/exoplayer2/source/m;",
">;"
}
.end annotation
.end field
.field private final q:Lcom/google/android/exoplayer2/xa$b;
.field private r:Lcom/google/android/exoplayer2/source/ClippingMediaSource$a;
.field private s:Lcom/google/android/exoplayer2/source/ClippingMediaSource$IllegalClippingException;
.field private t:J
.field private u:J
# direct methods
.method public constructor <init>(Lcom/google/android/exoplayer2/source/B;JJZZZ)V
.registers 12
.line 1
invoke-direct {p0}, Lcom/google/android/exoplayer2/source/n;-><init>()V
const-wide/16 v0, 0x0
cmp-long v2, p2, v0
if-ltz v2, :cond_b
const/4 v0, 0x1
goto :goto_c
:cond_b
const/4 v0, 0x0
.line 2
:goto_c
invoke-static {v0}, Lcom/google/android/exoplayer2/util/d;->a(Z)V
.line 3
invoke-static {p1}, Lcom/google/android/exoplayer2/util/d;->a(Ljava/lang/Object;)Ljava/lang/Object;
check-cast p1, Lcom/google/android/exoplayer2/source/B;
iput-object p1, p0, Lcom/google/android/exoplayer2/source/ClippingMediaSource;->j:Lcom/google/android/exoplayer2/source/B;
.line 4
iput-wide p2, p0, Lcom/google/android/exoplayer2/source/ClippingMediaSource;->k:J
.line 5
iput-wide p4, p0, Lcom/google/android/exoplayer2/source/ClippingMediaSource;->l:J
.line 6
iput-boolean p6, p0, Lcom/google/android/exoplayer2/source/ClippingMediaSource;->m:Z
.line 7
iput-boolean p7, p0, Lcom/google/android/exoplayer2/source/ClippingMediaSource;->n:Z
.line 8
iput-boolean p8, p0, Lcom/google/android/exoplayer2/source/ClippingMediaSource;->o:Z
.line 9
new-instance p1, Ljava/util/ArrayList;
invoke-direct {p1}, Ljava/util/ArrayList;-><init>()V
iput-object p1, p0, Lcom/google/android/exoplayer2/source/ClippingMediaSource;->p:Ljava/util/ArrayList;
.line 10
new-instance p1, Lcom/google/android/exoplayer2/xa$b;
invoke-direct {p1}, Lcom/google/android/exoplayer2/xa$b;-><init>()V
iput-object p1, p0, Lcom/google/android/exoplayer2/source/ClippingMediaSource;->q:Lcom/google/android/exoplayer2/xa$b;
return-void
.end method
.method private b(Lcom/google/android/exoplayer2/xa;)V
.registers 17
move-object v1, p0
.line 5
iget-object v0, v1, Lcom/google/android/exoplayer2/source/ClippingMediaSource;->q:Lcom/google/android/exoplayer2/xa$b;
const/4 v2, 0x0
move-object/from16 v4, p1
invoke-virtual {v4, v2, v0}, Lcom/google/android/exoplayer2/xa;->a(ILcom/google/android/exoplayer2/xa$b;)Lcom/google/android/exoplayer2/xa$b;
.line 6
iget-object v0, v1, Lcom/google/android/exoplayer2/source/ClippingMediaSource;->q:Lcom/google/android/exoplayer2/xa$b;
invoke-virtual {v0}, Lcom/google/android/exoplayer2/xa$b;->d()J
move-result-wide v5
.line 7
iget-object v0, v1, Lcom/google/android/exoplayer2/source/ClippingMediaSource;->r:Lcom/google/android/exoplayer2/source/ClippingMediaSource$a;
const-wide/high16 v7, -0x8000000000000000L
if-eqz v0, :cond_31
iget-object v0, v1, Lcom/google/android/exoplayer2/source/ClippingMediaSource;->p:Ljava/util/ArrayList;
invoke-virtual {v0}, Ljava/util/ArrayList;->isEmpty()Z
move-result v0
if-nez v0, :cond_31
iget-boolean v0, v1, Lcom/google/android/exoplayer2/source/ClippingMediaSource;->n:Z
if-eqz v0, :cond_22
goto :goto_31
.line 8
:cond_22
iget-wide v2, v1, Lcom/google/android/exoplayer2/source/ClippingMediaSource;->t:J
sub-long/2addr v2, v5
.line 9
iget-wide v9, v1, Lcom/google/android/exoplayer2/source/ClippingMediaSource;->l:J
cmp-long v0, v9, v7
if-nez v0, :cond_2c
goto :goto_2f
.line 10
:cond_2c
iget-wide v7, v1, Lcom/google/android/exoplayer2/source/ClippingMediaSource;->u:J
sub-long/2addr v7, v5
:goto_2f
move-wide v5, v2
goto :goto_6c
.line 11
:cond_31
:goto_31
iget-wide v9, v1, Lcom/google/android/exoplayer2/source/ClippingMediaSource;->k:J
.line 12
iget-wide v11, v1, Lcom/google/android/exoplayer2/source/ClippingMediaSource;->l:J
.line 13
iget-boolean v0, v1, Lcom/google/android/exoplayer2/source/ClippingMediaSource;->o:Z
if-eqz v0, :cond_41
.line 14
iget-object v0, v1, Lcom/google/android/exoplayer2/source/ClippingMediaSource;->q:Lcom/google/android/exoplayer2/xa$b;
invoke-virtual {v0}, Lcom/google/android/exoplayer2/xa$b;->b()J
move-result-wide v13
add-long/2addr v9, v13
add-long/2addr v11, v13
:cond_41
add-long v13, v5, v9
.line 15
iput-wide v13, v1, Lcom/google/android/exoplayer2/source/ClippingMediaSource;->t:J
.line 16
iget-wide v13, v1, Lcom/google/android/exoplayer2/source/ClippingMediaSource;->l:J
cmp-long v0, v13, v7
if-nez v0, :cond_4c
goto :goto_4e
:cond_4c
add-long v7, v5, v11
.line 17
:goto_4e
iput-wide v7, v1, Lcom/google/android/exoplayer2/source/ClippingMediaSource;->u:J
.line 18
iget-object v0, v1, Lcom/google/android/exoplayer2/source/ClippingMediaSource;->p:Ljava/util/ArrayList;
invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
move-result v0
:goto_56
if-ge v2, v0, :cond_6a
.line 19
iget-object v3, v1, Lcom/google/android/exoplayer2/source/ClippingMediaSource;->p:Ljava/util/ArrayList;
invoke-virtual {v3, v2}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object v3
check-cast v3, Lcom/google/android/exoplayer2/source/m;
iget-wide v5, v1, Lcom/google/android/exoplayer2/source/ClippingMediaSource;->t:J
iget-wide v7, v1, Lcom/google/android/exoplayer2/source/ClippingMediaSource;->u:J
invoke-virtual {v3, v5, v6, v7, v8}, Lcom/google/android/exoplayer2/source/m;->a(JJ)V
add-int/lit8 v2, v2, 0x1
goto :goto_56
:cond_6a
move-wide v5, v9
move-wide v7, v11
.line 20
:goto_6c
:try_start_6c
new-instance v0, Lcom/google/android/exoplayer2/source/ClippingMediaSource$a;
move-object v3, v0
move-object/from16 v4, p1
invoke-direct/range {v3 .. v8}, Lcom/google/android/exoplayer2/source/ClippingMediaSource$a;-><init>(Lcom/google/android/exoplayer2/xa;JJ)V
iput-object v0, v1, Lcom/google/android/exoplayer2/source/ClippingMediaSource;->r:Lcom/google/android/exoplayer2/source/ClippingMediaSource$a;
:try_end_76
.catch Lcom/google/android/exoplayer2/source/ClippingMediaSource$IllegalClippingException; {:try_start_6c .. :try_end_76} :catch_7c
.line 21
iget-object v0, v1, Lcom/google/android/exoplayer2/source/ClippingMediaSource;->r:Lcom/google/android/exoplayer2/source/ClippingMediaSource$a;
invoke-virtual {p0, v0}, Lcom/google/android/exoplayer2/source/k;->a(Lcom/google/android/exoplayer2/xa;)V
return-void
:catch_7c
move-exception v0
.line 22
iput-object v0, v1, Lcom/google/android/exoplayer2/source/ClippingMediaSource;->s:Lcom/google/android/exoplayer2/source/ClippingMediaSource$IllegalClippingException;
return-void
.end method
# virtual methods
.method protected bridge synthetic a(Ljava/lang/Object;J)J
.registers 4
.line 1
check-cast p1, Ljava/lang/Void;
invoke-virtual {p0, p1, p2, p3}, Lcom/google/android/exoplayer2/source/ClippingMediaSource;->a(Ljava/lang/Void;J)J
move-result-wide p1
return-wide p1
.end method
.method protected a(Ljava/lang/Void;J)J
.registers 10
const-wide v0, -0x7fffffffffffffffL # -4.9E-324
cmp-long p1, p2, v0
if-nez p1, :cond_a
return-wide v0
.line 14
:cond_a
iget-wide v0, p0, Lcom/google/android/exoplayer2/source/ClippingMediaSource;->k:J
invoke-static {v0, v1}, Lcom/google/android/exoplayer2/G;->b(J)J
move-result-wide v0
const-wide/16 v2, 0x0
sub-long/2addr p2, v0
.line 15
invoke-static {v2, v3, p2, p3}, Ljava/lang/Math;->max(JJ)J
move-result-wide p1
.line 16
iget-wide v2, p0, Lcom/google/android/exoplayer2/source/ClippingMediaSource;->l:J
const-wide/high16 v4, -0x8000000000000000L
cmp-long p3, v2, v4
if-eqz p3, :cond_28
.line 17
invoke-static {v2, v3}, Lcom/google/android/exoplayer2/G;->b(J)J
move-result-wide v2
sub-long/2addr v2, v0
invoke-static {v2, v3, p1, p2}, Ljava/lang/Math;->min(JJ)J
move-result-wide p1
:cond_28
return-wide p1
.end method
.method public a()Lcom/google/android/exoplayer2/W;
.registers 2
.line 2
iget-object v0, p0, Lcom/google/android/exoplayer2/source/ClippingMediaSource;->j:Lcom/google/android/exoplayer2/source/B;
invoke-interface {v0}, Lcom/google/android/exoplayer2/source/B;->a()Lcom/google/android/exoplayer2/W;
move-result-object v0
return-object v0
.end method
.method public a(Lcom/google/android/exoplayer2/source/B$a;Lcom/google/android/exoplayer2/upstream/e;J)Lcom/google/android/exoplayer2/source/z;
.registers 13
.line 5
new-instance v7, Lcom/google/android/exoplayer2/source/m;
iget-object v0, p0, Lcom/google/android/exoplayer2/source/ClippingMediaSource;->j:Lcom/google/android/exoplayer2/source/B;
.line 6
invoke-interface {v0, p1, p2, p3, p4}, Lcom/google/android/exoplayer2/source/B;->a(Lcom/google/android/exoplayer2/source/B$a;Lcom/google/android/exoplayer2/upstream/e;J)Lcom/google/android/exoplayer2/source/z;
move-result-object v1
iget-boolean v2, p0, Lcom/google/android/exoplayer2/source/ClippingMediaSource;->m:Z
iget-wide v3, p0, Lcom/google/android/exoplayer2/source/ClippingMediaSource;->t:J
iget-wide v5, p0, Lcom/google/android/exoplayer2/source/ClippingMediaSource;->u:J
move-object v0, v7
invoke-direct/range {v0 .. v6}, Lcom/google/android/exoplayer2/source/m;-><init>(Lcom/google/android/exoplayer2/source/z;ZJJ)V
.line 7
iget-object p1, p0, Lcom/google/android/exoplayer2/source/ClippingMediaSource;->p:Ljava/util/ArrayList;
invoke-virtual {p1, v7}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
return-object v7
.end method
.method public a(Lcom/google/android/exoplayer2/source/z;)V
.registers 3
.line 8
iget-object v0, p0, Lcom/google/android/exoplayer2/source/ClippingMediaSource;->p:Ljava/util/ArrayList;
invoke-virtual {v0, p1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z
move-result v0
invoke-static {v0}, Lcom/google/android/exoplayer2/util/d;->b(Z)V
.line 9
iget-object v0, p0, Lcom/google/android/exoplayer2/source/ClippingMediaSource;->j:Lcom/google/android/exoplayer2/source/B;
check-cast p1, Lcom/google/android/exoplayer2/source/m;
iget-object p1, p1, Lcom/google/android/exoplayer2/source/m;->a:Lcom/google/android/exoplayer2/source/z;
invoke-interface {v0, p1}, Lcom/google/android/exoplayer2/source/B;->a(Lcom/google/android/exoplayer2/source/z;)V
.line 10
iget-object p1, p0, Lcom/google/android/exoplayer2/source/ClippingMediaSource;->p:Ljava/util/ArrayList;
invoke-virtual {p1}, Ljava/util/ArrayList;->isEmpty()Z
move-result p1
if-eqz p1, :cond_2a
iget-boolean p1, p0, Lcom/google/android/exoplayer2/source/ClippingMediaSource;->n:Z
if-nez p1, :cond_2a
.line 11
iget-object p1, p0, Lcom/google/android/exoplayer2/source/ClippingMediaSource;->r:Lcom/google/android/exoplayer2/source/ClippingMediaSource$a;
invoke-static {p1}, Lcom/google/android/exoplayer2/util/d;->a(Ljava/lang/Object;)Ljava/lang/Object;
check-cast p1, Lcom/google/android/exoplayer2/source/ClippingMediaSource$a;
iget-object p1, p1, Lcom/google/android/exoplayer2/source/t;->b:Lcom/google/android/exoplayer2/xa;
invoke-direct {p0, p1}, Lcom/google/android/exoplayer2/source/ClippingMediaSource;->b(Lcom/google/android/exoplayer2/xa;)V
:cond_2a
return-void
.end method
.method protected a(Lcom/google/android/exoplayer2/upstream/D;)V
.registers 3
.line 3
invoke-super {p0, p1}, Lcom/google/android/exoplayer2/source/n;->a(Lcom/google/android/exoplayer2/upstream/D;)V
.line 4
iget-object p1, p0, Lcom/google/android/exoplayer2/source/ClippingMediaSource;->j:Lcom/google/android/exoplayer2/source/B;
const/4 v0, 0x0
invoke-virtual {p0, v0, p1}, Lcom/google/android/exoplayer2/source/n;->a(Ljava/lang/Object;Lcom/google/android/exoplayer2/source/B;)V
return-void
.end method
.method protected a(Ljava/lang/Void;Lcom/google/android/exoplayer2/source/B;Lcom/google/android/exoplayer2/xa;)V
.registers 4
.line 12
iget-object p1, p0, Lcom/google/android/exoplayer2/source/ClippingMediaSource;->s:Lcom/google/android/exoplayer2/source/ClippingMediaSource$IllegalClippingException;
if-eqz p1, :cond_5
return-void
.line 13
:cond_5
invoke-direct {p0, p3}, Lcom/google/android/exoplayer2/source/ClippingMediaSource;->b(Lcom/google/android/exoplayer2/xa;)V
return-void
.end method
.method public b()V
.registers 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 2
iget-object v0, p0, Lcom/google/android/exoplayer2/source/ClippingMediaSource;->s:Lcom/google/android/exoplayer2/source/ClippingMediaSource$IllegalClippingException;
if-nez v0, :cond_8
.line 3
invoke-super {p0}, Lcom/google/android/exoplayer2/source/n;->b()V
return-void
.line 4
:cond_8
throw v0
.end method
.method protected bridge synthetic b(Ljava/lang/Object;Lcom/google/android/exoplayer2/source/B;Lcom/google/android/exoplayer2/xa;)V
.registers 4
.line 1
check-cast p1, Ljava/lang/Void;
invoke-virtual {p0, p1, p2, p3}, Lcom/google/android/exoplayer2/source/ClippingMediaSource;->a(Ljava/lang/Void;Lcom/google/android/exoplayer2/source/B;Lcom/google/android/exoplayer2/xa;)V
return-void
.end method
.method protected h()V
.registers 2
.line 1
invoke-super {p0}, Lcom/google/android/exoplayer2/source/n;->h()V
const/4 v0, 0x0
.line 2
iput-object v0, p0, Lcom/google/android/exoplayer2/source/ClippingMediaSource;->s:Lcom/google/android/exoplayer2/source/ClippingMediaSource$IllegalClippingException;
.line 3
iput-object v0, p0, Lcom/google/android/exoplayer2/source/ClippingMediaSource;->r:Lcom/google/android/exoplayer2/source/ClippingMediaSource$a;
return-void
.end method