au.smali
.class public final Lcom/tencent/liteav/videoconsumer/decoder/au;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/tencent/liteav/videoconsumer/decoder/au$a;,
Lcom/tencent/liteav/videoconsumer/decoder/au$b;
}
.end annotation
# instance fields
.field a:Ljava/lang/String;
.field final b:Lcom/tencent/liteav/videobase/videobase/IVideoReporter;
.field final c:Lcom/tencent/liteav/videoconsumer/decoder/au$a;
.field final d:Lcom/tencent/liteav/videoconsumer/decoder/au$b;
.field final e:Lcom/tencent/liteav/videobase/utils/f;
.field f:Lcom/tencent/liteav/videoconsumer/decoder/aw$a;
.field g:Z
.field h:J
.field i:J
.field j:J
.field k:J
.field private l:Z
.field private m:J
# direct methods
.method public constructor <init>(Lcom/tencent/liteav/videobase/videobase/IVideoReporter;)V
.registers 5
.line 49
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const-string v0, "VideoDecodeControllerStatistics"
.line 28
iput-object v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/au;->a:Ljava/lang/String;
const-wide/16 v0, 0x0
.line 41
iput-wide v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/au;->h:J
.line 42
iput-wide v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/au;->i:J
const/4 v2, 0x0
.line 43
iput-boolean v2, p0, Lcom/tencent/liteav/videoconsumer/decoder/au;->l:Z
.line 45
iput-wide v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/au;->j:J
.line 46
iput-wide v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/au;->m:J
.line 47
iput-wide v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/au;->k:J
.line 50
iput-object p1, p0, Lcom/tencent/liteav/videoconsumer/decoder/au;->b:Lcom/tencent/liteav/videobase/videobase/IVideoReporter;
.line 51
new-instance p1, Lcom/tencent/liteav/videoconsumer/decoder/au$a;
invoke-direct {p1, p0, v2}, Lcom/tencent/liteav/videoconsumer/decoder/au$a;-><init>(Lcom/tencent/liteav/videoconsumer/decoder/au;B)V
iput-object p1, p0, Lcom/tencent/liteav/videoconsumer/decoder/au;->c:Lcom/tencent/liteav/videoconsumer/decoder/au$a;
.line 52
new-instance p1, Lcom/tencent/liteav/videoconsumer/decoder/au$b;
invoke-direct {p1, v2}, Lcom/tencent/liteav/videoconsumer/decoder/au$b;-><init>(B)V
iput-object p1, p0, Lcom/tencent/liteav/videoconsumer/decoder/au;->d:Lcom/tencent/liteav/videoconsumer/decoder/au$b;
.line 53
new-instance p1, Lcom/tencent/liteav/videobase/utils/f;
.line 1000
new-instance v0, Lcom/tencent/liteav/videoconsumer/decoder/av;
invoke-direct {v0, p0}, Lcom/tencent/liteav/videoconsumer/decoder/av;-><init>(Lcom/tencent/liteav/videoconsumer/decoder/au;)V
const-string v1, "videoDecoder"
const/16 v2, 0x3e8
.line 53
invoke-direct {p1, v1, v2, v0}, Lcom/tencent/liteav/videobase/utils/f;-><init>(Ljava/lang/String;ILcom/tencent/liteav/videobase/utils/f$a;)V
iput-object p1, p0, Lcom/tencent/liteav/videoconsumer/decoder/au;->e:Lcom/tencent/liteav/videobase/utils/f;
.line 55
new-instance p1, Ljava/lang/StringBuilder;
invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V
iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/au;->a:Ljava/lang/String;
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v0, "_"
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Ljava/lang/Object;->hashCode()I
move-result v0
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
iput-object p1, p0, Lcom/tencent/liteav/videoconsumer/decoder/au;->a:Ljava/lang/String;
.line 56
invoke-virtual {p0}, Lcom/tencent/liteav/videoconsumer/decoder/au;->a()V
return-void
.end method
# virtual methods
.method public final a()V
.registers 3
.line 60
iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/au;->c:Lcom/tencent/liteav/videoconsumer/decoder/au$a;
invoke-virtual {v0}, Lcom/tencent/liteav/videoconsumer/decoder/au$a;->a()V
.line 61
iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/au;->d:Lcom/tencent/liteav/videoconsumer/decoder/au$b;
invoke-virtual {v0}, Lcom/tencent/liteav/videoconsumer/decoder/au$b;->a()V
.line 62
iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/au;->e:Lcom/tencent/liteav/videobase/utils/f;
invoke-virtual {v0}, Lcom/tencent/liteav/videobase/utils/f;->b()V
const/4 v0, 0x0
.line 63
iput-object v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/au;->f:Lcom/tencent/liteav/videoconsumer/decoder/aw$a;
const/4 v0, 0x0
.line 64
iput-boolean v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/au;->g:Z
.line 65
iput-boolean v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/au;->l:Z
const-wide/16 v0, 0x0
.line 66
iput-wide v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/au;->i:J
return-void
.end method
.method public final a(Lcom/tencent/liteav/videobase/common/EncodedVideoFrame;)V
.registers 6
.line 70
iget-boolean v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/au;->l:Z
if-nez v0, :cond_24
invoke-virtual {p1}, Lcom/tencent/liteav/videobase/common/EncodedVideoFrame;->isIDRFrame()Z
move-result v0
if-eqz v0, :cond_24
.line 71
invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
move-result-wide v0
iput-wide v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/au;->h:J
const/4 v0, 0x1
.line 72
iput-boolean v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/au;->l:Z
.line 73
iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/au;->b:Lcom/tencent/liteav/videobase/videobase/IVideoReporter;
sget-object v1, Lcom/tencent/liteav/videobase/videobase/h$b;->E:Lcom/tencent/liteav/videobase/videobase/h$b;
const/4 v2, 0x0
const-string v3, "Start decode first frame"
invoke-interface {v0, v1, v2, v3}, Lcom/tencent/liteav/videobase/videobase/IVideoReporter;->notifyEvent(Lcom/tencent/liteav/videobase/videobase/h$b;Ljava/lang/Object;Ljava/lang/String;)V
.line 75
iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/au;->a:Ljava/lang/String;
const-string v1, "received first I frame."
invoke-static {v0, v1}, Lcom/tencent/liteav/base/util/LiteavLog;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 77
:cond_24
iget-boolean v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/au;->g:Z
if-nez v0, :cond_2f
.line 78
iget-wide v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/au;->i:J
const-wide/16 v2, 0x1
add-long/2addr v0, v2
iput-wide v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/au;->i:J
.line 80
:cond_2f
iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/au;->c:Lcom/tencent/liteav/videoconsumer/decoder/au$a;
iget-wide v1, p1, Lcom/tencent/liteav/videobase/common/EncodedVideoFrame;->pts:J
invoke-virtual {v0, v1, v2}, Lcom/tencent/liteav/videoconsumer/decoder/au$a;->a(J)V
return-void
.end method
.method public final a(Lcom/tencent/liteav/videoconsumer/decoder/aw$a;Lcom/tencent/liteav/videobase/common/CodecType;)V
.registers 4
.line 129
iput-object p1, p0, Lcom/tencent/liteav/videoconsumer/decoder/au;->f:Lcom/tencent/liteav/videoconsumer/decoder/aw$a;
.line 130
sget-object v0, Lcom/tencent/liteav/videobase/common/CodecType;->c:Lcom/tencent/liteav/videobase/common/CodecType;
if-ne p2, v0, :cond_c
sget-object v0, Lcom/tencent/liteav/videoconsumer/decoder/aw$a;->a:Lcom/tencent/liteav/videoconsumer/decoder/aw$a;
if-ne p1, v0, :cond_c
.line 131
sget-object p1, Lcom/tencent/liteav/videoconsumer/decoder/aw$a;->c:Lcom/tencent/liteav/videoconsumer/decoder/aw$a;
.line 133
:cond_c
new-instance v0, Lcom/tencent/liteav/videoconsumer/decoder/VideoDecoderDef$DecoderProperty;
invoke-direct {v0, p1, p2}, Lcom/tencent/liteav/videoconsumer/decoder/VideoDecoderDef$DecoderProperty;-><init>(Lcom/tencent/liteav/videoconsumer/decoder/aw$a;Lcom/tencent/liteav/videobase/common/CodecType;)V
.line 134
iget-object p1, p0, Lcom/tencent/liteav/videoconsumer/decoder/au;->b:Lcom/tencent/liteav/videobase/videobase/IVideoReporter;
sget-object p2, Lcom/tencent/liteav/videobase/videobase/i;->B:Lcom/tencent/liteav/videobase/videobase/i;
invoke-interface {p1, p2, v0}, Lcom/tencent/liteav/videobase/videobase/IVideoReporter;->updateStatus(Lcom/tencent/liteav/videobase/videobase/i;Ljava/lang/Object;)V
return-void
.end method
.method final b()V
.registers 10
.line 117
iget-wide v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/au;->m:J
const-wide/16 v2, 0x0
cmp-long v0, v0, v2
if-nez v0, :cond_e
.line 118
invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
move-result-wide v0
iput-wide v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/au;->m:J
.line 120
:cond_e
invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
move-result-wide v0
.line 121
iget-wide v4, p0, Lcom/tencent/liteav/videoconsumer/decoder/au;->m:J
sget-object v6, Ljava/util/concurrent/TimeUnit;->SECONDS:Ljava/util/concurrent/TimeUnit;
const-wide/16 v7, 0x1
invoke-virtual {v6, v7, v8}, Ljava/util/concurrent/TimeUnit;->toMillis(J)J
move-result-wide v6
add-long/2addr v4, v6
cmp-long v4, v4, v0
if-gez v4, :cond_32
.line 122
iput-wide v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/au;->m:J
.line 123
iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/decoder/au;->b:Lcom/tencent/liteav/videobase/videobase/IVideoReporter;
sget-object v1, Lcom/tencent/liteav/videobase/videobase/i;->m:Lcom/tencent/liteav/videobase/videobase/i;
iget-wide v4, p0, Lcom/tencent/liteav/videoconsumer/decoder/au;->j:J
invoke-static {v4, v5}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v4
invoke-interface {v0, v1, v4}, Lcom/tencent/liteav/videobase/videobase/IVideoReporter;->updateStatus(Lcom/tencent/liteav/videobase/videobase/i;Ljava/lang/Object;)V
.line 124
iput-wide v2, p0, Lcom/tencent/liteav/videoconsumer/decoder/au;->j:J
:cond_32
return-void
.end method