CameraCapturer$2.smali

.class Lorg/webrtc/ali/CameraCapturer$2;
.super Ljava/lang/Object;
.source "CameraCapturer.java"

# interfaces
.implements Lorg/webrtc/ali/CameraSession$Events;


# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
    value = Lorg/webrtc/ali/CameraCapturer;
.end annotation

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


# instance fields
.field final synthetic this$0:Lorg/webrtc/ali/CameraCapturer;


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

    return-void
.end method

.method constructor <init>(Lorg/webrtc/ali/CameraCapturer;)V
    .registers 2
    .param p1, "this$0"    # Lorg/webrtc/ali/CameraCapturer;

    .line 128
    iput-object p1, p0, Lorg/webrtc/ali/CameraCapturer$2;->this$0:Lorg/webrtc/ali/CameraCapturer;

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

    return-void
.end method


# virtual methods
.method public onByteBufferFrameCaptured(Lorg/webrtc/ali/CameraSession;[BIIIJ)V
    .registers 19
    .param p1, "session"    # Lorg/webrtc/ali/CameraSession;
    .param p2, "data"    # [B
    .param p3, "width"    # I
    .param p4, "height"    # I
    .param p5, "rotation"    # I
    .param p6, "timestamp"    # J

    .line 182
    move-object v1, p0

    iget-object v0, v1, Lorg/webrtc/ali/CameraCapturer$2;->this$0:Lorg/webrtc/ali/CameraCapturer;

    invoke-static {v0}, Lorg/webrtc/ali/CameraCapturer;->access$000(Lorg/webrtc/ali/CameraCapturer;)V

    .line 183
    iget-object v0, v1, Lorg/webrtc/ali/CameraCapturer$2;->this$0:Lorg/webrtc/ali/CameraCapturer;

    invoke-static {v0}, Lorg/webrtc/ali/CameraCapturer;->access$500(Lorg/webrtc/ali/CameraCapturer;)Ljava/lang/Object;

    move-result-object v2

    monitor-enter v2

    .line 184
    :try_start_d
    iget-object v0, v1, Lorg/webrtc/ali/CameraCapturer$2;->this$0:Lorg/webrtc/ali/CameraCapturer;

    invoke-static {v0}, Lorg/webrtc/ali/CameraCapturer;->access$800(Lorg/webrtc/ali/CameraCapturer;)Lorg/webrtc/ali/CameraSession;

    move-result-object v0
    :try_end_13
    .catchall {:try_start_d .. :try_end_13} :catchall_51

    move-object v3, p1

    if-eq v3, v0, :cond_1f

    .line 185
    :try_start_16
    const-string v0, "CameraCapturer"

    const-string v4, "onByteBufferFrameCaptured from another session."

    invoke-static {v0, v4}, Lorg/webrtc/ali/Logging;->w(Ljava/lang/String;Ljava/lang/String;)V

    .line 186
    monitor-exit v2

    return-void

    .line 188
    :cond_1f
    iget-object v0, v1, Lorg/webrtc/ali/CameraCapturer$2;->this$0:Lorg/webrtc/ali/CameraCapturer;

    invoke-static {v0}, Lorg/webrtc/ali/CameraCapturer;->access$1200(Lorg/webrtc/ali/CameraCapturer;)Z

    move-result v0

    if-nez v0, :cond_36

    .line 189
    iget-object v0, v1, Lorg/webrtc/ali/CameraCapturer$2;->this$0:Lorg/webrtc/ali/CameraCapturer;

    invoke-static {v0}, Lorg/webrtc/ali/CameraCapturer;->access$1100(Lorg/webrtc/ali/CameraCapturer;)Lorg/webrtc/ali/CameraVideoCapturer$CameraEventsHandler;

    move-result-object v0

    invoke-interface {v0}, Lorg/webrtc/ali/CameraVideoCapturer$CameraEventsHandler;->onFirstFrameAvailable()V

    .line 190
    iget-object v0, v1, Lorg/webrtc/ali/CameraCapturer$2;->this$0:Lorg/webrtc/ali/CameraCapturer;

    const/4 v4, 0x1

    invoke-static {v0, v4}, Lorg/webrtc/ali/CameraCapturer;->access$1202(Lorg/webrtc/ali/CameraCapturer;Z)Z

    .line 192
    :cond_36
    iget-object v0, v1, Lorg/webrtc/ali/CameraCapturer$2;->this$0:Lorg/webrtc/ali/CameraCapturer;

    invoke-static {v0}, Lorg/webrtc/ali/CameraCapturer;->access$900(Lorg/webrtc/ali/CameraCapturer;)Lorg/webrtc/ali/CameraVideoCapturer$CameraStatistics;

    move-result-object v0

    invoke-virtual {v0}, Lorg/webrtc/ali/CameraVideoCapturer$CameraStatistics;->addFrame()V

    .line 193
    iget-object v0, v1, Lorg/webrtc/ali/CameraCapturer$2;->this$0:Lorg/webrtc/ali/CameraCapturer;

    invoke-static {v0}, Lorg/webrtc/ali/CameraCapturer;->access$600(Lorg/webrtc/ali/CameraCapturer;)Lorg/webrtc/ali/VideoCapturer$CapturerObserver;

    move-result-object v4

    move-object v5, p2

    move v6, p3

    move v7, p4

    move/from16 v8, p5

    move-wide/from16 v9, p6

    invoke-interface/range {v4 .. v10}, Lorg/webrtc/ali/VideoCapturer$CapturerObserver;->onByteBufferFrameCaptured([BIIIJ)V

    .line 194
    monitor-exit v2

    .line 195
    return-void

    .line 194
    :catchall_51
    move-exception v0

    move-object v3, p1

    :goto_53
    monitor-exit v2
    :try_end_54
    .catchall {:try_start_16 .. :try_end_54} :catchall_55

    throw v0

    :catchall_55
    move-exception v0

    goto :goto_53
.end method

.method public onCameraClosed(Lorg/webrtc/ali/CameraSession;)V
    .registers 5
    .param p1, "session"    # Lorg/webrtc/ali/CameraSession;

    .line 169
    iget-object v0, p0, Lorg/webrtc/ali/CameraCapturer$2;->this$0:Lorg/webrtc/ali/CameraCapturer;

    invoke-static {v0}, Lorg/webrtc/ali/CameraCapturer;->access$000(Lorg/webrtc/ali/CameraCapturer;)V

    .line 170
    iget-object v0, p0, Lorg/webrtc/ali/CameraCapturer$2;->this$0:Lorg/webrtc/ali/CameraCapturer;

    invoke-static {v0}, Lorg/webrtc/ali/CameraCapturer;->access$500(Lorg/webrtc/ali/CameraCapturer;)Ljava/lang/Object;

    move-result-object v0

    monitor-enter v0

    .line 171
    :try_start_c
    iget-object v1, p0, Lorg/webrtc/ali/CameraCapturer$2;->this$0:Lorg/webrtc/ali/CameraCapturer;

    invoke-static {v1}, Lorg/webrtc/ali/CameraCapturer;->access$800(Lorg/webrtc/ali/CameraCapturer;)Lorg/webrtc/ali/CameraSession;

    move-result-object v1

    if-eq p1, v1, :cond_25

    iget-object v1, p0, Lorg/webrtc/ali/CameraCapturer$2;->this$0:Lorg/webrtc/ali/CameraCapturer;

    invoke-static {v1}, Lorg/webrtc/ali/CameraCapturer;->access$800(Lorg/webrtc/ali/CameraCapturer;)Lorg/webrtc/ali/CameraSession;

    move-result-object v1

    if-eqz v1, :cond_25

    .line 172
    const-string v1, "CameraCapturer"

    const-string v2, "onCameraClosed from another session."

    invoke-static {v1, v2}, Lorg/webrtc/ali/Logging;->d(Ljava/lang/String;Ljava/lang/String;)V

    .line 173
    monitor-exit v0

    return-void

    .line 175
    :cond_25
    iget-object v1, p0, Lorg/webrtc/ali/CameraCapturer$2;->this$0:Lorg/webrtc/ali/CameraCapturer;

    invoke-static {v1}, Lorg/webrtc/ali/CameraCapturer;->access$1100(Lorg/webrtc/ali/CameraCapturer;)Lorg/webrtc/ali/CameraVideoCapturer$CameraEventsHandler;

    move-result-object v1

    invoke-interface {v1}, Lorg/webrtc/ali/CameraVideoCapturer$CameraEventsHandler;->onCameraClosed()V

    .line 176
    monitor-exit v0

    .line 177
    return-void

    .line 176
    :catchall_30
    move-exception v1

    monitor-exit v0
    :try_end_32
    .catchall {:try_start_c .. :try_end_32} :catchall_30

    throw v1
.end method

.method public onCameraDisconnected(Lorg/webrtc/ali/CameraSession;)V
    .registers 5
    .param p1, "session"    # Lorg/webrtc/ali/CameraSession;

    .line 156
    iget-object v0, p0, Lorg/webrtc/ali/CameraCapturer$2;->this$0:Lorg/webrtc/ali/CameraCapturer;

    invoke-static {v0}, Lorg/webrtc/ali/CameraCapturer;->access$000(Lorg/webrtc/ali/CameraCapturer;)V

    .line 157
    iget-object v0, p0, Lorg/webrtc/ali/CameraCapturer$2;->this$0:Lorg/webrtc/ali/CameraCapturer;

    invoke-static {v0}, Lorg/webrtc/ali/CameraCapturer;->access$500(Lorg/webrtc/ali/CameraCapturer;)Ljava/lang/Object;

    move-result-object v0

    monitor-enter v0

    .line 158
    :try_start_c
    iget-object v1, p0, Lorg/webrtc/ali/CameraCapturer$2;->this$0:Lorg/webrtc/ali/CameraCapturer;

    invoke-static {v1}, Lorg/webrtc/ali/CameraCapturer;->access$800(Lorg/webrtc/ali/CameraCapturer;)Lorg/webrtc/ali/CameraSession;

    move-result-object v1

    if-eq p1, v1, :cond_1d

    .line 159
    const-string v1, "CameraCapturer"

    const-string v2, "onCameraDisconnected from another session."

    invoke-static {v1, v2}, Lorg/webrtc/ali/Logging;->w(Ljava/lang/String;Ljava/lang/String;)V

    .line 160
    monitor-exit v0

    return-void

    .line 162
    :cond_1d
    iget-object v1, p0, Lorg/webrtc/ali/CameraCapturer$2;->this$0:Lorg/webrtc/ali/CameraCapturer;

    invoke-static {v1}, Lorg/webrtc/ali/CameraCapturer;->access$1100(Lorg/webrtc/ali/CameraCapturer;)Lorg/webrtc/ali/CameraVideoCapturer$CameraEventsHandler;

    move-result-object v1

    invoke-interface {v1}, Lorg/webrtc/ali/CameraVideoCapturer$CameraEventsHandler;->onCameraDisconnected()V

    .line 163
    iget-object v1, p0, Lorg/webrtc/ali/CameraCapturer$2;->this$0:Lorg/webrtc/ali/CameraCapturer;

    invoke-virtual {v1}, Lorg/webrtc/ali/CameraCapturer;->stopCapture()V

    .line 164
    monitor-exit v0

    .line 165
    return-void

    .line 164
    :catchall_2d
    move-exception v1

    monitor-exit v0
    :try_end_2f
    .catchall {:try_start_c .. :try_end_2f} :catchall_2d

    throw v1
.end method

.method public onCameraError(Lorg/webrtc/ali/CameraSession;Ljava/lang/String;)V
    .registers 7
    .param p1, "session"    # Lorg/webrtc/ali/CameraSession;
    .param p2, "error"    # Ljava/lang/String;

    .line 143
    iget-object v0, p0, Lorg/webrtc/ali/CameraCapturer$2;->this$0:Lorg/webrtc/ali/CameraCapturer;

    invoke-static {v0}, Lorg/webrtc/ali/CameraCapturer;->access$000(Lorg/webrtc/ali/CameraCapturer;)V

    .line 144
    iget-object v0, p0, Lorg/webrtc/ali/CameraCapturer$2;->this$0:Lorg/webrtc/ali/CameraCapturer;

    invoke-static {v0}, Lorg/webrtc/ali/CameraCapturer;->access$500(Lorg/webrtc/ali/CameraCapturer;)Ljava/lang/Object;

    move-result-object v0

    monitor-enter v0

    .line 145
    :try_start_c
    iget-object v1, p0, Lorg/webrtc/ali/CameraCapturer$2;->this$0:Lorg/webrtc/ali/CameraCapturer;

    invoke-static {v1}, Lorg/webrtc/ali/CameraCapturer;->access$800(Lorg/webrtc/ali/CameraCapturer;)Lorg/webrtc/ali/CameraSession;

    move-result-object v1

    if-eq p1, v1, :cond_2c

    .line 146
    const-string v1, "CameraCapturer"

    new-instance v2, Ljava/lang/StringBuilder;

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

    const-string v3, "onCameraError from another session: "

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-static {v1, v2}, Lorg/webrtc/ali/Logging;->w(Ljava/lang/String;Ljava/lang/String;)V

    .line 147
    monitor-exit v0

    return-void

    .line 149
    :cond_2c
    iget-object v1, p0, Lorg/webrtc/ali/CameraCapturer$2;->this$0:Lorg/webrtc/ali/CameraCapturer;

    invoke-static {v1}, Lorg/webrtc/ali/CameraCapturer;->access$1100(Lorg/webrtc/ali/CameraCapturer;)Lorg/webrtc/ali/CameraVideoCapturer$CameraEventsHandler;

    move-result-object v1

    invoke-interface {v1, p2}, Lorg/webrtc/ali/CameraVideoCapturer$CameraEventsHandler;->onCameraError(Ljava/lang/String;)V

    .line 150
    iget-object v1, p0, Lorg/webrtc/ali/CameraCapturer$2;->this$0:Lorg/webrtc/ali/CameraCapturer;

    invoke-virtual {v1}, Lorg/webrtc/ali/CameraCapturer;->stopCapture()V

    .line 151
    monitor-exit v0

    .line 152
    return-void

    .line 151
    :catchall_3c
    move-exception v1

    monitor-exit v0
    :try_end_3e
    .catchall {:try_start_c .. :try_end_3e} :catchall_3c

    throw v1
.end method

.method public onCameraOpening()V
    .registers 4

    .line 131
    iget-object v0, p0, Lorg/webrtc/ali/CameraCapturer$2;->this$0:Lorg/webrtc/ali/CameraCapturer;

    invoke-static {v0}, Lorg/webrtc/ali/CameraCapturer;->access$000(Lorg/webrtc/ali/CameraCapturer;)V

    .line 132
    iget-object v0, p0, Lorg/webrtc/ali/CameraCapturer$2;->this$0:Lorg/webrtc/ali/CameraCapturer;

    invoke-static {v0}, Lorg/webrtc/ali/CameraCapturer;->access$500(Lorg/webrtc/ali/CameraCapturer;)Ljava/lang/Object;

    move-result-object v0

    monitor-enter v0

    .line 133
    :try_start_c
    iget-object v1, p0, Lorg/webrtc/ali/CameraCapturer$2;->this$0:Lorg/webrtc/ali/CameraCapturer;

    invoke-static {v1}, Lorg/webrtc/ali/CameraCapturer;->access$800(Lorg/webrtc/ali/CameraCapturer;)Lorg/webrtc/ali/CameraSession;

    move-result-object v1

    if-eqz v1, :cond_1d

    .line 134
    const-string v1, "CameraCapturer"

    const-string v2, "onCameraOpening while session was open."

    invoke-static {v1, v2}, Lorg/webrtc/ali/Logging;->w(Ljava/lang/String;Ljava/lang/String;)V

    .line 135
    monitor-exit v0

    return-void

    .line 137
    :cond_1d
    iget-object v1, p0, Lorg/webrtc/ali/CameraCapturer$2;->this$0:Lorg/webrtc/ali/CameraCapturer;

    invoke-static {v1}, Lorg/webrtc/ali/CameraCapturer;->access$1100(Lorg/webrtc/ali/CameraCapturer;)Lorg/webrtc/ali/CameraVideoCapturer$CameraEventsHandler;

    move-result-object v1

    iget-object v2, p0, Lorg/webrtc/ali/CameraCapturer$2;->this$0:Lorg/webrtc/ali/CameraCapturer;

    invoke-static {v2}, Lorg/webrtc/ali/CameraCapturer;->access$1400(Lorg/webrtc/ali/CameraCapturer;)Ljava/lang/String;

    move-result-object v2

    invoke-interface {v1, v2}, Lorg/webrtc/ali/CameraVideoCapturer$CameraEventsHandler;->onCameraOpening(Ljava/lang/String;)V

    .line 138
    monitor-exit v0

    .line 139
    return-void

    .line 138
    :catchall_2e
    move-exception v1

    monitor-exit v0
    :try_end_30
    .catchall {:try_start_c .. :try_end_30} :catchall_2e

    throw v1
.end method

.method public onTextureFrameCaptured(Lorg/webrtc/ali/CameraSession;III[FIJ)V
    .registers 21
    .param p1, "session"    # Lorg/webrtc/ali/CameraSession;
    .param p2, "width"    # I
    .param p3, "height"    # I
    .param p4, "oesTextureId"    # I
    .param p5, "transformMatrix"    # [F
    .param p6, "rotation"    # I
    .param p7, "timestamp"    # J

    .line 200
    move-object v1, p0

    iget-object v0, v1, Lorg/webrtc/ali/CameraCapturer$2;->this$0:Lorg/webrtc/ali/CameraCapturer;

    invoke-static {v0}, Lorg/webrtc/ali/CameraCapturer;->access$000(Lorg/webrtc/ali/CameraCapturer;)V

    .line 201
    iget-object v0, v1, Lorg/webrtc/ali/CameraCapturer$2;->this$0:Lorg/webrtc/ali/CameraCapturer;

    invoke-static {v0}, Lorg/webrtc/ali/CameraCapturer;->access$500(Lorg/webrtc/ali/CameraCapturer;)Ljava/lang/Object;

    move-result-object v2

    monitor-enter v2

    .line 202
    :try_start_d
    iget-object v0, v1, Lorg/webrtc/ali/CameraCapturer$2;->this$0:Lorg/webrtc/ali/CameraCapturer;

    invoke-static {v0}, Lorg/webrtc/ali/CameraCapturer;->access$800(Lorg/webrtc/ali/CameraCapturer;)Lorg/webrtc/ali/CameraSession;

    move-result-object v0
    :try_end_13
    .catchall {:try_start_d .. :try_end_13} :catchall_5d

    move-object v3, p1

    if-eq v3, v0, :cond_28

    .line 203
    :try_start_16
    const-string v0, "CameraCapturer"

    const-string v4, "onTextureFrameCaptured from another session."

    invoke-static {v0, v4}, Lorg/webrtc/ali/Logging;->w(Ljava/lang/String;Ljava/lang/String;)V

    .line 204
    iget-object v0, v1, Lorg/webrtc/ali/CameraCapturer$2;->this$0:Lorg/webrtc/ali/CameraCapturer;

    invoke-static {v0}, Lorg/webrtc/ali/CameraCapturer;->access$1000(Lorg/webrtc/ali/CameraCapturer;)Lorg/webrtc/ali/SurfaceTextureHelper;

    move-result-object v0

    invoke-virtual {v0}, Lorg/webrtc/ali/SurfaceTextureHelper;->returnTextureFrame()V

    .line 205
    monitor-exit v2

    return-void

    .line 207
    :cond_28
    iget-object v0, v1, Lorg/webrtc/ali/CameraCapturer$2;->this$0:Lorg/webrtc/ali/CameraCapturer;

    invoke-static {v0}, Lorg/webrtc/ali/CameraCapturer;->access$1200(Lorg/webrtc/ali/CameraCapturer;)Z

    move-result v0

    if-nez v0, :cond_3f

    .line 208
    iget-object v0, v1, Lorg/webrtc/ali/CameraCapturer$2;->this$0:Lorg/webrtc/ali/CameraCapturer;

    invoke-static {v0}, Lorg/webrtc/ali/CameraCapturer;->access$1100(Lorg/webrtc/ali/CameraCapturer;)Lorg/webrtc/ali/CameraVideoCapturer$CameraEventsHandler;

    move-result-object v0

    invoke-interface {v0}, Lorg/webrtc/ali/CameraVideoCapturer$CameraEventsHandler;->onFirstFrameAvailable()V

    .line 209
    iget-object v0, v1, Lorg/webrtc/ali/CameraCapturer$2;->this$0:Lorg/webrtc/ali/CameraCapturer;

    const/4 v4, 0x1

    invoke-static {v0, v4}, Lorg/webrtc/ali/CameraCapturer;->access$1202(Lorg/webrtc/ali/CameraCapturer;Z)Z

    .line 211
    :cond_3f
    iget-object v0, v1, Lorg/webrtc/ali/CameraCapturer$2;->this$0:Lorg/webrtc/ali/CameraCapturer;

    invoke-static {v0}, Lorg/webrtc/ali/CameraCapturer;->access$900(Lorg/webrtc/ali/CameraCapturer;)Lorg/webrtc/ali/CameraVideoCapturer$CameraStatistics;

    move-result-object v0

    invoke-virtual {v0}, Lorg/webrtc/ali/CameraVideoCapturer$CameraStatistics;->addFrame()V

    .line 212
    iget-object v0, v1, Lorg/webrtc/ali/CameraCapturer$2;->this$0:Lorg/webrtc/ali/CameraCapturer;

    invoke-static {v0}, Lorg/webrtc/ali/CameraCapturer;->access$600(Lorg/webrtc/ali/CameraCapturer;)Lorg/webrtc/ali/VideoCapturer$CapturerObserver;

    move-result-object v4

    move v5, p2

    move v6, p3

    move/from16 v7, p4

    move-object/from16 v8, p5

    move/from16 v9, p6

    move-wide/from16 v10, p7

    invoke-interface/range {v4 .. v11}, Lorg/webrtc/ali/VideoCapturer$CapturerObserver;->onTextureFrameCaptured(III[FIJ)V

    .line 214
    monitor-exit v2

    .line 215
    return-void

    .line 214
    :catchall_5d
    move-exception v0

    move-object v3, p1

    :goto_5f
    monitor-exit v2
    :try_end_60
    .catchall {:try_start_16 .. :try_end_60} :catchall_61

    throw v0

    :catchall_61
    move-exception v0

    goto :goto_5f
.end method