a.smali
.class public final Lcom/tencent/liteav/videoproducer/capture/b/a;
.super Lcom/tencent/liteav/videoproducer/capture/CameraControllerInterface;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/tencent/liteav/videoproducer/capture/b/a$a;
}
.end annotation
# static fields
.field private static final b:Ljava/util/HashMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/HashMap<",
"Ljava/lang/String;",
"Landroid/hardware/camera2/CameraCharacteristics;",
">;"
}
.end annotation
.end field
.field private static c:Z
.field private static d:Ljava/lang/String;
.field private static e:Ljava/lang/String;
# instance fields
.field private A:F
.field private final B:Landroid/hardware/camera2/CameraDevice$StateCallback;
.field private final C:Landroid/hardware/camera2/CameraCaptureSession$StateCallback;
.field private final D:Landroid/hardware/camera2/CameraManager$AvailabilityCallback;
.field private final E:Landroid/hardware/camera2/CameraCaptureSession$CaptureCallback;
.field public a:Z
.field private final f:Landroid/os/Handler;
.field private final g:Lcom/tencent/liteav/base/util/v;
.field private final h:Ljava/util/concurrent/atomic/AtomicBoolean;
.field private final i:Ljava/util/concurrent/atomic/AtomicReference;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/atomic/AtomicReference<",
"Landroid/hardware/camera2/CameraDevice;",
">;"
}
.end annotation
.end field
.field private final j:Ljava/util/concurrent/atomic/AtomicBoolean;
.field private final k:Ljava/util/concurrent/atomic/AtomicReference;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/atomic/AtomicReference<",
"Landroid/hardware/camera2/CameraCaptureSession;",
">;"
}
.end annotation
.end field
.field private l:Landroid/hardware/camera2/CaptureRequest;
.field private m:Landroid/hardware/camera2/CaptureRequest$Builder;
.field private n:Lcom/tencent/liteav/base/util/Size;
.field private o:Lcom/tencent/liteav/videobase/utils/Rotation;
.field private p:Landroid/graphics/SurfaceTexture;
.field private q:Z
.field private r:Z
.field private s:Z
.field private t:I
.field private u:Lcom/tencent/liteav/videoproducer/capture/b/a$a;
.field private v:Z
.field private w:Ljava/util/concurrent/CountDownLatch;
.field private x:Ljava/util/concurrent/CountDownLatch;
.field private y:Lcom/tencent/liteav/videoproducer/capture/CameraEventCallback;
.field private z:F
# direct methods
.method static constructor <clinit>()V
.registers 1
.line 65
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
sput-object v0, Lcom/tencent/liteav/videoproducer/capture/b/a;->b:Ljava/util/HashMap;
const-string v0, ""
.line 68
sput-object v0, Lcom/tencent/liteav/videoproducer/capture/b/a;->d:Ljava/lang/String;
.line 69
sput-object v0, Lcom/tencent/liteav/videoproducer/capture/b/a;->e:Ljava/lang/String;
return-void
.end method
.method public constructor <init>(Lcom/tencent/liteav/base/util/v;)V
.registers 4
.line 193
invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/CameraControllerInterface;-><init>()V
.line 71
new-instance v0, Landroid/os/Handler;
invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper;
move-result-object v1
invoke-direct {v0, v1}, Landroid/os/Handler;-><init>(Landroid/os/Looper;)V
iput-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->f:Landroid/os/Handler;
.line 73
new-instance v0, Ljava/util/concurrent/atomic/AtomicBoolean;
const/4 v1, 0x0
invoke-direct {v0, v1}, Ljava/util/concurrent/atomic/AtomicBoolean;-><init>(Z)V
iput-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->h:Ljava/util/concurrent/atomic/AtomicBoolean;
.line 74
new-instance v0, Ljava/util/concurrent/atomic/AtomicReference;
invoke-direct {v0}, Ljava/util/concurrent/atomic/AtomicReference;-><init>()V
iput-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->i:Ljava/util/concurrent/atomic/AtomicReference;
.line 75
new-instance v0, Ljava/util/concurrent/atomic/AtomicBoolean;
invoke-direct {v0, v1}, Ljava/util/concurrent/atomic/AtomicBoolean;-><init>(Z)V
iput-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->j:Ljava/util/concurrent/atomic/AtomicBoolean;
.line 76
new-instance v0, Ljava/util/concurrent/atomic/AtomicReference;
invoke-direct {v0}, Ljava/util/concurrent/atomic/AtomicReference;-><init>()V
iput-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->k:Ljava/util/concurrent/atomic/AtomicReference;
.line 82
sget-object v0, Lcom/tencent/liteav/videobase/utils/Rotation;->a:Lcom/tencent/liteav/videobase/utils/Rotation;
iput-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->o:Lcom/tencent/liteav/videobase/utils/Rotation;
const/4 v0, 0x1
.line 84
iput-boolean v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->q:Z
.line 85
iput-boolean v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->r:Z
.line 86
iput-boolean v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->s:Z
const/4 v0, -0x1
.line 87
iput v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->t:I
.line 88
sget-object v0, Lcom/tencent/liteav/videoproducer/capture/b/a$a;->a:Lcom/tencent/liteav/videoproducer/capture/b/a$a;
iput-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->u:Lcom/tencent/liteav/videoproducer/capture/b/a$a;
.line 89
iput-boolean v1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->v:Z
.line 90
iput-boolean v1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->a:Z
const/4 v0, 0x0
.line 96
iput v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->z:F
.line 97
iput v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->A:F
.line 105
new-instance v0, Lcom/tencent/liteav/videoproducer/capture/b/a$1;
invoke-direct {v0, p0}, Lcom/tencent/liteav/videoproducer/capture/b/a$1;-><init>(Lcom/tencent/liteav/videoproducer/capture/b/a;)V
iput-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->B:Landroid/hardware/camera2/CameraDevice$StateCallback;
.line 147
new-instance v0, Lcom/tencent/liteav/videoproducer/capture/b/a$2;
invoke-direct {v0, p0}, Lcom/tencent/liteav/videoproducer/capture/b/a$2;-><init>(Lcom/tencent/liteav/videoproducer/capture/b/a;)V
iput-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->C:Landroid/hardware/camera2/CameraCaptureSession$StateCallback;
.line 162
new-instance v0, Lcom/tencent/liteav/videoproducer/capture/b/a$3;
invoke-direct {v0, p0}, Lcom/tencent/liteav/videoproducer/capture/b/a$3;-><init>(Lcom/tencent/liteav/videoproducer/capture/b/a;)V
iput-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->D:Landroid/hardware/camera2/CameraManager$AvailabilityCallback;
.line 853
new-instance v0, Lcom/tencent/liteav/videoproducer/capture/b/a$4;
invoke-direct {v0, p0}, Lcom/tencent/liteav/videoproducer/capture/b/a$4;-><init>(Lcom/tencent/liteav/videoproducer/capture/b/a;)V
iput-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->E:Landroid/hardware/camera2/CameraCaptureSession$CaptureCallback;
.line 194
iput-object p1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->g:Lcom/tencent/liteav/base/util/v;
return-void
.end method
.method static synthetic a([I[I)I
.registers 3
const/4 v0, 0x1
.line 773
aget p0, p0, v0
aget p1, p1, v0
sub-int/2addr p0, p1
return p0
.end method
.method private a()Landroid/hardware/camera2/CameraCharacteristics;
.registers 3
.line 588
iget-boolean v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->q:Z
invoke-static {v0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->b(Z)Ljava/lang/String;
move-result-object v0
.line 589
invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v1
if-nez v1, :cond_15
.line 590
sget-object v1, Lcom/tencent/liteav/videoproducer/capture/b/a;->b:Ljava/util/HashMap;
invoke-virtual {v1, v0}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/hardware/camera2/CameraCharacteristics;
return-object v0
:cond_15
const/4 v0, 0x0
return-object v0
.end method
.method private a(I)Landroid/util/Range;
.registers 9
.annotation system Ldalvik/annotation/Signature;
value = {
"(I)",
"Landroid/util/Range<",
"Ljava/lang/Integer;",
">;"
}
.end annotation
.line 767
invoke-static {p1}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object v0
const-string v1, "preferred fps: "
invoke-virtual {v1, v0}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const-string v1, "Camera2Controller"
invoke-static {v1, v0}, Lcom/tencent/liteav/base/util/LiteavLog;->i(Ljava/lang/String;Ljava/lang/String;)V
.line 768
new-instance v0, Landroid/util/Range;
invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v2
invoke-direct {v0, v1, v2}, Landroid/util/Range;-><init>(Ljava/lang/Comparable;Ljava/lang/Comparable;)V
.line 769
invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->f()Ljava/util/List;
move-result-object v1
.line 770
invoke-static {v1}, Lcom/tencent/liteav/videobase/utils/c;->a(Ljava/util/Collection;)Z
move-result v2
if-eqz v2, :cond_27
return-object v0
.line 773
:cond_27
invoke-static {}, Lcom/tencent/liteav/videoproducer/capture/b/c;->a()Ljava/util/Comparator;
move-result-object v2
invoke-static {v1, v2}, Ljava/util/Collections;->sort(Ljava/util/List;Ljava/util/Comparator;)V
const/4 v2, 0x0
.line 775
invoke-interface {v1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v1
:cond_33
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v3
const/4 v4, 0x1
const/4 v5, 0x0
if-eqz v3, :cond_4a
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v3
check-cast v3, [I
.line 776
aget v6, v3, v5
if-gt v6, p1, :cond_33
aget v6, v3, v4
if-gt p1, v6, :cond_33
move-object v2, v3
:cond_4a
if-eqz v2, :cond_61
.line 782
array-length p1, v2
const/4 v1, 0x2
if-lt p1, v1, :cond_61
.line 783
new-instance v0, Landroid/util/Range;
aget p1, v2, v5
invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p1
aget v1, v2, v4
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
invoke-direct {v0, p1, v1}, Landroid/util/Range;-><init>(Ljava/lang/Comparable;Ljava/lang/Comparable;)V
:cond_61
return-object v0
.end method
.method static synthetic a(Z)Ljava/lang/String;
.registers 1
.line 57
invoke-static {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->b(Z)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method private a(F)V
.registers 4
.line 284
iget-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->m:Landroid/hardware/camera2/CaptureRequest$Builder;
if-eqz v0, :cond_17
invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->a()Landroid/hardware/camera2/CameraCharacteristics;
move-result-object v0
if-nez v0, :cond_b
goto :goto_17
.line 288
:cond_b
iget-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->m:Landroid/hardware/camera2/CaptureRequest$Builder;
sget-object v1, Landroid/hardware/camera2/CaptureRequest;->SCALER_CROP_REGION:Landroid/hardware/camera2/CaptureRequest$Key;
invoke-direct {p0, p1}, Lcom/tencent/liteav/videoproducer/capture/b/a;->c(F)Landroid/graphics/Rect;
move-result-object p1
invoke-virtual {v0, v1, p1}, Landroid/hardware/camera2/CaptureRequest$Builder;->set(Landroid/hardware/camera2/CaptureRequest$Key;Ljava/lang/Object;)V
return-void
.line 285
:cond_17
:goto_17
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "setZoom fail, scale:"
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder;
const-string p1, " mPreviewBuilder is null."
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
const-string v0, "Camera2Controller"
invoke-static {v0, p1}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;)V
return-void
.end method
.method static synthetic a(Lcom/tencent/liteav/videoproducer/capture/b/a;)V
.registers 2
.line 443
invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->g()Z
move-result v0
if-eqz v0, :cond_e
const-string p0, "Camera2Controller"
const-string v0, "onCameraError, but camera is invalid, do not send camera error."
.line 444
invoke-static {p0, v0}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;)V
return-void
.line 447
:cond_e
iget-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->y:Lcom/tencent/liteav/videoproducer/capture/CameraEventCallback;
if-eqz v0, :cond_15
.line 449
invoke-interface {v0, p0}, Lcom/tencent/liteav/videoproducer/capture/CameraEventCallback;->onCameraError(Lcom/tencent/liteav/videoproducer/capture/CameraControllerInterface;)V
:cond_15
return-void
.end method
.method static synthetic a(Lcom/tencent/liteav/videoproducer/capture/b/a;Z)V
.registers 3
.line 4483
invoke-static {p1}, Ljava/lang/String;->valueOf(Z)Ljava/lang/String;
move-result-object p1
const-string v0, "onFocusCallback success:"
invoke-virtual {v0, p1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
const-string v0, "Camera2Controller"
invoke-static {v0, p1}, Lcom/tencent/liteav/base/util/LiteavLog;->i(Ljava/lang/String;Ljava/lang/String;)V
const/4 p1, 0x1
.line 4484
iput-boolean p1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->a:Z
return-void
.end method
.method static synthetic a(Lcom/tencent/liteav/videoproducer/capture/b/a;ZLandroid/hardware/camera2/CameraCaptureSession;)V
.registers 3
.line 57
invoke-direct {p0, p1, p2}, Lcom/tencent/liteav/videoproducer/capture/b/a;->a(ZLandroid/hardware/camera2/CameraCaptureSession;)V
return-void
.end method
.method static synthetic a(Lcom/tencent/liteav/videoproducer/capture/b/a;ZLandroid/hardware/camera2/CameraDevice;)V
.registers 3
.line 57
invoke-direct {p0, p1, p2}, Lcom/tencent/liteav/videoproducer/capture/b/a;->a(ZLandroid/hardware/camera2/CameraDevice;)V
return-void
.end method
.method private a(ZLandroid/hardware/camera2/CameraCaptureSession;)V
.registers 5
.line 474
iget-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->x:Ljava/util/concurrent/CountDownLatch;
.line 475
iget-object v1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->j:Ljava/util/concurrent/atomic/AtomicBoolean;
invoke-virtual {v1, p1}, Ljava/util/concurrent/atomic/AtomicBoolean;->set(Z)V
.line 476
iget-object p1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->k:Ljava/util/concurrent/atomic/AtomicReference;
invoke-virtual {p1, p2}, Ljava/util/concurrent/atomic/AtomicReference;->set(Ljava/lang/Object;)V
if-eqz v0, :cond_11
.line 478
invoke-virtual {v0}, Ljava/util/concurrent/CountDownLatch;->countDown()V
:cond_11
return-void
.end method
.method private a(ZLandroid/hardware/camera2/CameraDevice;)V
.registers 5
.line 465
iget-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->w:Ljava/util/concurrent/CountDownLatch;
.line 466
iget-object v1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->h:Ljava/util/concurrent/atomic/AtomicBoolean;
invoke-virtual {v1, p1}, Ljava/util/concurrent/atomic/AtomicBoolean;->set(Z)V
.line 467
iget-object p1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->i:Ljava/util/concurrent/atomic/AtomicReference;
invoke-virtual {p1, p2}, Ljava/util/concurrent/atomic/AtomicReference;->set(Ljava/lang/Object;)V
if-eqz v0, :cond_11
.line 469
invoke-virtual {v0}, Ljava/util/concurrent/CountDownLatch;->countDown()V
:cond_11
return-void
.end method
.method private a(II)Z
.registers 8
.line 597
iget-boolean v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->q:Z
invoke-static {v0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->b(Z)Ljava/lang/String;
move-result-object v0
.line 598
invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->a()Landroid/hardware/camera2/CameraCharacteristics;
move-result-object v1
const/4 v2, 0x0
const-string v3, "Camera2Controller"
if-nez v1, :cond_15
const-string p1, "openCamera fail getCameraCharacteristics null"
.line 599
invoke-static {v3, p1}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;)V
return v2
.line 604
:cond_15
invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->a()Landroid/hardware/camera2/CameraCharacteristics;
move-result-object v1
sget-object v4, Landroid/hardware/camera2/CameraCharacteristics;->SENSOR_ORIENTATION:Landroid/hardware/camera2/CameraCharacteristics$Key;
invoke-virtual {v1, v4}, Landroid/hardware/camera2/CameraCharacteristics;->get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/Integer;
invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
move-result v1
.line 603
invoke-static {v1}, Lcom/tencent/liteav/videobase/utils/Rotation;->a(I)Lcom/tencent/liteav/videobase/utils/Rotation;
move-result-object v1
iput-object v1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->o:Lcom/tencent/liteav/videobase/utils/Rotation;
.line 607
invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->e()Ljava/util/List;
move-result-object v1
iget-object v4, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->o:Lcom/tencent/liteav/videobase/utils/Rotation;
.line 606
invoke-static {v1, v4, p1, p2}, Lcom/tencent/liteav/videoproducer/capture/ai;->a(Ljava/util/List;Lcom/tencent/liteav/videobase/utils/Rotation;II)Lcom/tencent/liteav/base/util/Size;
move-result-object p1
iput-object p1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->n:Lcom/tencent/liteav/base/util/Size;
.line 608
new-instance p1, Ljava/lang/StringBuilder;
const-string p2, "openCamera ,id:"
invoke-direct {p1, p2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p2, ","
invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-boolean p2, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->q:Z
if-eqz p2, :cond_4d
const-string p2, "front camera"
goto :goto_4f
:cond_4d
const-string p2, "back camera"
:goto_4f
invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p2, " mPreviewSize "
invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object p2, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->n:Lcom/tencent/liteav/base/util/Size;
invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string p2, " mCameraRotation "
invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object p2, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->o:Lcom/tencent/liteav/videobase/utils/Rotation;
invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string p2, " mIsCameraSupportAutoFocus "
invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-boolean p2, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->s:Z
invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-static {v3, p1}, Lcom/tencent/liteav/base/util/LiteavLog;->i(Ljava/lang/String;Ljava/lang/String;)V
.line 614
:try_start_77
new-instance p1, Ljava/util/concurrent/CountDownLatch;
const/4 p2, 0x1
invoke-direct {p1, p2}, Ljava/util/concurrent/CountDownLatch;-><init>(I)V
iput-object p1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->w:Ljava/util/concurrent/CountDownLatch;
.line 616
invoke-static {}, Lcom/tencent/liteav/base/ContextUtils;->getApplicationContext()Landroid/content/Context;
move-result-object p1
const-string p2, "camera"
invoke-virtual {p1, p2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Landroid/hardware/camera2/CameraManager;
.line 618
iget-object p2, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->B:Landroid/hardware/camera2/CameraDevice$StateCallback;
iget-object v1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->f:Landroid/os/Handler;
invoke-virtual {p1, v0, p2, v1}, Landroid/hardware/camera2/CameraManager;->openCamera(Ljava/lang/String;Landroid/hardware/camera2/CameraDevice$StateCallback;Landroid/os/Handler;)V
.line 619
iget-object p1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->w:Ljava/util/concurrent/CountDownLatch;
invoke-virtual {p1}, Ljava/util/concurrent/CountDownLatch;->await()V
:try_end_97
.catch Ljava/lang/Exception; {:try_start_77 .. :try_end_97} :catch_98
goto :goto_aa
:catch_98
move-exception p1
.line 621
invoke-static {p1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object p1
const-string p2, "openCamera exception:"
invoke-virtual {p2, p1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
invoke-static {v3, p1}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;)V
const/4 p1, 0x0
.line 622
invoke-direct {p0, v2, p1}, Lcom/tencent/liteav/videoproducer/capture/b/a;->a(ZLandroid/hardware/camera2/CameraDevice;)V
.line 624
:goto_aa
iget-object p1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->h:Ljava/util/concurrent/atomic/AtomicBoolean;
invoke-virtual {p1}, Ljava/util/concurrent/atomic/AtomicBoolean;->get()Z
move-result p1
return p1
.end method
.method private a(Landroid/graphics/SurfaceTexture;)Z
.registers 5
.line 629
:try_start_0
iget-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->i:Ljava/util/concurrent/atomic/AtomicReference;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/hardware/camera2/CameraDevice;
if-eqz v0, :cond_46
if-eqz p1, :cond_46
.line 633
invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->b()V
.line 635
iget-object p1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->p:Landroid/graphics/SurfaceTexture;
iget-object v1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->n:Lcom/tencent/liteav/base/util/Size;
iget v1, v1, Lcom/tencent/liteav/base/util/Size;->width:I
iget-object v2, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->n:Lcom/tencent/liteav/base/util/Size;
iget v2, v2, Lcom/tencent/liteav/base/util/Size;->height:I
invoke-virtual {p1, v1, v2}, Landroid/graphics/SurfaceTexture;->setDefaultBufferSize(II)V
.line 636
new-instance p1, Landroid/view/Surface;
iget-object v1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->p:Landroid/graphics/SurfaceTexture;
invoke-direct {p1, v1}, Landroid/view/Surface;-><init>(Landroid/graphics/SurfaceTexture;)V
const/4 v1, 0x3
.line 639
invoke-virtual {v0, v1}, Landroid/hardware/camera2/CameraDevice;->createCaptureRequest(I)Landroid/hardware/camera2/CaptureRequest$Builder;
move-result-object v1
iput-object v1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->m:Landroid/hardware/camera2/CaptureRequest$Builder;
.line 640
invoke-virtual {v1, p1}, Landroid/hardware/camera2/CaptureRequest$Builder;->addTarget(Landroid/view/Surface;)V
.line 641
invoke-static {p1}, Ljava/util/Collections;->singletonList(Ljava/lang/Object;)Ljava/util/List;
move-result-object p1
.line 642
new-instance v1, Ljava/util/concurrent/CountDownLatch;
const/4 v2, 0x1
invoke-direct {v1, v2}, Ljava/util/concurrent/CountDownLatch;-><init>(I)V
iput-object v1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->x:Ljava/util/concurrent/CountDownLatch;
.line 643
iget-object v1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->C:Landroid/hardware/camera2/CameraCaptureSession$StateCallback;
iget-object v2, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->f:Landroid/os/Handler;
invoke-virtual {v0, p1, v1, v2}, Landroid/hardware/camera2/CameraDevice;->createCaptureSession(Ljava/util/List;Landroid/hardware/camera2/CameraCaptureSession$StateCallback;Landroid/os/Handler;)V
.line 644
iget-object p1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->x:Ljava/util/concurrent/CountDownLatch;
invoke-virtual {p1}, Ljava/util/concurrent/CountDownLatch;->await()V
goto :goto_5b
.line 631
:cond_46
new-instance p1, Ljava/io/IOException;
const-string v0, "startPreview cameraDevice null!"
invoke-direct {p1, v0}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw p1
:try_end_4e
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_4e} :catch_4e
:catch_4e
move-exception p1
const-string v0, "Camera2Controller"
const-string v1, "startPreview exception"
.line 646
invoke-static {v0, v1, p1}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
const/4 p1, 0x0
const/4 v0, 0x0
.line 647
invoke-direct {p0, p1, v0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->a(ZLandroid/hardware/camera2/CameraCaptureSession;)V
.line 649
:goto_5b
iget-object p1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->j:Ljava/util/concurrent/atomic/AtomicBoolean;
invoke-virtual {p1}, Ljava/util/concurrent/atomic/AtomicBoolean;->get()Z
move-result p1
return p1
.end method
.method private static b(Z)Ljava/lang/String;
.registers 1
if-eqz p0, :cond_10
.line 577
sget-object p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->e:Ljava/lang/String;
invoke-static {p0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result p0
if-nez p0, :cond_d
sget-object p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->e:Ljava/lang/String;
goto :goto_1d
:cond_d
sget-object p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->d:Ljava/lang/String;
goto :goto_1d
.line 579
:cond_10
sget-object p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->d:Ljava/lang/String;
invoke-static {p0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result p0
if-nez p0, :cond_1b
sget-object p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->d:Ljava/lang/String;
goto :goto_1d
:cond_1b
sget-object p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->e:Ljava/lang/String;
:goto_1d
return-object p0
.end method
.method static synthetic b(Lcom/tencent/liteav/videoproducer/capture/b/a;)Ljava/util/concurrent/atomic/AtomicBoolean;
.registers 1
.line 57
iget-object p0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->h:Ljava/util/concurrent/atomic/AtomicBoolean;
return-object p0
.end method
.method private b()V
.registers 3
.line 653
iget-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->k:Ljava/util/concurrent/atomic/AtomicReference;
const/4 v1, 0x0
invoke-virtual {v0, v1}, Ljava/util/concurrent/atomic/AtomicReference;->getAndSet(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/hardware/camera2/CameraCaptureSession;
if-eqz v0, :cond_1f
.line 656
:try_start_b
invoke-virtual {v0}, Landroid/hardware/camera2/CameraCaptureSession;->close()V
:try_end_e
.catch Ljava/lang/Exception; {:try_start_b .. :try_end_e} :catch_f
return-void
:catch_f
move-exception v0
.line 658
invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
const-string v1, "closePreviewSession fail, Exception:"
invoke-virtual {v1, v0}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const-string v1, "Camera2Controller"
invoke-static {v1, v0}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;)V
:cond_1f
return-void
.end method
.method private b(F)V
.registers 6
.line 299
iget-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->m:Landroid/hardware/camera2/CaptureRequest$Builder;
const-string v1, "Camera2Controller"
if-eqz v0, :cond_59
invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->a()Landroid/hardware/camera2/CameraCharacteristics;
move-result-object v0
if-nez v0, :cond_d
goto :goto_59
.line 306
:cond_d
invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->a()Landroid/hardware/camera2/CameraCharacteristics;
move-result-object v0
sget-object v2, Landroid/hardware/camera2/CameraCharacteristics;->CONTROL_AE_COMPENSATION_RANGE:Landroid/hardware/camera2/CameraCharacteristics$Key;
invoke-virtual {v0, v2}, Landroid/hardware/camera2/CameraCharacteristics;->get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/util/Range;
.line 307
invoke-virtual {v0}, Landroid/util/Range;->getLower()Ljava/lang/Comparable;
move-result-object v2
check-cast v2, Ljava/lang/Integer;
invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
move-result v2
.line 308
invoke-virtual {v0}, Landroid/util/Range;->getUpper()Ljava/lang/Comparable;
move-result-object v0
check-cast v0, Ljava/lang/Integer;
invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
move-result v0
if-nez v2, :cond_37
if-nez v0, :cond_37
const-string p1, "camera doesn\'t support exposure compensation"
.line 310
invoke-static {v1, p1}, Lcom/tencent/liteav/base/util/LiteavLog;->i(Ljava/lang/String;Ljava/lang/String;)V
return-void
:cond_37
const/high16 v1, 0x3f800000 # 1.0f
const/high16 v3, -0x40800000 # -1.0f
.line 317
invoke-static {p1, v3, v1}, Lcom/tencent/liteav/base/util/h;->a(FFF)F
move-result p1
sub-int v1, v0, v2
int-to-float v1, v1
sub-float/2addr p1, v3
mul-float/2addr v1, p1
const/high16 p1, 0x40000000 # 2.0f
div-float/2addr v1, p1
float-to-int p1, v1
add-int/2addr p1, v2
.line 321
iget-object v1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->m:Landroid/hardware/camera2/CaptureRequest$Builder;
sget-object v3, Landroid/hardware/camera2/CaptureRequest;->CONTROL_AE_EXPOSURE_COMPENSATION:Landroid/hardware/camera2/CaptureRequest$Key;
.line 322
invoke-static {p1, v2, v0}, Lcom/tencent/liteav/base/util/h;->a(III)I
move-result p1
invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p1
.line 321
invoke-virtual {v1, v3, p1}, Landroid/hardware/camera2/CaptureRequest$Builder;->set(Landroid/hardware/camera2/CaptureRequest$Key;Ljava/lang/Object;)V
return-void
.line 300
:cond_59
:goto_59
new-instance v0, Ljava/lang/StringBuilder;
const-string v2, "setExposureCompensation fail, value:"
invoke-direct {v0, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder;
const-string p1, " mCameraStatus:"
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object p1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->u:Lcom/tencent/liteav/videoproducer/capture/b/a$a;
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-static {v1, p1}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;)V
return-void
.end method
.method private c(F)Landroid/graphics/Rect;
.registers 8
.line 715
invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->a()Landroid/hardware/camera2/CameraCharacteristics;
move-result-object v0
sget-object v1, Landroid/hardware/camera2/CameraCharacteristics;->SENSOR_INFO_ACTIVE_ARRAY_SIZE:Landroid/hardware/camera2/CameraCharacteristics$Key;
invoke-virtual {v0, v1}, Landroid/hardware/camera2/CameraCharacteristics;->get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/graphics/Rect;
.line 716
invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->a()Landroid/hardware/camera2/CameraCharacteristics;
move-result-object v1
sget-object v2, Landroid/hardware/camera2/CameraCharacteristics;->SCALER_AVAILABLE_MAX_DIGITAL_ZOOM:Landroid/hardware/camera2/CameraCharacteristics$Key;
invoke-virtual {v1, v2}, Landroid/hardware/camera2/CameraCharacteristics;->get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/Float;
invoke-virtual {v1}, Ljava/lang/Float;->floatValue()F
move-result v1
const/4 v2, 0x0
const/high16 v3, 0x3f800000 # 1.0f
.line 718
invoke-static {p1, v2, v3}, Lcom/tencent/liteav/base/util/h;->a(FFF)F
move-result p1
sub-float v2, v1, v3
mul-float/2addr p1, v2
add-float/2addr p1, v3
.line 723
invoke-virtual {v0}, Landroid/graphics/Rect;->width()I
move-result v4
int-to-float v4, v4
div-float/2addr v4, v1
float-to-int v4, v4
.line 724
invoke-virtual {v0}, Landroid/graphics/Rect;->height()I
move-result v5
int-to-float v5, v5
div-float/2addr v5, v1
float-to-int v1, v5
.line 725
invoke-virtual {v0}, Landroid/graphics/Rect;->width()I
move-result v5
sub-int/2addr v5, v4
.line 726
invoke-virtual {v0}, Landroid/graphics/Rect;->height()I
move-result v4
sub-int/2addr v4, v1
int-to-float v1, v5
sub-float v3, p1, v3
mul-float/2addr v1, v3
div-float/2addr v1, v2
const/high16 v5, 0x40000000 # 2.0f
div-float/2addr v1, v5
float-to-int v1, v1
int-to-float v4, v4
mul-float/2addr v4, v3
div-float/2addr v4, v2
div-float/2addr v4, v5
float-to-int v2, v4
.line 732
new-instance v3, Landroid/graphics/Rect;
invoke-virtual {v0}, Landroid/graphics/Rect;->width()I
move-result v4
sub-int/2addr v4, v1
invoke-virtual {v0}, Landroid/graphics/Rect;->height()I
move-result v5
sub-int/2addr v5, v2
invoke-direct {v3, v1, v2, v4, v5}, Landroid/graphics/Rect;-><init>(IIII)V
.line 733
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "calculateZoomRect calculatedZoomLevel:"
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder;
const-string p1, " rect:"
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string p1, " newRect2:"
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
const-string v0, "Camera2Controller"
invoke-static {v0, p1}, Lcom/tencent/liteav/base/util/LiteavLog;->i(Ljava/lang/String;Ljava/lang/String;)V
return-object v3
.end method
.method private c()V
.registers 3
.line 664
iget-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->i:Ljava/util/concurrent/atomic/AtomicReference;
const/4 v1, 0x0
invoke-virtual {v0, v1}, Ljava/util/concurrent/atomic/AtomicReference;->getAndSet(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/hardware/camera2/CameraDevice;
if-eqz v0, :cond_1f
.line 667
:try_start_b
invoke-virtual {v0}, Landroid/hardware/camera2/CameraDevice;->close()V
:try_end_e
.catch Ljava/lang/Exception; {:try_start_b .. :try_end_e} :catch_f
goto :goto_1f
:catch_f
move-exception v0
.line 669
invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
const-string v1, "closeCamera fail, Exception:"
invoke-virtual {v1, v0}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const-string v1, "Camera2Controller"
invoke-static {v1, v0}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;)V
.line 673
:cond_1f
:goto_1f
invoke-static {}, Lcom/tencent/liteav/base/ContextUtils;->getApplicationContext()Landroid/content/Context;
move-result-object v0
const-string v1, "camera"
invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/hardware/camera2/CameraManager;
.line 675
iget-object v1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->D:Landroid/hardware/camera2/CameraManager$AvailabilityCallback;
invoke-virtual {v0, v1}, Landroid/hardware/camera2/CameraManager;->unregisterAvailabilityCallback(Landroid/hardware/camera2/CameraManager$AvailabilityCallback;)V
return-void
.end method
.method static synthetic c(Lcom/tencent/liteav/videoproducer/capture/b/a;)V
.registers 2
.line 4442
iget-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->g:Lcom/tencent/liteav/base/util/v;
invoke-static {p0}, Lcom/tencent/liteav/videoproducer/capture/b/b;->a(Lcom/tencent/liteav/videoproducer/capture/b/a;)Ljava/lang/Runnable;
move-result-object p0
invoke-interface {v0, p0}, Lcom/tencent/liteav/base/util/v;->a(Ljava/lang/Runnable;)V
return-void
.end method
.method private c(Z)V
.registers 5
.line 704
iget-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->m:Landroid/hardware/camera2/CaptureRequest$Builder;
if-nez v0, :cond_5
return-void
:cond_5
if-eqz p1, :cond_9
const/4 p1, 0x1
goto :goto_a
:cond_9
const/4 p1, 0x3
.line 709
:goto_a
sget-object v1, Landroid/hardware/camera2/CaptureRequest;->CONTROL_AF_MODE:Landroid/hardware/camera2/CaptureRequest$Key;
invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v2
invoke-virtual {v0, v1, v2}, Landroid/hardware/camera2/CaptureRequest$Builder;->set(Landroid/hardware/camera2/CaptureRequest$Key;Ljava/lang/Object;)V
.line 710
invoke-static {p1}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object p1
const-string v0, "setFocusModeWithoutUpdatePreview to "
invoke-virtual {v0, p1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
const-string v0, "Camera2Controller"
invoke-static {v0, p1}, Lcom/tencent/liteav/base/util/LiteavLog;->i(Ljava/lang/String;Ljava/lang/String;)V
return-void
.end method
.method private d()V
.registers 4
.line 692
iget-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->k:Ljava/util/concurrent/atomic/AtomicReference;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/hardware/camera2/CameraCaptureSession;
if-eqz v0, :cond_28
.line 693
iget-object v1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->m:Landroid/hardware/camera2/CaptureRequest$Builder;
if-nez v1, :cond_f
goto :goto_28
.line 697
:cond_f
:try_start_f
invoke-virtual {v1}, Landroid/hardware/camera2/CaptureRequest$Builder;->build()Landroid/hardware/camera2/CaptureRequest;
move-result-object v1
const/4 v2, 0x0
invoke-virtual {v0, v1, v2, v2}, Landroid/hardware/camera2/CameraCaptureSession;->setRepeatingRequest(Landroid/hardware/camera2/CaptureRequest;Landroid/hardware/camera2/CameraCaptureSession$CaptureCallback;Landroid/os/Handler;)I
:try_end_17
.catch Ljava/lang/Exception; {:try_start_f .. :try_end_17} :catch_18
return-void
:catch_18
move-exception v0
.line 699
invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
const-string v1, "updatePreview exception:"
invoke-virtual {v1, v0}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const-string v1, "Camera2Controller"
invoke-static {v1, v0}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;)V
:cond_28
:goto_28
return-void
.end method
.method static synthetic d(Lcom/tencent/liteav/videoproducer/capture/b/a;)Z
.registers 1
.line 57
invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->g()Z
move-result p0
return p0
.end method
.method private e()Ljava/util/List;
.registers 8
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/List<",
"Lcom/tencent/liteav/base/util/Size;",
">;"
}
.end annotation
.line 740
invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->a()Landroid/hardware/camera2/CameraCharacteristics;
move-result-object v0
const/4 v1, 0x0
const-string v2, "Camera2Controller"
if-nez v0, :cond_f
const-string v0, "getPreviewSizes error, Characteristics is null"
.line 741
invoke-static {v2, v0}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;)V
return-object v1
.line 745
:cond_f
invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->a()Landroid/hardware/camera2/CameraCharacteristics;
move-result-object v0
sget-object v3, Landroid/hardware/camera2/CameraCharacteristics;->SCALER_STREAM_CONFIGURATION_MAP:Landroid/hardware/camera2/CameraCharacteristics$Key;
invoke-virtual {v0, v3}, Landroid/hardware/camera2/CameraCharacteristics;->get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/hardware/camera2/params/StreamConfigurationMap;
if-nez v0, :cond_23
const-string v0, "getPreviewSizes map null"
.line 748
invoke-static {v2, v0}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;)V
return-object v1
.line 752
:cond_23
const-class v3, Landroid/graphics/SurfaceTexture;
invoke-virtual {v0, v3}, Landroid/hardware/camera2/params/StreamConfigurationMap;->getOutputSizes(Ljava/lang/Class;)[Landroid/util/Size;
move-result-object v0
if-nez v0, :cond_31
const-string v0, "getPreviewSizes choices is null"
.line 754
invoke-static {v2, v0}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;)V
return-object v1
.line 758
:cond_31
new-instance v1, Ljava/util/ArrayList;
invoke-direct {v1}, Ljava/util/ArrayList;-><init>()V
.line 759
array-length v2, v0
const/4 v3, 0x0
:goto_38
if-ge v3, v2, :cond_4f
aget-object v4, v0, v3
.line 760
new-instance v5, Lcom/tencent/liteav/base/util/Size;
invoke-virtual {v4}, Landroid/util/Size;->getWidth()I
move-result v6
invoke-virtual {v4}, Landroid/util/Size;->getHeight()I
move-result v4
invoke-direct {v5, v6, v4}, Lcom/tencent/liteav/base/util/Size;-><init>(II)V
.line 761
invoke-interface {v1, v5}, Ljava/util/List;->add(Ljava/lang/Object;)Z
add-int/lit8 v3, v3, 0x1
goto :goto_38
:cond_4f
return-object v1
.end method
.method static synthetic e(Lcom/tencent/liteav/videoproducer/capture/b/a;)Z
.registers 1
.line 57
iget-boolean p0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->q:Z
return p0
.end method
.method private f()Ljava/util/List;
.registers 10
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/List<",
"[I>;"
}
.end annotation
.line 789
invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->a()Landroid/hardware/camera2/CameraCharacteristics;
move-result-object v0
const/4 v1, 0x0
const/4 v2, 0x1
if-nez v0, :cond_19
new-array v0, v2, [Ljava/lang/Object;
.line 790
invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->a()Landroid/hardware/camera2/CameraCharacteristics;
move-result-object v2
aput-object v2, v0, v1
const-string v1, "Camera2Controller"
const-string v2, "getPreviewFps error, Characteristics: "
invoke-static {v1, v2, v0}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
const/4 v0, 0x0
return-object v0
.line 794
:cond_19
invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->a()Landroid/hardware/camera2/CameraCharacteristics;
move-result-object v0
sget-object v3, Landroid/hardware/camera2/CameraCharacteristics;->CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES:Landroid/hardware/camera2/CameraCharacteristics$Key;
invoke-virtual {v0, v3}, Landroid/hardware/camera2/CameraCharacteristics;->get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object;
move-result-object v0
check-cast v0, [Landroid/util/Range;
.line 796
new-instance v3, Ljava/util/ArrayList;
invoke-direct {v3}, Ljava/util/ArrayList;-><init>()V
if-eqz v0, :cond_53
.line 798
array-length v4, v0
move v5, v1
:goto_2e
if-ge v5, v4, :cond_53
aget-object v6, v0, v5
const/4 v7, 0x2
new-array v7, v7, [I
.line 799
invoke-virtual {v6}, Landroid/util/Range;->getLower()Ljava/lang/Comparable;
move-result-object v8
check-cast v8, Ljava/lang/Integer;
invoke-virtual {v8}, Ljava/lang/Integer;->intValue()I
move-result v8
aput v8, v7, v1
invoke-virtual {v6}, Landroid/util/Range;->getUpper()Ljava/lang/Comparable;
move-result-object v6
check-cast v6, Ljava/lang/Integer;
invoke-virtual {v6}, Ljava/lang/Integer;->intValue()I
move-result v6
aput v6, v7, v2
.line 800
invoke-interface {v3, v7}, Ljava/util/List;->add(Ljava/lang/Object;)Z
add-int/lit8 v5, v5, 0x1
goto :goto_2e
:cond_53
return-object v3
.end method
.method static synthetic f(Lcom/tencent/liteav/videoproducer/capture/b/a;)Ljava/util/concurrent/atomic/AtomicReference;
.registers 1
.line 57
iget-object p0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->i:Ljava/util/concurrent/atomic/AtomicReference;
return-object p0
.end method
.method private g()Z
.registers 3
.line 807
invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->a()Landroid/hardware/camera2/CameraCharacteristics;
move-result-object v0
if-eqz v0, :cond_13
iget-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->m:Landroid/hardware/camera2/CaptureRequest$Builder;
if-eqz v0, :cond_13
iget-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->u:Lcom/tencent/liteav/videoproducer/capture/b/a$a;
sget-object v1, Lcom/tencent/liteav/videoproducer/capture/b/a$a;->b:Lcom/tencent/liteav/videoproducer/capture/b/a$a;
if-eq v0, v1, :cond_11
goto :goto_13
:cond_11
const/4 v0, 0x0
return v0
:cond_13
:goto_13
const/4 v0, 0x1
return v0
.end method
.method static synthetic g(Lcom/tencent/liteav/videoproducer/capture/b/a;)Z
.registers 2
const/4 v0, 0x0
.line 57
iput-boolean v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->v:Z
return v0
.end method
.method static synthetic h(Lcom/tencent/liteav/videoproducer/capture/b/a;)Landroid/hardware/camera2/CaptureRequest$Builder;
.registers 1
.line 57
iget-object p0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->m:Landroid/hardware/camera2/CaptureRequest$Builder;
return-object p0
.end method
.method static synthetic i(Lcom/tencent/liteav/videoproducer/capture/b/a;)V
.registers 1
.line 57
invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->d()V
return-void
.end method
.method static synthetic j(Lcom/tencent/liteav/videoproducer/capture/b/a;)Lcom/tencent/liteav/base/util/v;
.registers 1
.line 57
iget-object p0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->g:Lcom/tencent/liteav/base/util/v;
return-object p0
.end method
# virtual methods
.method public final enableTapToFocus(Z)V
.registers 2
.line 370
iput-boolean p1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->r:Z
.line 371
invoke-direct {p0, p1}, Lcom/tencent/liteav/videoproducer/capture/b/a;->c(Z)V
.line 372
invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->d()V
return-void
.end method
.method public final getCameraRotation()Lcom/tencent/liteav/videobase/utils/Rotation;
.registers 2
.line 327
iget-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->o:Lcom/tencent/liteav/videobase/utils/Rotation;
return-object v0
.end method
.method public final getCameraRotationValue()I
.registers 2
.line 332
iget-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->o:Lcom/tencent/liteav/videobase/utils/Rotation;
.line 4045
iget v0, v0, Lcom/tencent/liteav/videobase/utils/Rotation;->mValue:I
return v0
.end method
.method public final getMaxZoom()I
.registers 2
const/16 v0, 0x64
return v0
.end method
.method public final getPreviewSize()Lcom/tencent/liteav/base/util/Size;
.registers 2
.line 342
iget-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->n:Lcom/tencent/liteav/base/util/Size;
return-object v0
.end method
.method public final isCameraAutoFocusFaceModeSupported()Z
.registers 3
.line 391
invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->a()Landroid/hardware/camera2/CameraCharacteristics;
move-result-object v0
if-eqz v0, :cond_1a
.line 392
invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->a()Landroid/hardware/camera2/CameraCharacteristics;
move-result-object v0
sget-object v1, Landroid/hardware/camera2/CameraCharacteristics;->STATISTICS_INFO_MAX_FACE_COUNT:Landroid/hardware/camera2/CameraCharacteristics$Key;
invoke-virtual {v0, v1}, Landroid/hardware/camera2/CameraCharacteristics;->get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Integer;
invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
move-result v0
if-lez v0, :cond_1a
const/4 v0, 0x1
return v0
:cond_1a
const/4 v0, 0x0
return v0
.end method
.method public final isCameraFocusPositionInPreviewSupported()Z
.registers 3
.line 399
invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->a()Landroid/hardware/camera2/CameraCharacteristics;
move-result-object v0
if-eqz v0, :cond_1a
.line 400
invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->a()Landroid/hardware/camera2/CameraCharacteristics;
move-result-object v0
sget-object v1, Landroid/hardware/camera2/CameraCharacteristics;->CONTROL_MAX_REGIONS_AF:Landroid/hardware/camera2/CameraCharacteristics$Key;
invoke-virtual {v0, v1}, Landroid/hardware/camera2/CameraCharacteristics;->get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Integer;
invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
move-result v0
if-lez v0, :cond_1a
const/4 v0, 0x1
return v0
:cond_1a
const/4 v0, 0x0
return v0
.end method
.method public final isCurrentPreviewSizeAspectRatioMatch(IIZ)Z
.registers 10
.line 408
invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->e()Ljava/util/List;
move-result-object v0
iget-object v1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->o:Lcom/tencent/liteav/videobase/utils/Rotation;
.line 407
invoke-static {v0, v1, p1, p2}, Lcom/tencent/liteav/videoproducer/capture/ai;->a(Ljava/util/List;Lcom/tencent/liteav/videobase/utils/Rotation;II)Lcom/tencent/liteav/base/util/Size;
move-result-object p1
.line 410
invoke-virtual {p1}, Lcom/tencent/liteav/base/util/Size;->getArea()I
move-result p2
iget-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->n:Lcom/tencent/liteav/base/util/Size;
invoke-virtual {v0}, Lcom/tencent/liteav/base/util/Size;->getArea()I
move-result v0
const/4 v1, 0x0
if-le p2, v0, :cond_19
move p2, v1
goto :goto_1a
:cond_19
const/4 p2, 0x1
:goto_1a
if-eqz p3, :cond_35
.line 414
invoke-virtual {p1}, Lcom/tencent/liteav/base/util/Size;->aspectRatio()D
move-result-wide v2
iget-object p1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->n:Lcom/tencent/liteav/base/util/Size;
invoke-virtual {p1}, Lcom/tencent/liteav/base/util/Size;->aspectRatio()D
move-result-wide v4
sub-double/2addr v2, v4
invoke-static {v2, v3}, Ljava/lang/Math;->abs(D)D
move-result-wide v2
const-wide v4, 0x3f50624dd2f1a9fcL # 0.001
cmpl-double p1, v2, v4
if-lez p1, :cond_35
goto :goto_36
:cond_35
move v1, p2
.line 417
:goto_36
invoke-static {v1}, Ljava/lang/String;->valueOf(Z)Ljava/lang/String;
move-result-object p1
const-string p2, "isCurrentPreviewSizeAspectRatioMatch:"
invoke-virtual {p2, p1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
const-string p2, "Camera2Controller"
invoke-static {p2, p1}, Lcom/tencent/liteav/base/util/LiteavLog;->i(Ljava/lang/String;Ljava/lang/String;)V
return v1
.end method
.method public final isTorchSupported()Z
.registers 3
.line 385
invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->a()Landroid/hardware/camera2/CameraCharacteristics;
move-result-object v0
if-eqz v0, :cond_1a
.line 386
invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->a()Landroid/hardware/camera2/CameraCharacteristics;
move-result-object v0
sget-object v1, Landroid/hardware/camera2/CameraCharacteristics;->FLASH_INFO_AVAILABLE:Landroid/hardware/camera2/CameraCharacteristics$Key;
invoke-virtual {v0, v1}, Landroid/hardware/camera2/CameraCharacteristics;->get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Boolean;
invoke-virtual {v0}, Ljava/lang/Boolean;->booleanValue()Z
move-result v0
if-eqz v0, :cond_1a
const/4 v0, 0x1
return v0
:cond_1a
const/4 v0, 0x0
return v0
.end method
.method public final isZoomSupported()Z
.registers 3
.line 377
invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->a()Landroid/hardware/camera2/CameraCharacteristics;
move-result-object v0
if-eqz v0, :cond_1d
.line 378
invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->a()Landroid/hardware/camera2/CameraCharacteristics;
move-result-object v0
sget-object v1, Landroid/hardware/camera2/CameraCharacteristics;->SCALER_AVAILABLE_MAX_DIGITAL_ZOOM:Landroid/hardware/camera2/CameraCharacteristics$Key;
invoke-virtual {v0, v1}, Landroid/hardware/camera2/CameraCharacteristics;->get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Float;
invoke-virtual {v0}, Ljava/lang/Float;->floatValue()F
move-result v0
const/4 v1, 0x0
cmpl-float v0, v0, v1
if-lez v0, :cond_1d
const/4 v0, 0x1
return v0
:cond_1d
const/4 v0, 0x0
return v0
.end method
.method public final setCloudConfig(Lcom/tencent/liteav/videoproducer/capture/CaptureCloudConfig;)V
.registers 2
return-void
.end method
.method public final setExposureCompensation(F)V
.registers 2
.line 293
iput p1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->z:F
.line 294
invoke-direct {p0, p1}, Lcom/tencent/liteav/videoproducer/capture/b/a;->b(F)V
.line 295
invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->d()V
return-void
.end method
.method public final setServerConfig(Lcom/tencent/liteav/videoproducer/producer/ServerVideoProducerConfig;)V
.registers 2
return-void
.end method
.method public final setZoom(F)V
.registers 2
.line 278
iput p1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->A:F
.line 279
invoke-direct {p0, p1}, Lcom/tencent/liteav/videoproducer/capture/b/a;->a(F)V
.line 280
invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->d()V
return-void
.end method
.method public final startAutoFocusAtPosition(II)V
.registers 25
move-object/from16 v1, p0
move/from16 v0, p1
move/from16 v2, p2
.line 231
iget-boolean v3, v1, Lcom/tencent/liteav/videoproducer/capture/b/a;->r:Z
if-eqz v3, :cond_1c1
iget-boolean v3, v1, Lcom/tencent/liteav/videoproducer/capture/b/a;->s:Z
if-nez v3, :cond_10
goto/16 :goto_1c1
.line 235
:cond_10
invoke-direct/range {p0 .. p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->g()Z
move-result v3
const-string v4, "Camera2Controller"
if-nez v3, :cond_1a4
iget-boolean v3, v1, Lcom/tencent/liteav/videoproducer/capture/b/a;->v:Z
if-eqz v3, :cond_1e
goto/16 :goto_1a4
.line 242
:cond_1e
iget-object v3, v1, Lcom/tencent/liteav/videoproducer/capture/b/a;->k:Ljava/util/concurrent/atomic/AtomicReference;
invoke-virtual {v3}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
move-result-object v3
check-cast v3, Landroid/hardware/camera2/CameraCaptureSession;
if-nez v3, :cond_2e
const-string v0, "CameraCaptureSession get fail"
.line 244
invoke-static {v4, v0}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;)V
return-void
:cond_2e
const/4 v5, 0x2
const/4 v6, 0x1
const/4 v7, 0x0
if-ltz v0, :cond_18e
.line 248
iget-object v8, v1, Lcom/tencent/liteav/videoproducer/capture/b/a;->n:Lcom/tencent/liteav/base/util/Size;
iget v8, v8, Lcom/tencent/liteav/base/util/Size;->width:I
if-ge v0, v8, :cond_18e
if-ltz v2, :cond_18e
iget-object v8, v1, Lcom/tencent/liteav/videoproducer/capture/b/a;->n:Lcom/tencent/liteav/base/util/Size;
iget v8, v8, Lcom/tencent/liteav/base/util/Size;->height:I
if-lt v2, v8, :cond_43
goto/16 :goto_18e
:cond_43
new-array v5, v5, [Ljava/lang/Object;
.line 252
invoke-static/range {p1 .. p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v8
aput-object v8, v5, v7
invoke-static/range {p2 .. p2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v8
aput-object v8, v5, v6
const-string v8, "Start auto focus at (%d, %d)"
invoke-static {v4, v8, v5}, Lcom/tencent/liteav/base/util/LiteavLog;->i(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
int-to-double v8, v0
int-to-double v10, v2
.line 3817
iget-object v0, v1, Lcom/tencent/liteav/videoproducer/capture/b/a;->l:Landroid/hardware/camera2/CaptureRequest;
sget-object v2, Landroid/hardware/camera2/CaptureRequest;->SCALER_CROP_REGION:Landroid/hardware/camera2/CaptureRequest$Key;
invoke-virtual {v0, v2}, Landroid/hardware/camera2/CaptureRequest;->get(Landroid/hardware/camera2/CaptureRequest$Key;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/graphics/Rect;
if-nez v0, :cond_75
const-string v0, "getMeteringRect can\'t get crop region"
.line 3819
invoke-static {v4, v0}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;)V
.line 3820
invoke-direct/range {p0 .. p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->a()Landroid/hardware/camera2/CameraCharacteristics;
move-result-object v0
sget-object v2, Landroid/hardware/camera2/CameraCharacteristics;->SENSOR_INFO_ACTIVE_ARRAY_SIZE:Landroid/hardware/camera2/CameraCharacteristics$Key;
invoke-virtual {v0, v2}, Landroid/hardware/camera2/CameraCharacteristics;->get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/graphics/Rect;
.line 3824
:cond_75
invoke-virtual {v0}, Landroid/graphics/Rect;->width()I
move-result v2
.line 3825
invoke-virtual {v0}, Landroid/graphics/Rect;->height()I
move-result v5
.line 3826
iget-object v12, v1, Lcom/tencent/liteav/videoproducer/capture/b/a;->n:Lcom/tencent/liteav/base/util/Size;
iget v12, v12, Lcom/tencent/liteav/base/util/Size;->height:I
mul-int/2addr v12, v2
iget-object v13, v1, Lcom/tencent/liteav/videoproducer/capture/b/a;->n:Lcom/tencent/liteav/base/util/Size;
iget v13, v13, Lcom/tencent/liteav/base/util/Size;->width:I
mul-int/2addr v13, v5
const-wide/16 v16, 0x0
const-wide/high16 v18, 0x3ff0000000000000L # 1.0
if-le v12, v13, :cond_a8
int-to-double v12, v5
mul-double v12, v12, v18
.line 3827
iget-object v5, v1, Lcom/tencent/liteav/videoproducer/capture/b/a;->n:Lcom/tencent/liteav/base/util/Size;
iget v5, v5, Lcom/tencent/liteav/base/util/Size;->height:I
int-to-double v6, v5
div-double/2addr v12, v6
int-to-double v5, v2
.line 3829
iget-object v2, v1, Lcom/tencent/liteav/videoproducer/capture/b/a;->n:Lcom/tencent/liteav/base/util/Size;
iget v2, v2, Lcom/tencent/liteav/base/util/Size;->width:I
int-to-double v14, v2
mul-double/2addr v14, v12
sub-double/2addr v5, v14
const-wide/high16 v14, 0x4000000000000000L # 2.0
div-double/2addr v5, v14
move-wide/from16 v20, v5
move-wide/from16 v5, v16
move-wide/from16 v16, v20
goto :goto_bd
:cond_a8
int-to-double v6, v2
mul-double v6, v6, v18
.line 3831
iget-object v2, v1, Lcom/tencent/liteav/videoproducer/capture/b/a;->n:Lcom/tencent/liteav/base/util/Size;
iget v2, v2, Lcom/tencent/liteav/base/util/Size;->width:I
int-to-double v12, v2
div-double v12, v6, v12
int-to-double v5, v5
.line 3833
iget-object v2, v1, Lcom/tencent/liteav/videoproducer/capture/b/a;->n:Lcom/tencent/liteav/base/util/Size;
iget v2, v2, Lcom/tencent/liteav/base/util/Size;->height:I
int-to-double v14, v2
mul-double/2addr v14, v12
sub-double/2addr v5, v14
const-wide/high16 v14, 0x4000000000000000L # 2.0
div-double/2addr v5, v14
:goto_bd
mul-double/2addr v8, v12
add-double v8, v8, v16
.line 3837
iget v2, v0, Landroid/graphics/Rect;->left:I
int-to-double v14, v2
add-double/2addr v8, v14
mul-double/2addr v10, v12
add-double/2addr v10, v5
.line 3838
iget v2, v0, Landroid/graphics/Rect;->top:I
int-to-double v5, v2
add-double/2addr v10, v5
.line 3841
new-instance v2, Landroid/graphics/Rect;
invoke-direct {v2}, Landroid/graphics/Rect;-><init>()V
.line 3843
invoke-virtual {v0}, Landroid/graphics/Rect;->width()I
move-result v5
int-to-double v5, v5
const-wide v12, 0x3fa999999999999aL # 0.05
mul-double/2addr v5, v12
sub-double v5, v8, v5
double-to-int v5, v5
invoke-virtual {v0}, Landroid/graphics/Rect;->width()I
move-result v6
const/4 v7, 0x0
.line 3842
invoke-static {v5, v7, v6}, Lcom/tencent/liteav/base/util/h;->a(III)I
move-result v5
iput v5, v2, Landroid/graphics/Rect;->left:I
.line 3845
invoke-virtual {v0}, Landroid/graphics/Rect;->width()I
move-result v5
int-to-double v5, v5
mul-double/2addr v5, v12
add-double/2addr v8, v5
double-to-int v5, v8
invoke-virtual {v0}, Landroid/graphics/Rect;->width()I
move-result v6
.line 3844
invoke-static {v5, v7, v6}, Lcom/tencent/liteav/base/util/h;->a(III)I
move-result v5
iput v5, v2, Landroid/graphics/Rect;->right:I
.line 3847
invoke-virtual {v0}, Landroid/graphics/Rect;->height()I
move-result v5
int-to-double v5, v5
mul-double/2addr v5, v12
sub-double v5, v10, v5
double-to-int v5, v5
invoke-virtual {v0}, Landroid/graphics/Rect;->height()I
move-result v6
.line 3846
invoke-static {v5, v7, v6}, Lcom/tencent/liteav/base/util/h;->a(III)I
move-result v5
iput v5, v2, Landroid/graphics/Rect;->top:I
.line 3849
invoke-virtual {v0}, Landroid/graphics/Rect;->height()I
move-result v5
int-to-double v5, v5
mul-double/2addr v5, v12
add-double/2addr v10, v5
double-to-int v5, v10
invoke-virtual {v0}, Landroid/graphics/Rect;->height()I
move-result v0
.line 3848
invoke-static {v5, v7, v0}, Lcom/tencent/liteav/base/util/h;->a(III)I
move-result v0
iput v0, v2, Landroid/graphics/Rect;->bottom:I
.line 256
:try_start_11f
iget-object v0, v1, Lcom/tencent/liteav/videoproducer/capture/b/a;->m:Landroid/hardware/camera2/CaptureRequest$Builder;
sget-object v5, Landroid/hardware/camera2/CaptureRequest;->CONTROL_AF_REGIONS:Landroid/hardware/camera2/CaptureRequest$Key;
const/4 v6, 0x1
new-array v7, v6, [Landroid/hardware/camera2/params/MeteringRectangle;
new-instance v6, Landroid/hardware/camera2/params/MeteringRectangle;
const/16 v8, 0x3e8
invoke-direct {v6, v2, v8}, Landroid/hardware/camera2/params/MeteringRectangle;-><init>(Landroid/graphics/Rect;I)V
const/4 v9, 0x0
aput-object v6, v7, v9
invoke-virtual {v0, v5, v7}, Landroid/hardware/camera2/CaptureRequest$Builder;->set(Landroid/hardware/camera2/CaptureRequest$Key;Ljava/lang/Object;)V
.line 258
iget-object v0, v1, Lcom/tencent/liteav/videoproducer/capture/b/a;->m:Landroid/hardware/camera2/CaptureRequest$Builder;
sget-object v5, Landroid/hardware/camera2/CaptureRequest;->CONTROL_AE_REGIONS:Landroid/hardware/camera2/CaptureRequest$Key;
const/4 v6, 0x1
new-array v7, v6, [Landroid/hardware/camera2/params/MeteringRectangle;
new-instance v6, Landroid/hardware/camera2/params/MeteringRectangle;
invoke-direct {v6, v2, v8}, Landroid/hardware/camera2/params/MeteringRectangle;-><init>(Landroid/graphics/Rect;I)V
const/4 v2, 0x0
aput-object v6, v7, v2
invoke-virtual {v0, v5, v7}, Landroid/hardware/camera2/CaptureRequest$Builder;->set(Landroid/hardware/camera2/CaptureRequest$Key;Ljava/lang/Object;)V
.line 260
iget-object v0, v1, Lcom/tencent/liteav/videoproducer/capture/b/a;->m:Landroid/hardware/camera2/CaptureRequest$Builder;
sget-object v2, Landroid/hardware/camera2/CaptureRequest;->CONTROL_AF_MODE:Landroid/hardware/camera2/CaptureRequest$Key;
const/4 v5, 0x1
.line 261
invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v6
.line 260
invoke-virtual {v0, v2, v6}, Landroid/hardware/camera2/CaptureRequest$Builder;->set(Landroid/hardware/camera2/CaptureRequest$Key;Ljava/lang/Object;)V
.line 262
iget-object v0, v1, Lcom/tencent/liteav/videoproducer/capture/b/a;->m:Landroid/hardware/camera2/CaptureRequest$Builder;
sget-object v2, Landroid/hardware/camera2/CaptureRequest;->CONTROL_AF_TRIGGER:Landroid/hardware/camera2/CaptureRequest$Key;
.line 263
invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v6
.line 262
invoke-virtual {v0, v2, v6}, Landroid/hardware/camera2/CaptureRequest$Builder;->set(Landroid/hardware/camera2/CaptureRequest$Key;Ljava/lang/Object;)V
.line 264
iget-object v0, v1, Lcom/tencent/liteav/videoproducer/capture/b/a;->m:Landroid/hardware/camera2/CaptureRequest$Builder;
sget-object v2, Landroid/hardware/camera2/CaptureRequest;->CONTROL_AE_PRECAPTURE_TRIGGER:Landroid/hardware/camera2/CaptureRequest$Key;
.line 265
invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v6
.line 264
invoke-virtual {v0, v2, v6}, Landroid/hardware/camera2/CaptureRequest$Builder;->set(Landroid/hardware/camera2/CaptureRequest$Key;Ljava/lang/Object;)V
.line 266
iput-boolean v5, v1, Lcom/tencent/liteav/videoproducer/capture/b/a;->v:Z
const/4 v0, 0x0
.line 267
iput-boolean v0, v1, Lcom/tencent/liteav/videoproducer/capture/b/a;->a:Z
.line 268
iget-object v0, v1, Lcom/tencent/liteav/videoproducer/capture/b/a;->m:Landroid/hardware/camera2/CaptureRequest$Builder;
invoke-virtual {v0, v1}, Landroid/hardware/camera2/CaptureRequest$Builder;->setTag(Ljava/lang/Object;)V
.line 269
iget-object v0, v1, Lcom/tencent/liteav/videoproducer/capture/b/a;->m:Landroid/hardware/camera2/CaptureRequest$Builder;
.line 270
invoke-virtual {v0}, Landroid/hardware/camera2/CaptureRequest$Builder;->build()Landroid/hardware/camera2/CaptureRequest;
move-result-object v0
iget-object v2, v1, Lcom/tencent/liteav/videoproducer/capture/b/a;->E:Landroid/hardware/camera2/CameraCaptureSession$CaptureCallback;
iget-object v5, v1, Lcom/tencent/liteav/videoproducer/capture/b/a;->f:Landroid/os/Handler;
.line 269
invoke-virtual {v3, v0, v2, v5}, Landroid/hardware/camera2/CameraCaptureSession;->setRepeatingRequest(Landroid/hardware/camera2/CaptureRequest;Landroid/hardware/camera2/CameraCaptureSession$CaptureCallback;Landroid/os/Handler;)I
:try_end_17e
.catch Ljava/lang/Exception; {:try_start_11f .. :try_end_17e} :catch_17f
return-void
:catch_17f
move-exception v0
.line 272
invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
const-string v2, "startAutoFocusAtPosition exception:"
invoke-virtual {v2, v0}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
invoke-static {v4, v0}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;)V
return-void
:cond_18e
:goto_18e
new-array v3, v5, [Ljava/lang/Object;
.line 249
invoke-static/range {p1 .. p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v0
const/4 v5, 0x0
aput-object v0, v3, v5
invoke-static/range {p2 .. p2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v0
const/4 v2, 0x1
aput-object v0, v3, v2
const-string v0, "Start auto focus at (%d, %d) invalid "
invoke-static {v4, v0, v3}, Lcom/tencent/liteav/base/util/LiteavLog;->w(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
return-void
.line 236
:cond_1a4
:goto_1a4
new-instance v0, Ljava/lang/StringBuilder;
const-string v2, "autoFocus not preview, mCameraStatus:"
invoke-direct {v0, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget-object v2, v1, Lcom/tencent/liteav/videoproducer/capture/b/a;->u:Lcom/tencent/liteav/videoproducer/capture/b/a$a;
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v2, " mIsAutoFocusing:"
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-boolean v2, v1, Lcom/tencent/liteav/videoproducer/capture/b/a;->v:Z
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v4, v0}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;)V
:cond_1c1
:goto_1c1
return-void
.end method
.method public final startCapture(Lcom/tencent/liteav/videoproducer/capture/CameraCaptureParams;Landroid/graphics/SurfaceTexture;Lcom/tencent/liteav/videoproducer/capture/CameraEventCallback;)Z
.registers 16
const-string v0, "1"
.line 200
iput-object p3, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->y:Lcom/tencent/liteav/videoproducer/capture/CameraEventCallback;
.line 1533
sget-boolean p3, Lcom/tencent/liteav/videoproducer/capture/b/a;->c:Z
const-string v1, "camera"
const/4 v2, 0x1
const/4 v3, 0x0
const-string v4, "Camera2Controller"
if-nez p3, :cond_8e
.line 1539
:try_start_e
invoke-static {}, Lcom/tencent/liteav/base/ContextUtils;->getApplicationContext()Landroid/content/Context;
move-result-object p3
invoke-virtual {p3, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object p3
check-cast p3, Landroid/hardware/camera2/CameraManager;
.line 1541
invoke-virtual {p3}, Landroid/hardware/camera2/CameraManager;->getCameraIdList()[Ljava/lang/String;
move-result-object v5
array-length v6, v5
move v7, v3
:goto_1e
if-ge v7, v6, :cond_5e
aget-object v8, v5, v7
.line 1542
invoke-virtual {p3, v8}, Landroid/hardware/camera2/CameraManager;->getCameraCharacteristics(Ljava/lang/String;)Landroid/hardware/camera2/CameraCharacteristics;
move-result-object v9
.line 1543
sget-object v10, Landroid/hardware/camera2/CameraCharacteristics;->LENS_FACING:Landroid/hardware/camera2/CameraCharacteristics$Key;
invoke-virtual {v9, v10}, Landroid/hardware/camera2/CameraCharacteristics;->get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object;
move-result-object v10
check-cast v10, Ljava/lang/Integer;
if-eqz v10, :cond_44
.line 1549
invoke-virtual {v10}, Ljava/lang/Integer;->intValue()I
move-result v11
if-nez v11, :cond_44
.line 1550
invoke-virtual {v0, v8}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v11
if-eqz v11, :cond_44
.line 1551
sget-object v10, Lcom/tencent/liteav/videoproducer/capture/b/a;->b:Ljava/util/HashMap;
invoke-virtual {v10, v8, v9}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 1552
sput-object v8, Lcom/tencent/liteav/videoproducer/capture/b/a;->e:Ljava/lang/String;
goto :goto_5b
:cond_44
if-eqz v10, :cond_5b
.line 1553
invoke-virtual {v10}, Ljava/lang/Integer;->intValue()I
move-result v10
if-ne v10, v2, :cond_5b
const-string v10, "0"
.line 1554
invoke-virtual {v10, v8}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v10
if-eqz v10, :cond_5b
.line 1555
sget-object v10, Lcom/tencent/liteav/videoproducer/capture/b/a;->b:Ljava/util/HashMap;
invoke-virtual {v10, v8, v9}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 1556
sput-object v8, Lcom/tencent/liteav/videoproducer/capture/b/a;->d:Ljava/lang/String;
:cond_5b
:goto_5b
add-int/lit8 v7, v7, 0x1
goto :goto_1e
.line 1559
:cond_5e
new-instance p3, Ljava/lang/StringBuilder;
const-string v5, "initCamera2Ability front:"
invoke-direct {p3, v5}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
sget-object v5, Lcom/tencent/liteav/videoproducer/capture/b/a;->e:Ljava/lang/String;
invoke-virtual {p3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v5, ", back:"
invoke-virtual {p3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
sget-object v5, Lcom/tencent/liteav/videoproducer/capture/b/a;->d:Ljava/lang/String;
invoke-virtual {p3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p3
invoke-static {v4, p3}, Lcom/tencent/liteav/base/util/LiteavLog;->i(Ljava/lang/String;Ljava/lang/String;)V
:try_end_7b
.catch Ljava/lang/Exception; {:try_start_e .. :try_end_7b} :catch_7c
goto :goto_8c
:catch_7c
move-exception p3
.line 1563
sput-object v0, Lcom/tencent/liteav/videoproducer/capture/b/a;->e:Ljava/lang/String;
.line 1564
invoke-static {p3}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object p3
const-string v0, "initCamera2Ability exception!"
invoke-virtual {v0, p3}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object p3
invoke-static {v4, p3}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;)V
.line 1566
:goto_8c
sput-boolean v2, Lcom/tencent/liteav/videoproducer/capture/b/a;->c:Z
:cond_8e
if-eqz p1, :cond_164
if-nez p2, :cond_94
goto/16 :goto_164
.line 207
:cond_94
iget-object p3, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->u:Lcom/tencent/liteav/videoproducer/capture/b/a$a;
sget-object v0, Lcom/tencent/liteav/videoproducer/capture/b/a$a;->a:Lcom/tencent/liteav/videoproducer/capture/b/a$a;
if-eq p3, v0, :cond_a0
const-string p1, "it\'s capturing, you should Stop first."
.line 208
invoke-static {v4, p1}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;)V
return v3
.line 2489
:cond_a0
iput-object p2, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->p:Landroid/graphics/SurfaceTexture;
.line 2490
iget-object p3, p1, Lcom/tencent/liteav/videoproducer/capture/CameraCaptureParams;->a:Ljava/lang/Boolean;
invoke-virtual {p3}, Ljava/lang/Boolean;->booleanValue()Z
move-result p3
iput-boolean p3, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->q:Z
.line 3424
invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->a()Landroid/hardware/camera2/CameraCharacteristics;
move-result-object p3
if-nez p3, :cond_b2
:goto_b0
move p3, v3
goto :goto_eb
.line 3428
:cond_b2
invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->a()Landroid/hardware/camera2/CameraCharacteristics;
move-result-object p3
sget-object v0, Landroid/hardware/camera2/CameraCharacteristics;->CONTROL_AF_AVAILABLE_MODES:Landroid/hardware/camera2/CameraCharacteristics$Key;
invoke-virtual {p3, v0}, Landroid/hardware/camera2/CameraCharacteristics;->get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object;
move-result-object p3
check-cast p3, [I
.line 3429
array-length v0, p3
if-eqz v0, :cond_cb
array-length v0, p3
if-ne v0, v2, :cond_c9
aget p3, p3, v3
if-nez p3, :cond_c9
goto :goto_cb
:cond_c9
move p3, v2
goto :goto_eb
.line 3432
:cond_cb
:goto_cb
new-instance p3, Ljava/lang/StringBuilder;
const-string v0, "Current "
invoke-direct {p3, v0}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget-boolean v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->q:Z
if-eqz v0, :cond_d9
const-string v0, "front camera "
goto :goto_db
:cond_d9
const-string v0, "back camera "
:goto_db
invoke-virtual {p3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v0, " is not support auto focus."
invoke-virtual {p3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p3
invoke-static {v4, p3}, Lcom/tencent/liteav/base/util/LiteavLog;->w(Ljava/lang/String;Ljava/lang/String;)V
goto :goto_b0
.line 2491
:goto_eb
iput-boolean p3, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->s:Z
.line 2493
invoke-static {}, Lcom/tencent/liteav/base/ContextUtils;->getApplicationContext()Landroid/content/Context;
move-result-object p3
invoke-virtual {p3, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object p3
check-cast p3, Landroid/hardware/camera2/CameraManager;
.line 2495
iget-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->D:Landroid/hardware/camera2/CameraManager$AvailabilityCallback;
iget-object v1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->f:Landroid/os/Handler;
invoke-virtual {p3, v0, v1}, Landroid/hardware/camera2/CameraManager;->registerAvailabilityCallback(Landroid/hardware/camera2/CameraManager$AvailabilityCallback;Landroid/os/Handler;)V
.line 2497
iget p3, p1, Lcom/tencent/liteav/videoproducer/capture/CameraCaptureParams;->c:I
iget v0, p1, Lcom/tencent/liteav/videoproducer/capture/CameraCaptureParams;->d:I
invoke-direct {p0, p3, v0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->a(II)Z
move-result p3
if-nez p3, :cond_115
const-string p1, "openCamera failed."
.line 2499
invoke-static {v4, p1}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;)V
.line 2500
invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->c()V
.line 2501
sget-object p1, Lcom/tencent/liteav/videoproducer/capture/b/a$a;->a:Lcom/tencent/liteav/videoproducer/capture/b/a$a;
iput-object p1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->u:Lcom/tencent/liteav/videoproducer/capture/b/a$a;
return v3
.line 2506
:cond_115
invoke-direct {p0, p2}, Lcom/tencent/liteav/videoproducer/capture/b/a;->a(Landroid/graphics/SurfaceTexture;)Z
move-result p2
if-nez p2, :cond_128
const-string p1, "startPreview failed."
.line 2508
invoke-static {v4, p1}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;)V
.line 2509
invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->b()V
.line 2510
sget-object p1, Lcom/tencent/liteav/videoproducer/capture/b/a$a;->a:Lcom/tencent/liteav/videoproducer/capture/b/a$a;
iput-object p1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->u:Lcom/tencent/liteav/videoproducer/capture/b/a$a;
return v3
.line 2514
:cond_128
iget-object p2, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->m:Landroid/hardware/camera2/CaptureRequest$Builder;
sget-object p3, Landroid/hardware/camera2/CaptureRequest;->CONTROL_AE_MODE:Landroid/hardware/camera2/CaptureRequest$Key;
invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v0
invoke-virtual {p2, p3, v0}, Landroid/hardware/camera2/CaptureRequest$Builder;->set(Landroid/hardware/camera2/CaptureRequest$Key;Ljava/lang/Object;)V
.line 2516
iget p1, p1, Lcom/tencent/liteav/videoproducer/capture/CameraCaptureParams;->b:I
invoke-direct {p0, p1}, Lcom/tencent/liteav/videoproducer/capture/b/a;->a(I)Landroid/util/Range;
move-result-object p1
.line 2518
iget-object p2, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->m:Landroid/hardware/camera2/CaptureRequest$Builder;
sget-object p3, Landroid/hardware/camera2/CaptureRequest;->CONTROL_AE_TARGET_FPS_RANGE:Landroid/hardware/camera2/CaptureRequest$Key;
invoke-virtual {p2, p3, p1}, Landroid/hardware/camera2/CaptureRequest$Builder;->set(Landroid/hardware/camera2/CaptureRequest$Key;Ljava/lang/Object;)V
.line 2519
iget-boolean p1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->r:Z
invoke-direct {p0, p1}, Lcom/tencent/liteav/videoproducer/capture/b/a;->c(Z)V
.line 2520
iget p1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->A:F
invoke-direct {p0, p1}, Lcom/tencent/liteav/videoproducer/capture/b/a;->a(F)V
.line 2521
iget p1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->z:F
invoke-direct {p0, p1}, Lcom/tencent/liteav/videoproducer/capture/b/a;->b(F)V
.line 2522
iget-object p1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->m:Landroid/hardware/camera2/CaptureRequest$Builder;
invoke-virtual {p1}, Landroid/hardware/camera2/CaptureRequest$Builder;->build()Landroid/hardware/camera2/CaptureRequest;
move-result-object p1
iput-object p1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->l:Landroid/hardware/camera2/CaptureRequest;
.line 2523
invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->d()V
.line 2524
sget-object p1, Lcom/tencent/liteav/videoproducer/capture/b/a$a;->b:Lcom/tencent/liteav/videoproducer/capture/b/a$a;
iput-object p1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->u:Lcom/tencent/liteav/videoproducer/capture/b/a$a;
const-string p1, "startCaptureInternal ok."
.line 2525
invoke-static {v4, p1}, Lcom/tencent/liteav/base/util/LiteavLog;->i(Ljava/lang/String;Ljava/lang/String;)V
return v2
:cond_164
:goto_164
const-string p1, "captureParams or surfaceTexture is null"
.line 203
invoke-static {v4, p1}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;)V
return v3
.end method
.method public final stopCapture()V
.registers 4
.line 3679
iget-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->w:Ljava/util/concurrent/CountDownLatch;
if-eqz v0, :cond_7
.line 3681
invoke-virtual {v0}, Ljava/util/concurrent/CountDownLatch;->countDown()V
:cond_7
const/4 v0, 0x0
.line 3683
iput-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->w:Ljava/util/concurrent/CountDownLatch;
.line 3684
iget-object v1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->x:Ljava/util/concurrent/CountDownLatch;
if-eqz v1, :cond_11
.line 3686
invoke-virtual {v1}, Ljava/util/concurrent/CountDownLatch;->countDown()V
.line 3688
:cond_11
iput-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->x:Ljava/util/concurrent/CountDownLatch;
.line 217
invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->b()V
.line 218
invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->c()V
.line 219
iput-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->l:Landroid/hardware/camera2/CaptureRequest;
const/4 v1, 0x0
.line 220
iput-boolean v1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->a:Z
.line 221
iget-object v2, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->h:Ljava/util/concurrent/atomic/AtomicBoolean;
invoke-virtual {v2, v1}, Ljava/util/concurrent/atomic/AtomicBoolean;->set(Z)V
.line 223
iput-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->p:Landroid/graphics/SurfaceTexture;
const/4 v0, -0x1
.line 224
iput v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->t:I
.line 225
sget-object v0, Lcom/tencent/liteav/videoproducer/capture/b/a$a;->a:Lcom/tencent/liteav/videoproducer/capture/b/a$a;
iput-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->u:Lcom/tencent/liteav/videoproducer/capture/b/a$a;
const-string v0, "Camera2Controller"
const-string v1, "stopCapture success"
.line 226
invoke-static {v0, v1}, Lcom/tencent/liteav/base/util/LiteavLog;->i(Ljava/lang/String;Ljava/lang/String;)V
return-void
.end method
.method public final turnOnTorch(Z)V
.registers 7
.line 347
invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->g()Z
move-result v0
const-string v1, "Camera2Controller"
if-eqz v0, :cond_1c
.line 348
new-instance p1, Ljava/lang/StringBuilder;
const-string v0, "turnOnTorch error mCameraStatus:"
invoke-direct {p1, v0}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->u:Lcom/tencent/liteav/videoproducer/capture/b/a$a;
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-static {v1, p1}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;)V
return-void
:cond_1c
const/4 v0, 0x1
const/4 v2, 0x0
if-eqz p1, :cond_28
.line 352
iget v3, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->t:I
const/4 v4, 0x2
if-eq v3, v4, :cond_28
.line 353
iput v4, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->t:I
goto :goto_2e
:cond_28
if-nez p1, :cond_2d
.line 356
iput v2, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->t:I
goto :goto_2e
:cond_2d
move v0, v2
.line 359
:goto_2e
new-instance v2, Ljava/lang/StringBuilder;
const-string v3, "turnOnTorch:"
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
const-string p1, ", mode:"
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget p1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->t:I
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string p1, ", updateView:"
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-static {v1, p1}, Lcom/tencent/liteav/base/util/LiteavLog;->i(Ljava/lang/String;Ljava/lang/String;)V
if-eqz v0, :cond_63
.line 363
iget-object p1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->m:Landroid/hardware/camera2/CaptureRequest$Builder;
sget-object v0, Landroid/hardware/camera2/CaptureRequest;->FLASH_MODE:Landroid/hardware/camera2/CaptureRequest$Key;
iget v1, p0, Lcom/tencent/liteav/videoproducer/capture/b/a;->t:I
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
invoke-virtual {p1, v0, v1}, Landroid/hardware/camera2/CaptureRequest$Builder;->set(Landroid/hardware/camera2/CaptureRequest$Key;Ljava/lang/Object;)V
.line 364
invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/b/a;->d()V
:cond_63
return-void
.end method