VideoPusher$2.smali

.class Lcom/alivc/component/capture/VideoPusher$2;
.super Ljava/lang/Object;
.source "VideoPusher.java"

# interfaces
.implements Landroid/graphics/SurfaceTexture$OnFrameAvailableListener;


# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
    value = Lcom/alivc/component/capture/VideoPusher;
.end annotation

.annotation system Ldalvik/annotation/InnerClass;
    accessFlags = 0x0
    name = null
.end annotation


# instance fields
.field final synthetic this$0:Lcom/alivc/component/capture/VideoPusher;


# direct methods
.method static constructor <clinit>()V
    .registers 1

    return-void
.end method

.method constructor <init>(Lcom/alivc/component/capture/VideoPusher;)V
    .registers 2
    .param p1, "this$0"    # Lcom/alivc/component/capture/VideoPusher;

    .line 324
    iput-object p1, p0, Lcom/alivc/component/capture/VideoPusher$2;->this$0:Lcom/alivc/component/capture/VideoPusher;

    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    return-void
.end method


# virtual methods
.method public onFrameAvailable(Landroid/graphics/SurfaceTexture;)V
    .registers 19
    .param p1, "surfaceTexture"    # Landroid/graphics/SurfaceTexture;

    .line 327
    move-object/from16 v0, p0

    invoke-static {}, Ljava/lang/System;->currentTimeMillis()J

    move-result-wide v1

    .line 328
    .local v1, "time":J
    iget-object v3, v0, Lcom/alivc/component/capture/VideoPusher$2;->this$0:Lcom/alivc/component/capture/VideoPusher;

    # getter for: Lcom/alivc/component/capture/VideoPusher;->mVideoSourceTextureListener:Lcom/alivc/component/capture/VideoPusher$VideoSourceTextureListener;
    invoke-static {v3}, Lcom/alivc/component/capture/VideoPusher;->access$100(Lcom/alivc/component/capture/VideoPusher;)Lcom/alivc/component/capture/VideoPusher$VideoSourceTextureListener;

    move-result-object v3

    if-eqz v3, :cond_b8

    .line 329
    iget-object v3, v0, Lcom/alivc/component/capture/VideoPusher$2;->this$0:Lcom/alivc/component/capture/VideoPusher;

    # getter for: Lcom/alivc/component/capture/VideoPusher;->mTimeDelta:J
    invoke-static {v3}, Lcom/alivc/component/capture/VideoPusher;->access$200(Lcom/alivc/component/capture/VideoPusher;)J

    move-result-wide v3

    const-wide/16 v5, 0x0

    const-wide/16 v7, 0x3e8

    cmp-long v9, v3, v5

    if-nez v9, :cond_2d

    .line 330
    iget-object v3, v0, Lcom/alivc/component/capture/VideoPusher$2;->this$0:Lcom/alivc/component/capture/VideoPusher;

    invoke-static {}, Ljava/lang/System;->currentTimeMillis()J

    move-result-wide v4

    mul-long v4, v4, v7

    invoke-static {}, Ljava/lang/System;->nanoTime()J

    move-result-wide v9

    div-long/2addr v9, v7

    sub-long/2addr v4, v9

    # setter for: Lcom/alivc/component/capture/VideoPusher;->mTimeDelta:J
    invoke-static {v3, v4, v5}, Lcom/alivc/component/capture/VideoPusher;->access$202(Lcom/alivc/component/capture/VideoPusher;J)J

    .line 332
    :cond_2d
    iget-object v3, v0, Lcom/alivc/component/capture/VideoPusher$2;->this$0:Lcom/alivc/component/capture/VideoPusher;

    # getter for: Lcom/alivc/component/capture/VideoPusher;->mParam:Lcom/alivc/component/capture/VideoParam;
    invoke-static {v3}, Lcom/alivc/component/capture/VideoPusher;->access$300(Lcom/alivc/component/capture/VideoPusher;)Lcom/alivc/component/capture/VideoParam;

    move-result-object v3

    if-eqz v3, :cond_b8

    .line 333
    iget-object v3, v0, Lcom/alivc/component/capture/VideoPusher$2;->this$0:Lcom/alivc/component/capture/VideoPusher;

    # getter for: Lcom/alivc/component/capture/VideoPusher;->mCustomRotation:I
    invoke-static {v3}, Lcom/alivc/component/capture/VideoPusher;->access$400(Lcom/alivc/component/capture/VideoPusher;)I

    move-result v3

    const-wide/16 v4, 0x1

    if-lez v3, :cond_7c

    .line 334
    iget-object v3, v0, Lcom/alivc/component/capture/VideoPusher$2;->this$0:Lcom/alivc/component/capture/VideoPusher;

    # getter for: Lcom/alivc/component/capture/VideoPusher;->mVideoSourceTextureListener:Lcom/alivc/component/capture/VideoPusher$VideoSourceTextureListener;
    invoke-static {v3}, Lcom/alivc/component/capture/VideoPusher;->access$100(Lcom/alivc/component/capture/VideoPusher;)Lcom/alivc/component/capture/VideoPusher$VideoSourceTextureListener;

    move-result-object v9

    invoke-static {}, Ljava/lang/System;->nanoTime()J

    move-result-wide v10

    div-long/2addr v10, v7

    iget-object v3, v0, Lcom/alivc/component/capture/VideoPusher$2;->this$0:Lcom/alivc/component/capture/VideoPusher;

    # getter for: Lcom/alivc/component/capture/VideoPusher;->mTimeDelta:J
    invoke-static {v3}, Lcom/alivc/component/capture/VideoPusher;->access$200(Lcom/alivc/component/capture/VideoPusher;)J

    move-result-wide v6

    add-long/2addr v10, v6

    div-long/2addr v10, v4

    iget-object v3, v0, Lcom/alivc/component/capture/VideoPusher$2;->this$0:Lcom/alivc/component/capture/VideoPusher;

    .line 335
    # getter for: Lcom/alivc/component/capture/VideoPusher;->mParam:Lcom/alivc/component/capture/VideoParam;
    invoke-static {v3}, Lcom/alivc/component/capture/VideoPusher;->access$300(Lcom/alivc/component/capture/VideoPusher;)Lcom/alivc/component/capture/VideoParam;

    move-result-object v3

    invoke-virtual {v3}, Lcom/alivc/component/capture/VideoParam;->getCameraId()I

    move-result v12

    iget-object v3, v0, Lcom/alivc/component/capture/VideoPusher$2;->this$0:Lcom/alivc/component/capture/VideoPusher;

    # getter for: Lcom/alivc/component/capture/VideoPusher;->mCustomRotation:I
    invoke-static {v3}, Lcom/alivc/component/capture/VideoPusher;->access$400(Lcom/alivc/component/capture/VideoPusher;)I

    move-result v13

    iget-object v3, v0, Lcom/alivc/component/capture/VideoPusher$2;->this$0:Lcom/alivc/component/capture/VideoPusher;

    # getter for: Lcom/alivc/component/capture/VideoPusher;->mParam:Lcom/alivc/component/capture/VideoParam;
    invoke-static {v3}, Lcom/alivc/component/capture/VideoPusher;->access$300(Lcom/alivc/component/capture/VideoPusher;)Lcom/alivc/component/capture/VideoParam;

    move-result-object v3

    invoke-virtual {v3}, Lcom/alivc/component/capture/VideoParam;->getWidth()I

    move-result v14

    iget-object v3, v0, Lcom/alivc/component/capture/VideoPusher$2;->this$0:Lcom/alivc/component/capture/VideoPusher;

    # getter for: Lcom/alivc/component/capture/VideoPusher;->mParam:Lcom/alivc/component/capture/VideoParam;
    invoke-static {v3}, Lcom/alivc/component/capture/VideoPusher;->access$300(Lcom/alivc/component/capture/VideoPusher;)Lcom/alivc/component/capture/VideoParam;

    move-result-object v3

    invoke-virtual {v3}, Lcom/alivc/component/capture/VideoParam;->getHeight()I

    move-result v15

    const/16 v16, 0x11

    .line 334
    invoke-interface/range {v9 .. v16}, Lcom/alivc/component/capture/VideoPusher$VideoSourceTextureListener;->onVideoFrame(JIIIII)V

    goto :goto_b8

    .line 338
    :cond_7c
    iget-object v3, v0, Lcom/alivc/component/capture/VideoPusher$2;->this$0:Lcom/alivc/component/capture/VideoPusher;

    # getter for: Lcom/alivc/component/capture/VideoPusher;->mVideoSourceTextureListener:Lcom/alivc/component/capture/VideoPusher$VideoSourceTextureListener;
    invoke-static {v3}, Lcom/alivc/component/capture/VideoPusher;->access$100(Lcom/alivc/component/capture/VideoPusher;)Lcom/alivc/component/capture/VideoPusher$VideoSourceTextureListener;

    move-result-object v9

    invoke-static {}, Ljava/lang/System;->nanoTime()J

    move-result-wide v10

    div-long/2addr v10, v7

    iget-object v3, v0, Lcom/alivc/component/capture/VideoPusher$2;->this$0:Lcom/alivc/component/capture/VideoPusher;

    # getter for: Lcom/alivc/component/capture/VideoPusher;->mTimeDelta:J
    invoke-static {v3}, Lcom/alivc/component/capture/VideoPusher;->access$200(Lcom/alivc/component/capture/VideoPusher;)J

    move-result-wide v6

    add-long/2addr v10, v6

    div-long/2addr v10, v4

    iget-object v3, v0, Lcom/alivc/component/capture/VideoPusher$2;->this$0:Lcom/alivc/component/capture/VideoPusher;

    .line 339
    # getter for: Lcom/alivc/component/capture/VideoPusher;->mParam:Lcom/alivc/component/capture/VideoParam;
    invoke-static {v3}, Lcom/alivc/component/capture/VideoPusher;->access$300(Lcom/alivc/component/capture/VideoPusher;)Lcom/alivc/component/capture/VideoParam;

    move-result-object v3

    invoke-virtual {v3}, Lcom/alivc/component/capture/VideoParam;->getCameraId()I

    move-result v12

    iget-object v3, v0, Lcom/alivc/component/capture/VideoPusher$2;->this$0:Lcom/alivc/component/capture/VideoPusher;

    # getter for: Lcom/alivc/component/capture/VideoPusher;->mDataOrientation:I
    invoke-static {v3}, Lcom/alivc/component/capture/VideoPusher;->access$500(Lcom/alivc/component/capture/VideoPusher;)I

    move-result v13

    iget-object v3, v0, Lcom/alivc/component/capture/VideoPusher$2;->this$0:Lcom/alivc/component/capture/VideoPusher;

    # getter for: Lcom/alivc/component/capture/VideoPusher;->mParam:Lcom/alivc/component/capture/VideoParam;
    invoke-static {v3}, Lcom/alivc/component/capture/VideoPusher;->access$300(Lcom/alivc/component/capture/VideoPusher;)Lcom/alivc/component/capture/VideoParam;

    move-result-object v3

    invoke-virtual {v3}, Lcom/alivc/component/capture/VideoParam;->getWidth()I

    move-result v14

    iget-object v3, v0, Lcom/alivc/component/capture/VideoPusher$2;->this$0:Lcom/alivc/component/capture/VideoPusher;

    # getter for: Lcom/alivc/component/capture/VideoPusher;->mParam:Lcom/alivc/component/capture/VideoParam;
    invoke-static {v3}, Lcom/alivc/component/capture/VideoPusher;->access$300(Lcom/alivc/component/capture/VideoPusher;)Lcom/alivc/component/capture/VideoParam;

    move-result-object v3

    invoke-virtual {v3}, Lcom/alivc/component/capture/VideoParam;->getHeight()I

    move-result v15

    const/16 v16, 0x11

    .line 338
    invoke-interface/range {v9 .. v16}, Lcom/alivc/component/capture/VideoPusher$VideoSourceTextureListener;->onVideoFrame(JIIIII)V

    .line 344
    :cond_b8
    :goto_b8
    iget-object v3, v0, Lcom/alivc/component/capture/VideoPusher$2;->this$0:Lcom/alivc/component/capture/VideoPusher;

    invoke-static {}, Ljava/lang/System;->currentTimeMillis()J

    move-result-wide v4

    # setter for: Lcom/alivc/component/capture/VideoPusher;->mLastCaptureTime:J
    invoke-static {v3, v4, v5}, Lcom/alivc/component/capture/VideoPusher;->access$602(Lcom/alivc/component/capture/VideoPusher;J)J

    .line 345
    iget-object v3, v0, Lcom/alivc/component/capture/VideoPusher$2;->this$0:Lcom/alivc/component/capture/VideoPusher;

    # operator++ for: Lcom/alivc/component/capture/VideoPusher;->mLastFpsCounter:I
    invoke-static {v3}, Lcom/alivc/component/capture/VideoPusher;->access$708(Lcom/alivc/component/capture/VideoPusher;)I

    .line 346
    return-void
.end method