c.smali

.class public abstract Lcom/otaliastudios/cameraview/video/c;
.super Lcom/otaliastudios/cameraview/video/d;
.source "SourceFile"


# static fields
.field public static final j:Lcom/otaliastudios/cameraview/c;


# instance fields
.field public g:Landroid/media/MediaRecorder;

.field public h:Landroid/media/CamcorderProfile;

.field public i:Z


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

    .line 1
    const-class v0, Lcom/otaliastudios/cameraview/video/c;

    invoke-virtual {v0}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;

    move-result-object v0

    .line 2
    new-instance v1, Lcom/otaliastudios/cameraview/c;

    invoke-direct {v1, v0}, Lcom/otaliastudios/cameraview/c;-><init>(Ljava/lang/String;)V

    .line 3
    sput-object v1, Lcom/otaliastudios/cameraview/video/c;->j:Lcom/otaliastudios/cameraview/c;

    return-void
.end method

.method public constructor <init>(Lcom/otaliastudios/cameraview/video/d$a;)V
    .registers 2

    invoke-direct {p0, p1}, Lcom/otaliastudios/cameraview/video/d;-><init>(Lcom/otaliastudios/cameraview/video/d$a;)V

    return-void
.end method


# virtual methods
.method public c()V
    .registers 8

    .line 1
    iget-object v0, p0, Lcom/otaliastudios/cameraview/video/d;->a:Lcom/otaliastudios/cameraview/p$a;

    .line 2
    iget-boolean v1, p0, Lcom/otaliastudios/cameraview/video/c;->i:Z

    const/4 v2, 0x1

    if-eqz v1, :cond_9

    const/4 v0, 0x1

    goto :goto_d

    .line 3
    :cond_9
    invoke-virtual {p0, v0, v2}, Lcom/otaliastudios/cameraview/video/c;->i(Lcom/otaliastudios/cameraview/p$a;Z)Z

    move-result v0

    :goto_d
    const/4 v1, 0x0

    const/4 v3, 0x0

    if-nez v0, :cond_17

    .line 4
    iput-object v1, p0, Lcom/otaliastudios/cameraview/video/d;->a:Lcom/otaliastudios/cameraview/p$a;

    .line 5
    invoke-virtual {p0, v3}, Lcom/otaliastudios/cameraview/video/d;->f(Z)V

    return-void

    .line 6
    :cond_17
    :try_start_17
    iget-object v0, p0, Lcom/otaliastudios/cameraview/video/c;->g:Landroid/media/MediaRecorder;

    invoke-virtual {v0}, Landroid/media/MediaRecorder;->start()V

    .line 7
    invoke-virtual {p0}, Lcom/otaliastudios/cameraview/video/d;->a()V
    :try_end_1f
    .catch Ljava/lang/Exception; {:try_start_17 .. :try_end_1f} :catch_20

    goto :goto_3b

    :catch_20
    move-exception v0

    .line 8
    sget-object v4, Lcom/otaliastudios/cameraview/video/c;->j:Lcom/otaliastudios/cameraview/c;

    const/4 v5, 0x3

    new-array v5, v5, [Ljava/lang/Object;

    const-string v6, "start:"

    aput-object v6, v5, v3

    const-string v6, "Error while starting media recorder."

    aput-object v6, v5, v2

    const/4 v2, 0x2

    aput-object v0, v5, v2

    invoke-virtual {v4, v5}, Lcom/otaliastudios/cameraview/c;->e([Ljava/lang/Object;)Ljava/lang/String;

    .line 9
    iput-object v1, p0, Lcom/otaliastudios/cameraview/video/d;->a:Lcom/otaliastudios/cameraview/p$a;

    .line 10
    iput-object v0, p0, Lcom/otaliastudios/cameraview/video/d;->c:Ljava/lang/Exception;

    .line 11
    invoke-virtual {p0, v3}, Lcom/otaliastudios/cameraview/video/d;->f(Z)V

    :goto_3b
    return-void
.end method

.method public final d()V
    .registers 10

    .line 1
    iget-object v0, p0, Lcom/otaliastudios/cameraview/video/c;->g:Landroid/media/MediaRecorder;

    const/4 v1, 0x0

    const/4 v2, 0x1

    const/4 v3, 0x3

    const/4 v4, 0x0

    const/4 v5, 0x2

    if-eqz v0, :cond_97

    .line 2
    sget-object v0, Lcom/otaliastudios/cameraview/video/d;->f:Lcom/otaliastudios/cameraview/c;

    new-array v6, v5, [Ljava/lang/Object;

    const-string v7, "dispatchVideoRecordingEnd:"

    aput-object v7, v6, v1

    const-string v7, "About to dispatch."

    aput-object v7, v6, v2

    invoke-virtual {v0, v6}, Lcom/otaliastudios/cameraview/c;->b([Ljava/lang/Object;)Ljava/lang/String;

    .line 3
    iget-object v0, p0, Lcom/otaliastudios/cameraview/video/d;->b:Lcom/otaliastudios/cameraview/video/d$a;

    if-eqz v0, :cond_1f

    .line 4
    invoke-interface {v0}, Lcom/otaliastudios/cameraview/video/d$a;->a()V

    .line 5
    :cond_1f
    :try_start_1f
    sget-object v0, Lcom/otaliastudios/cameraview/video/c;->j:Lcom/otaliastudios/cameraview/c;

    new-array v6, v5, [Ljava/lang/Object;

    const-string v7, "stop:"

    aput-object v7, v6, v1

    const-string v7, "Stopping MediaRecorder..."

    aput-object v7, v6, v2

    invoke-virtual {v0, v6}, Lcom/otaliastudios/cameraview/c;->b([Ljava/lang/Object;)Ljava/lang/String;

    .line 6
    iget-object v6, p0, Lcom/otaliastudios/cameraview/video/c;->g:Landroid/media/MediaRecorder;

    invoke-virtual {v6}, Landroid/media/MediaRecorder;->stop()V

    new-array v6, v5, [Ljava/lang/Object;

    const-string v7, "stop:"

    aput-object v7, v6, v1

    const-string v7, "Stopped MediaRecorder."

    aput-object v7, v6, v2

    .line 7
    invoke-virtual {v0, v6}, Lcom/otaliastudios/cameraview/c;->b([Ljava/lang/Object;)Ljava/lang/String;
    :try_end_40
    .catch Ljava/lang/Exception; {:try_start_1f .. :try_end_40} :catch_41

    goto :goto_5b

    :catch_41
    move-exception v0

    .line 8
    iput-object v4, p0, Lcom/otaliastudios/cameraview/video/d;->a:Lcom/otaliastudios/cameraview/p$a;

    .line 9
    iget-object v6, p0, Lcom/otaliastudios/cameraview/video/d;->c:Ljava/lang/Exception;

    if-nez v6, :cond_5b

    .line 10
    sget-object v6, Lcom/otaliastudios/cameraview/video/c;->j:Lcom/otaliastudios/cameraview/c;

    new-array v7, v3, [Ljava/lang/Object;

    const-string v8, "stop:"

    aput-object v8, v7, v1

    const-string v8, "Error while closing media recorder."

    aput-object v8, v7, v2

    aput-object v0, v7, v5

    invoke-virtual {v6, v7}, Lcom/otaliastudios/cameraview/c;->e([Ljava/lang/Object;)Ljava/lang/String;

    .line 11
    iput-object v0, p0, Lcom/otaliastudios/cameraview/video/d;->c:Ljava/lang/Exception;

    .line 12
    :cond_5b
    :goto_5b
    :try_start_5b
    sget-object v0, Lcom/otaliastudios/cameraview/video/c;->j:Lcom/otaliastudios/cameraview/c;

    new-array v6, v5, [Ljava/lang/Object;

    const-string v7, "stop:"

    aput-object v7, v6, v1

    const-string v7, "Releasing MediaRecorder..."

    aput-object v7, v6, v2

    invoke-virtual {v0, v6}, Lcom/otaliastudios/cameraview/c;->b([Ljava/lang/Object;)Ljava/lang/String;

    .line 13
    iget-object v6, p0, Lcom/otaliastudios/cameraview/video/c;->g:Landroid/media/MediaRecorder;

    invoke-virtual {v6}, Landroid/media/MediaRecorder;->release()V

    new-array v6, v5, [Ljava/lang/Object;

    const-string v7, "stop:"

    aput-object v7, v6, v1

    const-string v7, "Released MediaRecorder."

    aput-object v7, v6, v2

    .line 14
    invoke-virtual {v0, v6}, Lcom/otaliastudios/cameraview/c;->b([Ljava/lang/Object;)Ljava/lang/String;
    :try_end_7c
    .catch Ljava/lang/Exception; {:try_start_5b .. :try_end_7c} :catch_7d

    goto :goto_97

    :catch_7d
    move-exception v0

    .line 15
    iput-object v4, p0, Lcom/otaliastudios/cameraview/video/d;->a:Lcom/otaliastudios/cameraview/p$a;

    .line 16
    iget-object v6, p0, Lcom/otaliastudios/cameraview/video/d;->c:Ljava/lang/Exception;

    if-nez v6, :cond_97

    .line 17
    sget-object v6, Lcom/otaliastudios/cameraview/video/c;->j:Lcom/otaliastudios/cameraview/c;

    new-array v7, v3, [Ljava/lang/Object;

    const-string v8, "stop:"

    aput-object v8, v7, v1

    const-string v8, "Error while releasing media recorder."

    aput-object v8, v7, v2

    aput-object v0, v7, v5

    invoke-virtual {v6, v7}, Lcom/otaliastudios/cameraview/c;->e([Ljava/lang/Object;)Ljava/lang/String;

    .line 18
    iput-object v0, p0, Lcom/otaliastudios/cameraview/video/d;->c:Ljava/lang/Exception;

    .line 19
    :cond_97
    :goto_97
    iput-object v4, p0, Lcom/otaliastudios/cameraview/video/c;->h:Landroid/media/CamcorderProfile;

    .line 20
    iput-object v4, p0, Lcom/otaliastudios/cameraview/video/c;->g:Landroid/media/MediaRecorder;

    .line 21
    iput-boolean v1, p0, Lcom/otaliastudios/cameraview/video/c;->i:Z

    .line 22
    iget-object v0, p0, Lcom/otaliastudios/cameraview/video/d;->e:Ljava/lang/Object;

    monitor-enter v0

    .line 23
    :try_start_a0
    iget-object v6, p0, Lcom/otaliastudios/cameraview/video/d;->e:Ljava/lang/Object;

    monitor-enter v6
    :try_end_a3
    .catchall {:try_start_a0 .. :try_end_a3} :catchall_fc

    .line 24
    :try_start_a3
    iget v7, p0, Lcom/otaliastudios/cameraview/video/d;->d:I

    if-eqz v7, :cond_a9

    const/4 v7, 0x1

    goto :goto_aa

    :cond_a9
    const/4 v7, 0x0

    :goto_aa
    monitor-exit v6
    :try_end_ab
    .catchall {:try_start_a3 .. :try_end_ab} :catchall_f9

    if-nez v7, :cond_be

    .line 25
    :try_start_ad
    sget-object v3, Lcom/otaliastudios/cameraview/video/d;->f:Lcom/otaliastudios/cameraview/c;

    new-array v4, v5, [Ljava/lang/Object;

    const-string v5, "dispatchResult:"

    aput-object v5, v4, v1

    const-string v1, "Called, but not recording! Aborting."

    aput-object v1, v4, v2

    invoke-virtual {v3, v4}, Lcom/otaliastudios/cameraview/c;->e([Ljava/lang/Object;)Ljava/lang/String;

    .line 26
    monitor-exit v0

    goto :goto_f8

    .line 27
    :cond_be
    sget-object v6, Lcom/otaliastudios/cameraview/video/d;->f:Lcom/otaliastudios/cameraview/c;

    new-array v7, v5, [Ljava/lang/Object;

    const-string v8, "dispatchResult:"

    aput-object v8, v7, v1

    const-string v8, "Changed state to STATE_IDLE."

    aput-object v8, v7, v2

    invoke-virtual {v6, v7}, Lcom/otaliastudios/cameraview/c;->b([Ljava/lang/Object;)Ljava/lang/String;

    .line 28
    iput v1, p0, Lcom/otaliastudios/cameraview/video/d;->d:I

    .line 29
    monitor-exit v0
    :try_end_d0
    .catchall {:try_start_ad .. :try_end_d0} :catchall_fc

    .line 30
    invoke-virtual {p0}, Lcom/otaliastudios/cameraview/video/d;->b()V

    const/4 v0, 0x4

    new-array v0, v0, [Ljava/lang/Object;

    const-string v7, "dispatchResult:"

    aput-object v7, v0, v1

    const-string v1, "About to dispatch result:"

    aput-object v1, v0, v2

    .line 31
    iget-object v1, p0, Lcom/otaliastudios/cameraview/video/d;->a:Lcom/otaliastudios/cameraview/p$a;

    aput-object v1, v0, v5

    iget-object v1, p0, Lcom/otaliastudios/cameraview/video/d;->c:Ljava/lang/Exception;

    aput-object v1, v0, v3

    invoke-virtual {v6, v0}, Lcom/otaliastudios/cameraview/c;->b([Ljava/lang/Object;)Ljava/lang/String;

    .line 32
    iget-object v0, p0, Lcom/otaliastudios/cameraview/video/d;->b:Lcom/otaliastudios/cameraview/video/d$a;

    if-eqz v0, :cond_f4

    .line 33
    iget-object v1, p0, Lcom/otaliastudios/cameraview/video/d;->a:Lcom/otaliastudios/cameraview/p$a;

    iget-object v2, p0, Lcom/otaliastudios/cameraview/video/d;->c:Ljava/lang/Exception;

    invoke-interface {v0, v1, v2}, Lcom/otaliastudios/cameraview/video/d$a;->c(Lcom/otaliastudios/cameraview/p$a;Ljava/lang/Exception;)V

    .line 34
    :cond_f4
    iput-object v4, p0, Lcom/otaliastudios/cameraview/video/d;->a:Lcom/otaliastudios/cameraview/p$a;

    .line 35
    iput-object v4, p0, Lcom/otaliastudios/cameraview/video/d;->c:Ljava/lang/Exception;

    :goto_f8
    return-void

    :catchall_f9
    move-exception v1

    .line 36
    :try_start_fa
    monitor-exit v6
    :try_end_fb
    .catchall {:try_start_fa .. :try_end_fb} :catchall_f9

    :try_start_fb
    throw v1

    :catchall_fc
    move-exception v1

    .line 37
    monitor-exit v0
    :try_end_fe
    .catchall {:try_start_fb .. :try_end_fe} :catchall_fc

    throw v1
.end method

.method public abstract g(Landroid/media/MediaRecorder;)V
.end method

.method public abstract h(Lcom/otaliastudios/cameraview/p$a;)Landroid/media/CamcorderProfile;
.end method

.method public final i(Lcom/otaliastudios/cameraview/p$a;Z)Z
    .registers 27

    move-object/from16 v1, p0

    move-object/from16 v2, p1

    .line 1
    sget-object v0, Lcom/otaliastudios/cameraview/video/c;->j:Lcom/otaliastudios/cameraview/c;

    const/4 v3, 0x3

    new-array v4, v3, [Ljava/lang/Object;

    const/4 v5, 0x0

    const-string v6, "prepareMediaRecorder:"

    aput-object v6, v4, v5

    const/4 v7, 0x1

    const-string v8, "Preparing on thread"

    aput-object v8, v4, v7

    invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;

    move-result-object v8

    const/4 v9, 0x2

    aput-object v8, v4, v9

    invoke-virtual {v0, v4}, Lcom/otaliastudios/cameraview/c;->b([Ljava/lang/Object;)Ljava/lang/String;

    .line 2
    new-instance v0, Landroid/media/MediaRecorder;

    invoke-direct {v0}, Landroid/media/MediaRecorder;-><init>()V

    iput-object v0, v1, Lcom/otaliastudios/cameraview/video/c;->g:Landroid/media/MediaRecorder;

    .line 3
    invoke-virtual/range {p0 .. p1}, Lcom/otaliastudios/cameraview/video/c;->h(Lcom/otaliastudios/cameraview/p$a;)Landroid/media/CamcorderProfile;

    move-result-object v0

    iput-object v0, v1, Lcom/otaliastudios/cameraview/video/c;->h:Landroid/media/CamcorderProfile;

    .line 4
    iget-object v0, v1, Lcom/otaliastudios/cameraview/video/c;->g:Landroid/media/MediaRecorder;

    invoke-virtual {v1, v0}, Lcom/otaliastudios/cameraview/video/c;->g(Landroid/media/MediaRecorder;)V

    .line 5
    iget-object v0, v2, Lcom/otaliastudios/cameraview/p$a;->g:Lcom/otaliastudios/cameraview/controls/a;

    sget-object v4, Lcom/otaliastudios/cameraview/controls/a;->ON:Lcom/otaliastudios/cameraview/controls/a;

    if-ne v0, v4, :cond_3b

    .line 6
    iget-object v0, v1, Lcom/otaliastudios/cameraview/video/c;->h:Landroid/media/CamcorderProfile;

    iget v0, v0, Landroid/media/CamcorderProfile;->audioChannels:I

    move v4, v0

    goto :goto_48

    .line 7
    :cond_3b
    sget-object v4, Lcom/otaliastudios/cameraview/controls/a;->MONO:Lcom/otaliastudios/cameraview/controls/a;

    if-ne v0, v4, :cond_41

    const/4 v4, 0x1

    goto :goto_48

    .line 8
    :cond_41
    sget-object v4, Lcom/otaliastudios/cameraview/controls/a;->STEREO:Lcom/otaliastudios/cameraview/controls/a;

    if-ne v0, v4, :cond_47

    const/4 v4, 0x2

    goto :goto_48

    :cond_47
    const/4 v4, 0x0

    :goto_48
    if-lez v4, :cond_4c

    const/4 v8, 0x1

    goto :goto_4d

    :cond_4c
    const/4 v8, 0x0

    :goto_4d
    if-eqz v8, :cond_54

    .line 9
    iget-object v0, v1, Lcom/otaliastudios/cameraview/video/c;->g:Landroid/media/MediaRecorder;

    invoke-virtual {v0, v5}, Landroid/media/MediaRecorder;->setAudioSource(I)V

    .line 10
    :cond_54
    iget-object v0, v2, Lcom/otaliastudios/cameraview/p$a;->f:Lcom/otaliastudios/cameraview/controls/k;

    sget-object v10, Lcom/otaliastudios/cameraview/controls/k;->H_264:Lcom/otaliastudios/cameraview/controls/k;

    if-ne v0, v10, :cond_61

    .line 11
    iget-object v0, v1, Lcom/otaliastudios/cameraview/video/c;->h:Landroid/media/CamcorderProfile;

    iput v9, v0, Landroid/media/CamcorderProfile;->videoCodec:I

    .line 12
    iput v9, v0, Landroid/media/CamcorderProfile;->fileFormat:I

    goto :goto_6b

    .line 13
    :cond_61
    sget-object v10, Lcom/otaliastudios/cameraview/controls/k;->H_263:Lcom/otaliastudios/cameraview/controls/k;

    if-ne v0, v10, :cond_6b

    .line 14
    iget-object v0, v1, Lcom/otaliastudios/cameraview/video/c;->h:Landroid/media/CamcorderProfile;

    iput v7, v0, Landroid/media/CamcorderProfile;->videoCodec:I

    .line 15
    iput v9, v0, Landroid/media/CamcorderProfile;->fileFormat:I

    .line 16
    :cond_6b
    :goto_6b
    iget-object v0, v1, Lcom/otaliastudios/cameraview/video/c;->g:Landroid/media/MediaRecorder;

    iget-object v10, v1, Lcom/otaliastudios/cameraview/video/c;->h:Landroid/media/CamcorderProfile;

    iget v10, v10, Landroid/media/CamcorderProfile;->fileFormat:I

    invoke-virtual {v0, v10}, Landroid/media/MediaRecorder;->setOutputFormat(I)V

    .line 17
    iget v0, v2, Lcom/otaliastudios/cameraview/p$a;->k:I

    if-gtz v0, :cond_7e

    iget-object v0, v1, Lcom/otaliastudios/cameraview/video/c;->h:Landroid/media/CamcorderProfile;

    iget v0, v0, Landroid/media/CamcorderProfile;->videoFrameRate:I

    iput v0, v2, Lcom/otaliastudios/cameraview/p$a;->k:I

    .line 18
    :cond_7e
    iget v0, v2, Lcom/otaliastudios/cameraview/p$a;->j:I

    if-gtz v0, :cond_88

    iget-object v0, v1, Lcom/otaliastudios/cameraview/video/c;->h:Landroid/media/CamcorderProfile;

    iget v0, v0, Landroid/media/CamcorderProfile;->videoBitRate:I

    iput v0, v2, Lcom/otaliastudios/cameraview/p$a;->j:I

    .line 19
    :cond_88
    iget v0, v2, Lcom/otaliastudios/cameraview/p$a;->l:I

    if-gtz v0, :cond_94

    if-eqz v8, :cond_94

    iget-object v0, v1, Lcom/otaliastudios/cameraview/video/c;->h:Landroid/media/CamcorderProfile;

    iget v0, v0, Landroid/media/CamcorderProfile;->audioBitRate:I

    iput v0, v2, Lcom/otaliastudios/cameraview/p$a;->l:I

    :cond_94
    const/4 v11, 0x4

    const/4 v12, 0x5

    if-eqz p2, :cond_1d6

    .line 20
    iget-object v0, v1, Lcom/otaliastudios/cameraview/video/c;->h:Landroid/media/CamcorderProfile;

    iget v13, v0, Landroid/media/CamcorderProfile;->audioCodec:I

    const/4 v14, 0x6

    if-eq v13, v9, :cond_b0

    if-eq v13, v3, :cond_ad

    if-eq v13, v11, :cond_ad

    if-eq v13, v12, :cond_ad

    if-eq v13, v14, :cond_aa

    const-string v13, "audio/3gpp"

    goto :goto_b2

    :cond_aa
    const-string v13, "audio/vorbis"

    goto :goto_b2

    :cond_ad
    const-string v13, "audio/mp4a-latm"

    goto :goto_b2

    :cond_b0
    const-string v13, "audio/amr-wb"

    .line 21
    :goto_b2
    iget v0, v0, Landroid/media/CamcorderProfile;->videoCodec:I

    if-eq v0, v7, :cond_cb

    if-eq v0, v9, :cond_c8

    if-eq v0, v3, :cond_c5

    if-eq v0, v11, :cond_c2

    if-eq v0, v12, :cond_bf

    goto :goto_c8

    :cond_bf
    const-string v0, "video/hevc"

    goto :goto_cd

    :cond_c2
    const-string v0, "video/x-vnd.on2.vp8"

    goto :goto_cd

    :cond_c5
    const-string v0, "video/mp4v-es"

    goto :goto_cd

    :cond_c8
    :goto_c8
    const-string v0, "video/avc"

    goto :goto_cd

    :cond_cb
    const-string v0, "video/3gpp"

    :goto_cd
    move-object v15, v0

    .line 22
    iget v0, v2, Lcom/otaliastudios/cameraview/p$a;->b:I

    rem-int/lit16 v0, v0, 0xb4

    if-eqz v0, :cond_d7

    const/16 v16, 0x1

    goto :goto_d9

    :cond_d7
    const/16 v16, 0x0

    :goto_d9
    if-eqz v16, :cond_e3

    .line 23
    iget-object v0, v2, Lcom/otaliastudios/cameraview/p$a;->c:Lcom/otaliastudios/cameraview/size/b;

    invoke-virtual {v0}, Lcom/otaliastudios/cameraview/size/b;->b()Lcom/otaliastudios/cameraview/size/b;

    move-result-object v0

    iput-object v0, v2, Lcom/otaliastudios/cameraview/p$a;->c:Lcom/otaliastudios/cameraview/size/b;

    :cond_e3
    const/16 p2, 0x0

    const/4 v10, 0x0

    const/16 v17, 0x0

    const/16 v18, 0x0

    const/16 v19, 0x0

    const/16 v20, 0x0

    const/16 v21, 0x0

    :goto_f0
    if-nez v17, :cond_1c0

    .line 24
    sget-object v0, Lcom/otaliastudios/cameraview/video/c;->j:Lcom/otaliastudios/cameraview/c;

    new-array v12, v14, [Ljava/lang/Object;

    aput-object v6, v12, v5

    const-string v23, "Checking DeviceEncoders..."

    aput-object v23, v12, v7

    const-string v23, "videoOffset:"

    aput-object v23, v12, v9

    .line 25
    invoke-static/range {p2 .. p2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v23

    aput-object v23, v12, v3

    const-string v23, "audioOffset:"

    aput-object v23, v12, v11

    .line 26
    invoke-static/range {v21 .. v21}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v23

    const/16 v22, 0x5

    aput-object v23, v12, v22

    .line 27
    invoke-virtual {v0, v12}, Lcom/otaliastudios/cameraview/c;->b([Ljava/lang/Object;)Ljava/lang/String;

    .line 28
    :try_start_115
    new-instance v0, Lcom/otaliastudios/cameraview/internal/b;

    move/from16 v12, p2

    move/from16 v14, v21

    invoke-direct {v0, v15, v13, v12, v14}, Lcom/otaliastudios/cameraview/internal/b;-><init>(Ljava/lang/String;Ljava/lang/String;II)V
    :try_end_11e
    .catch Ljava/lang/RuntimeException; {:try_start_115 .. :try_end_11e} :catch_1a7

    .line 29
    :try_start_11e
    iget-object v11, v2, Lcom/otaliastudios/cameraview/p$a;->c:Lcom/otaliastudios/cameraview/size/b;

    invoke-virtual {v0, v11}, Lcom/otaliastudios/cameraview/internal/b;->e(Lcom/otaliastudios/cameraview/size/b;)Lcom/otaliastudios/cameraview/size/b;

    move-result-object v10

    .line 30
    iget v11, v2, Lcom/otaliastudios/cameraview/p$a;->j:I

    invoke-virtual {v0, v11}, Lcom/otaliastudios/cameraview/internal/b;->c(I)I

    move-result v11
    :try_end_12a
    .catch Lcom/otaliastudios/cameraview/internal/b$b; {:try_start_11e .. :try_end_12a} :catch_166
    .catch Lcom/otaliastudios/cameraview/internal/b$a; {:try_start_11e .. :try_end_12a} :catch_164

    .line 31
    :try_start_12a
    iget v9, v2, Lcom/otaliastudios/cameraview/p$a;->k:I

    invoke-virtual {v0, v10, v9}, Lcom/otaliastudios/cameraview/internal/b;->d(Lcom/otaliastudios/cameraview/size/b;I)I

    move-result v9
    :try_end_130
    .catch Lcom/otaliastudios/cameraview/internal/b$b; {:try_start_12a .. :try_end_130} :catch_162
    .catch Lcom/otaliastudios/cameraview/internal/b$a; {:try_start_12a .. :try_end_130} :catch_160

    .line 32
    :try_start_130
    invoke-virtual {v0, v15, v10, v9, v11}, Lcom/otaliastudios/cameraview/internal/b;->g(Ljava/lang/String;Lcom/otaliastudios/cameraview/size/b;II)V

    if-eqz v8, :cond_14d

    .line 33
    iget v7, v2, Lcom/otaliastudios/cameraview/p$a;->l:I

    invoke-virtual {v0, v7}, Lcom/otaliastudios/cameraview/internal/b;->b(I)I

    move-result v7
    :try_end_13b
    .catch Lcom/otaliastudios/cameraview/internal/b$b; {:try_start_130 .. :try_end_13b} :catch_15a
    .catch Lcom/otaliastudios/cameraview/internal/b$a; {:try_start_130 .. :try_end_13b} :catch_154

    .line 34
    :try_start_13b
    iget-object v5, v1, Lcom/otaliastudios/cameraview/video/c;->h:Landroid/media/CamcorderProfile;

    iget v5, v5, Landroid/media/CamcorderProfile;->audioSampleRate:I

    invoke-virtual {v0, v13, v7, v5, v4}, Lcom/otaliastudios/cameraview/internal/b;->f(Ljava/lang/String;III)V
    :try_end_142
    .catch Lcom/otaliastudios/cameraview/internal/b$b; {:try_start_13b .. :try_end_142} :catch_149
    .catch Lcom/otaliastudios/cameraview/internal/b$a; {:try_start_13b .. :try_end_142} :catch_145

    move/from16 v19, v7

    goto :goto_14d

    :catch_145
    move-exception v0

    move/from16 v19, v7

    goto :goto_155

    :catch_149
    move-exception v0

    move/from16 v19, v7

    goto :goto_15b

    :cond_14d
    :goto_14d
    move/from16 v20, v9

    move/from16 v18, v11

    const/16 v17, 0x1

    goto :goto_19b

    :catch_154
    move-exception v0

    :goto_155
    move/from16 v20, v9

    :goto_157
    move/from16 v18, v11

    goto :goto_168

    :catch_15a
    move-exception v0

    :goto_15b
    move/from16 v20, v9

    :goto_15d
    move/from16 v18, v11

    goto :goto_182

    :catch_160
    move-exception v0

    goto :goto_157

    :catch_162
    move-exception v0

    goto :goto_15d

    :catch_164
    move-exception v0

    goto :goto_168

    :catch_166
    move-exception v0

    goto :goto_182

    .line 35
    :goto_168
    sget-object v5, Lcom/otaliastudios/cameraview/video/c;->j:Lcom/otaliastudios/cameraview/c;

    new-array v7, v3, [Ljava/lang/Object;

    const/4 v9, 0x0

    aput-object v6, v7, v9

    const-string v9, "Got AudioException:"

    const/4 v11, 0x1

    aput-object v9, v7, v11

    .line 36
    invoke-virtual {v0}, Ljava/lang/Throwable;->getMessage()Ljava/lang/String;

    move-result-object v0

    const/4 v9, 0x2

    aput-object v0, v7, v9

    .line 37
    invoke-virtual {v5, v7}, Lcom/otaliastudios/cameraview/c;->b([Ljava/lang/Object;)Ljava/lang/String;

    add-int/lit8 v0, v14, 0x1

    move v14, v0

    goto :goto_19b

    .line 38
    :goto_182
    sget-object v5, Lcom/otaliastudios/cameraview/video/c;->j:Lcom/otaliastudios/cameraview/c;

    new-array v7, v3, [Ljava/lang/Object;

    const/4 v9, 0x0

    aput-object v6, v7, v9

    const-string v9, "Got VideoException:"

    const/4 v11, 0x1

    aput-object v9, v7, v11

    .line 39
    invoke-virtual {v0}, Ljava/lang/Throwable;->getMessage()Ljava/lang/String;

    move-result-object v0

    const/4 v9, 0x2

    aput-object v0, v7, v9

    .line 40
    invoke-virtual {v5, v7}, Lcom/otaliastudios/cameraview/c;->b([Ljava/lang/Object;)Ljava/lang/String;

    add-int/lit8 v0, v12, 0x1

    move v12, v0

    :goto_19b
    move/from16 p2, v12

    move/from16 v21, v14

    const/4 v5, 0x0

    const/4 v7, 0x1

    const/4 v9, 0x2

    const/4 v11, 0x4

    const/4 v12, 0x5

    const/4 v14, 0x6

    goto/16 :goto_f0

    .line 41
    :catch_1a7
    sget-object v0, Lcom/otaliastudios/cameraview/video/c;->j:Lcom/otaliastudios/cameraview/c;

    new-array v3, v3, [Ljava/lang/Object;

    const/4 v4, 0x0

    aput-object v6, v3, v4

    const-string v5, "Could not respect encoders parameters."

    const/4 v6, 0x1

    aput-object v5, v3, v6

    const-string v5, "Trying again without checking encoders."

    const/4 v6, 0x2

    aput-object v5, v3, v6

    invoke-virtual {v0, v3}, Lcom/otaliastudios/cameraview/c;->e([Ljava/lang/Object;)Ljava/lang/String;

    .line 42
    invoke-virtual {v1, v2, v4}, Lcom/otaliastudios/cameraview/video/c;->i(Lcom/otaliastudios/cameraview/p$a;Z)Z

    move-result v0

    return v0

    .line 43
    :cond_1c0
    iput-object v10, v2, Lcom/otaliastudios/cameraview/p$a;->c:Lcom/otaliastudios/cameraview/size/b;

    move/from16 v5, v18

    .line 44
    iput v5, v2, Lcom/otaliastudios/cameraview/p$a;->j:I

    move/from16 v5, v19

    .line 45
    iput v5, v2, Lcom/otaliastudios/cameraview/p$a;->l:I

    move/from16 v5, v20

    .line 46
    iput v5, v2, Lcom/otaliastudios/cameraview/p$a;->k:I

    if-eqz v16, :cond_1d6

    .line 47
    invoke-virtual {v10}, Lcom/otaliastudios/cameraview/size/b;->b()Lcom/otaliastudios/cameraview/size/b;

    move-result-object v0

    iput-object v0, v2, Lcom/otaliastudios/cameraview/p$a;->c:Lcom/otaliastudios/cameraview/size/b;

    .line 48
    :cond_1d6
    iget v0, v2, Lcom/otaliastudios/cameraview/p$a;->b:I

    rem-int/lit16 v0, v0, 0xb4

    if-eqz v0, :cond_1de

    const/4 v0, 0x1

    goto :goto_1df

    :cond_1de
    const/4 v0, 0x0

    .line 49
    :goto_1df
    iget-object v5, v1, Lcom/otaliastudios/cameraview/video/c;->g:Landroid/media/MediaRecorder;

    .line 50
    iget-object v7, v2, Lcom/otaliastudios/cameraview/p$a;->c:Lcom/otaliastudios/cameraview/size/b;

    if-eqz v0, :cond_1e8

    .line 51
    iget v9, v7, Lcom/otaliastudios/cameraview/size/b;->b:I

    goto :goto_1ea

    .line 52
    :cond_1e8
    iget v9, v7, Lcom/otaliastudios/cameraview/size/b;->a:I

    :goto_1ea
    if-eqz v0, :cond_1ef

    .line 53
    iget v0, v7, Lcom/otaliastudios/cameraview/size/b;->a:I

    goto :goto_1f1

    .line 54
    :cond_1ef
    iget v0, v7, Lcom/otaliastudios/cameraview/size/b;->b:I

    .line 55
    :goto_1f1
    invoke-virtual {v5, v9, v0}, Landroid/media/MediaRecorder;->setVideoSize(II)V

    .line 56
    iget-object v0, v1, Lcom/otaliastudios/cameraview/video/c;->g:Landroid/media/MediaRecorder;

    iget v5, v2, Lcom/otaliastudios/cameraview/p$a;->k:I

    invoke-virtual {v0, v5}, Landroid/media/MediaRecorder;->setVideoFrameRate(I)V

    .line 57
    iget-object v0, v1, Lcom/otaliastudios/cameraview/video/c;->g:Landroid/media/MediaRecorder;

    iget-object v5, v1, Lcom/otaliastudios/cameraview/video/c;->h:Landroid/media/CamcorderProfile;

    iget v5, v5, Landroid/media/CamcorderProfile;->videoCodec:I

    invoke-virtual {v0, v5}, Landroid/media/MediaRecorder;->setVideoEncoder(I)V

    .line 58
    iget-object v0, v1, Lcom/otaliastudios/cameraview/video/c;->g:Landroid/media/MediaRecorder;

    iget v5, v2, Lcom/otaliastudios/cameraview/p$a;->j:I

    invoke-virtual {v0, v5}, Landroid/media/MediaRecorder;->setVideoEncodingBitRate(I)V

    if-eqz v8, :cond_22b

    .line 59
    iget-object v0, v1, Lcom/otaliastudios/cameraview/video/c;->g:Landroid/media/MediaRecorder;

    invoke-virtual {v0, v4}, Landroid/media/MediaRecorder;->setAudioChannels(I)V

    .line 60
    iget-object v0, v1, Lcom/otaliastudios/cameraview/video/c;->g:Landroid/media/MediaRecorder;

    iget-object v4, v1, Lcom/otaliastudios/cameraview/video/c;->h:Landroid/media/CamcorderProfile;

    iget v4, v4, Landroid/media/CamcorderProfile;->audioSampleRate:I

    invoke-virtual {v0, v4}, Landroid/media/MediaRecorder;->setAudioSamplingRate(I)V

    .line 61
    iget-object v0, v1, Lcom/otaliastudios/cameraview/video/c;->g:Landroid/media/MediaRecorder;

    iget-object v4, v1, Lcom/otaliastudios/cameraview/video/c;->h:Landroid/media/CamcorderProfile;

    iget v4, v4, Landroid/media/CamcorderProfile;->audioCodec:I

    invoke-virtual {v0, v4}, Landroid/media/MediaRecorder;->setAudioEncoder(I)V

    .line 62
    iget-object v0, v1, Lcom/otaliastudios/cameraview/video/c;->g:Landroid/media/MediaRecorder;

    iget v4, v2, Lcom/otaliastudios/cameraview/p$a;->l:I

    invoke-virtual {v0, v4}, Landroid/media/MediaRecorder;->setAudioEncodingBitRate(I)V

    .line 63
    :cond_22b
    iget-object v0, v2, Lcom/otaliastudios/cameraview/p$a;->a:Landroid/location/Location;

    if-eqz v0, :cond_240

    .line 64
    iget-object v4, v1, Lcom/otaliastudios/cameraview/video/c;->g:Landroid/media/MediaRecorder;

    .line 65
    invoke-virtual {v0}, Landroid/location/Location;->getLatitude()D

    move-result-wide v7

    double-to-float v0, v7

    iget-object v5, v2, Lcom/otaliastudios/cameraview/p$a;->a:Landroid/location/Location;

    .line 66
    invoke-virtual {v5}, Landroid/location/Location;->getLongitude()D

    move-result-wide v7

    double-to-float v5, v7

    .line 67
    invoke-virtual {v4, v0, v5}, Landroid/media/MediaRecorder;->setLocation(FF)V

    .line 68
    :cond_240
    iget-object v0, v2, Lcom/otaliastudios/cameraview/p$a;->d:Ljava/io/File;

    if-eqz v0, :cond_24e

    .line 69
    iget-object v4, v1, Lcom/otaliastudios/cameraview/video/c;->g:Landroid/media/MediaRecorder;

    invoke-virtual {v0}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;

    move-result-object v0

    invoke-virtual {v4, v0}, Landroid/media/MediaRecorder;->setOutputFile(Ljava/lang/String;)V

    goto :goto_257

    .line 70
    :cond_24e
    iget-object v0, v2, Lcom/otaliastudios/cameraview/p$a;->e:Ljava/io/FileDescriptor;

    if-eqz v0, :cond_2e2

    .line 71
    iget-object v4, v1, Lcom/otaliastudios/cameraview/video/c;->g:Landroid/media/MediaRecorder;

    invoke-virtual {v4, v0}, Landroid/media/MediaRecorder;->setOutputFile(Ljava/io/FileDescriptor;)V

    .line 72
    :goto_257
    iget-object v0, v1, Lcom/otaliastudios/cameraview/video/c;->g:Landroid/media/MediaRecorder;

    iget v4, v2, Lcom/otaliastudios/cameraview/p$a;->b:I

    invoke-virtual {v0, v4}, Landroid/media/MediaRecorder;->setOrientationHint(I)V

    .line 73
    iget-object v0, v1, Lcom/otaliastudios/cameraview/video/c;->g:Landroid/media/MediaRecorder;

    iget-wide v4, v2, Lcom/otaliastudios/cameraview/p$a;->h:J

    const-wide/16 v7, 0x0

    const-wide v9, 0x3feccccccccccccdL    # 0.9

    cmp-long v11, v4, v7

    if-gtz v11, :cond_26e

    goto :goto_274

    :cond_26e
    long-to-double v4, v4

    div-double/2addr v4, v9

    .line 74
    invoke-static {v4, v5}, Ljava/lang/Math;->round(D)J

    move-result-wide v4

    .line 75
    :goto_274
    invoke-virtual {v0, v4, v5}, Landroid/media/MediaRecorder;->setMaxFileSize(J)V

    .line 76
    sget-object v0, Lcom/otaliastudios/cameraview/video/c;->j:Lcom/otaliastudios/cameraview/c;

    const/4 v4, 0x5

    new-array v4, v4, [Ljava/lang/Object;

    const/4 v5, 0x0

    aput-object v6, v4, v5

    const-string v5, "Increased max size from"

    const/4 v7, 0x1

    aput-object v5, v4, v7

    iget-wide v7, v2, Lcom/otaliastudios/cameraview/p$a;->h:J

    invoke-static {v7, v8}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;

    move-result-object v5

    const/4 v7, 0x2

    aput-object v5, v4, v7

    const-string v5, "to"

    aput-object v5, v4, v3

    iget-wide v7, v2, Lcom/otaliastudios/cameraview/p$a;->h:J

    long-to-double v7, v7

    div-double/2addr v7, v9

    .line 77
    invoke-static {v7, v8}, Ljava/lang/Math;->round(D)J

    move-result-wide v7

    invoke-static {v7, v8}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;

    move-result-object v5

    const/4 v7, 0x4

    aput-object v5, v4, v7

    .line 78
    invoke-virtual {v0, v4}, Lcom/otaliastudios/cameraview/c;->b([Ljava/lang/Object;)Ljava/lang/String;

    .line 79
    iget-object v0, v1, Lcom/otaliastudios/cameraview/video/c;->g:Landroid/media/MediaRecorder;

    iget v2, v2, Lcom/otaliastudios/cameraview/p$a;->i:I

    invoke-virtual {v0, v2}, Landroid/media/MediaRecorder;->setMaxDuration(I)V

    .line 80
    iget-object v0, v1, Lcom/otaliastudios/cameraview/video/c;->g:Landroid/media/MediaRecorder;

    new-instance v2, Lcom/otaliastudios/cameraview/video/c$a;

    invoke-direct {v2, v1}, Lcom/otaliastudios/cameraview/video/c$a;-><init>(Lcom/otaliastudios/cameraview/video/c;)V

    invoke-virtual {v0, v2}, Landroid/media/MediaRecorder;->setOnInfoListener(Landroid/media/MediaRecorder$OnInfoListener;)V

    .line 81
    iget-object v0, v1, Lcom/otaliastudios/cameraview/video/c;->g:Landroid/media/MediaRecorder;

    new-instance v2, Lcom/otaliastudios/cameraview/video/c$b;

    invoke-direct {v2, v1}, Lcom/otaliastudios/cameraview/video/c$b;-><init>(Lcom/otaliastudios/cameraview/video/c;)V

    invoke-virtual {v0, v2}, Landroid/media/MediaRecorder;->setOnErrorListener(Landroid/media/MediaRecorder$OnErrorListener;)V

    .line 82
    :try_start_2be
    iget-object v0, v1, Lcom/otaliastudios/cameraview/video/c;->g:Landroid/media/MediaRecorder;

    invoke-virtual {v0}, Landroid/media/MediaRecorder;->prepare()V

    const/4 v2, 0x1

    .line 83
    iput-boolean v2, v1, Lcom/otaliastudios/cameraview/video/c;->i:Z

    const/4 v4, 0x0

    .line 84
    iput-object v4, v1, Lcom/otaliastudios/cameraview/video/d;->c:Ljava/lang/Exception;
    :try_end_2c9
    .catch Ljava/lang/Exception; {:try_start_2be .. :try_end_2c9} :catch_2ca

    return v2

    :catch_2ca
    move-exception v0

    .line 85
    sget-object v2, Lcom/otaliastudios/cameraview/video/c;->j:Lcom/otaliastudios/cameraview/c;

    new-array v3, v3, [Ljava/lang/Object;

    const/4 v4, 0x0

    aput-object v6, v3, v4

    const-string v5, "Error while preparing media recorder."

    const/4 v6, 0x1

    aput-object v5, v3, v6

    const/4 v5, 0x2

    aput-object v0, v3, v5

    invoke-virtual {v2, v3}, Lcom/otaliastudios/cameraview/c;->e([Ljava/lang/Object;)Ljava/lang/String;

    .line 86
    iput-boolean v4, v1, Lcom/otaliastudios/cameraview/video/c;->i:Z

    .line 87
    iput-object v0, v1, Lcom/otaliastudios/cameraview/video/d;->c:Ljava/lang/Exception;

    return v4

    .line 88
    :cond_2e2
    new-instance v0, Ljava/lang/IllegalStateException;

    const-string v2, "file and fileDescriptor are both null."

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

    throw v0
.end method