CameraRenderer.smali
.class public Lorg/opencv/android/CameraRenderer;
.super Lorg/opencv/android/CameraGLRendererBase;
# annotations
.annotation build Landroid/annotation/TargetApi;
value = 0xf
.end annotation
# static fields
.field public static final LOGTAG:Ljava/lang/String; = "CameraRenderer"
# instance fields
.field private mCamera:Landroid/hardware/Camera;
.field private mPreviewStarted:Z
# direct methods
.method constructor <init>(Lorg/opencv/android/CameraGLSurfaceView;)V
.registers 2
invoke-direct {p0, p1}, Lorg/opencv/android/CameraGLRendererBase;-><init>(Lorg/opencv/android/CameraGLSurfaceView;)V
const/4 p1, 0x0
iput-boolean p1, p0, Lorg/opencv/android/CameraRenderer;->mPreviewStarted:Z
return-void
.end method
# virtual methods
.method protected declared-synchronized closeCamera()V
.registers 3
monitor-enter p0
:try_start_1
const-string v0, "CameraRenderer"
const-string v1, "closeCamera"
invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
iget-object v0, p0, Lorg/opencv/android/CameraRenderer;->mCamera:Landroid/hardware/Camera;
if-eqz v0, :cond_1c
iget-object v0, p0, Lorg/opencv/android/CameraRenderer;->mCamera:Landroid/hardware/Camera;
invoke-virtual {v0}, Landroid/hardware/Camera;->stopPreview()V
const/4 v0, 0x0
iput-boolean v0, p0, Lorg/opencv/android/CameraRenderer;->mPreviewStarted:Z
iget-object v0, p0, Lorg/opencv/android/CameraRenderer;->mCamera:Landroid/hardware/Camera;
invoke-virtual {v0}, Landroid/hardware/Camera;->release()V
const/4 v0, 0x0
iput-object v0, p0, Lorg/opencv/android/CameraRenderer;->mCamera:Landroid/hardware/Camera;
:try_end_1c
.catchall {:try_start_1 .. :try_end_1c} :catchall_1e
:cond_1c
monitor-exit p0
return-void
:catchall_1e
move-exception v0
monitor-exit p0
throw v0
.end method
.method protected declared-synchronized openCamera(I)V
.registers 8
monitor-enter p0
:try_start_1
const-string v0, "CameraRenderer"
const-string v1, "openCamera"
invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
invoke-virtual {p0}, Lorg/opencv/android/CameraRenderer;->closeCamera()V
const/4 v0, -0x1
const/16 v1, 0x9
const/4 v2, 0x0
const/4 v3, 0x1
if-ne p1, v0, :cond_97
const-string p1, "CameraRenderer"
const-string v0, "Trying to open camera with old open()"
invoke-static {p1, v0}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
:try_end_19
.catchall {:try_start_1 .. :try_end_19} :catchall_18d
:try_start_19
invoke-static {}, Landroid/hardware/Camera;->open()Landroid/hardware/Camera;
move-result-object p1
iput-object p1, p0, Lorg/opencv/android/CameraRenderer;->mCamera:Landroid/hardware/Camera;
:try_end_1f
.catch Ljava/lang/Exception; {:try_start_19 .. :try_end_1f} :catch_20
.catchall {:try_start_19 .. :try_end_1f} :catchall_18d
goto :goto_3b
:catch_20
move-exception p1
:try_start_21
const-string v0, "CameraRenderer"
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
const-string v5, "Camera is not available (in use or does not exist): "
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Ljava/lang/Exception;->getLocalizedMessage()Ljava/lang/String;
move-result-object p1
invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-static {v0, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
:goto_3b
iget-object p1, p0, Lorg/opencv/android/CameraRenderer;->mCamera:Landroid/hardware/Camera;
if-nez p1, :cond_13d
sget p1, Landroid/os/Build$VERSION;->SDK_INT:I
if-lt p1, v1, :cond_13d
const/4 p1, 0x0
:goto_44
invoke-static {}, Landroid/hardware/Camera;->getNumberOfCameras()I
move-result v0
if-ge v2, v0, :cond_13d
const-string v0, "CameraRenderer"
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "Trying to open camera with new open("
invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v4, ")"
invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
:try_end_65
.catchall {:try_start_21 .. :try_end_65} :catchall_18d
:try_start_65
invoke-static {v2}, Landroid/hardware/Camera;->open(I)Landroid/hardware/Camera;
move-result-object v0
iput-object v0, p0, Lorg/opencv/android/CameraRenderer;->mCamera:Landroid/hardware/Camera;
:try_end_6b
.catch Ljava/lang/RuntimeException; {:try_start_65 .. :try_end_6b} :catch_6d
.catchall {:try_start_65 .. :try_end_6b} :catchall_18d
const/4 p1, 0x1
goto :goto_90
:catch_6d
move-exception v0
:try_start_6e
const-string v1, "CameraRenderer"
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
const-string v5, "Camera #"
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v5, "failed to open: "
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/RuntimeException;->getLocalizedMessage()Ljava/lang/String;
move-result-object v0
invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v1, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
:goto_90
if-eqz p1, :cond_94
goto/16 :goto_13d
:cond_94
add-int/lit8 v2, v2, 0x1
goto :goto_44
:cond_97
sget p1, Landroid/os/Build$VERSION;->SDK_INT:I
if-lt p1, v1, :cond_13d
iget p1, p0, Lorg/opencv/android/CameraGLRendererBase;->mCameraIndex:I
iget v0, p0, Lorg/opencv/android/CameraGLRendererBase;->mCameraIndex:I
const/16 v1, 0x62
const/16 v4, 0x63
if-ne v0, v4, :cond_c2
const-string v0, "CameraRenderer"
const-string v3, "Trying to open BACK camera"
invoke-static {v0, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
new-instance v0, Landroid/hardware/Camera$CameraInfo;
invoke-direct {v0}, Landroid/hardware/Camera$CameraInfo;-><init>()V
:goto_b1
invoke-static {}, Landroid/hardware/Camera;->getNumberOfCameras()I
move-result v3
if-ge v2, v3, :cond_e4
invoke-static {v2, v0}, Landroid/hardware/Camera;->getCameraInfo(ILandroid/hardware/Camera$CameraInfo;)V
iget v3, v0, Landroid/hardware/Camera$CameraInfo;->facing:I
if-nez v3, :cond_bf
goto :goto_df
:cond_bf
add-int/lit8 v2, v2, 0x1
goto :goto_b1
:cond_c2
iget v0, p0, Lorg/opencv/android/CameraGLRendererBase;->mCameraIndex:I
if-ne v0, v1, :cond_e4
const-string v0, "CameraRenderer"
const-string v5, "Trying to open FRONT camera"
invoke-static {v0, v5}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
new-instance v0, Landroid/hardware/Camera$CameraInfo;
invoke-direct {v0}, Landroid/hardware/Camera$CameraInfo;-><init>()V
:goto_d2
invoke-static {}, Landroid/hardware/Camera;->getNumberOfCameras()I
move-result v5
if-ge v2, v5, :cond_e4
invoke-static {v2, v0}, Landroid/hardware/Camera;->getCameraInfo(ILandroid/hardware/Camera$CameraInfo;)V
iget v5, v0, Landroid/hardware/Camera$CameraInfo;->facing:I
if-ne v5, v3, :cond_e1
:goto_df
move p1, v2
goto :goto_e4
:cond_e1
add-int/lit8 v2, v2, 0x1
goto :goto_d2
:cond_e4
:goto_e4
if-ne p1, v4, :cond_ee
const-string p1, "CameraRenderer"
const-string v0, "Back camera not found!"
invoke-static {p1, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
goto :goto_13d
:cond_ee
if-ne p1, v1, :cond_f8
const-string p1, "CameraRenderer"
const-string v0, "Front camera not found!"
invoke-static {p1, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
goto :goto_13d
:cond_f8
const-string v0, "CameraRenderer"
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Trying to open camera with new open("
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v2, ")"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
:try_end_113
.catchall {:try_start_6e .. :try_end_113} :catchall_18d
:try_start_113
invoke-static {p1}, Landroid/hardware/Camera;->open(I)Landroid/hardware/Camera;
move-result-object v0
iput-object v0, p0, Lorg/opencv/android/CameraRenderer;->mCamera:Landroid/hardware/Camera;
:try_end_119
.catch Ljava/lang/RuntimeException; {:try_start_113 .. :try_end_119} :catch_11a
.catchall {:try_start_113 .. :try_end_119} :catchall_18d
goto :goto_13d
:catch_11a
move-exception v0
:try_start_11b
const-string v1, "CameraRenderer"
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "Camera #"
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string p1, "failed to open: "
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/RuntimeException;->getLocalizedMessage()Ljava/lang/String;
move-result-object p1
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-static {v1, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
:cond_13d
:goto_13d
iget-object p1, p0, Lorg/opencv/android/CameraRenderer;->mCamera:Landroid/hardware/Camera;
if-nez p1, :cond_14a
const-string p1, "CameraRenderer"
const-string v0, "Error: can\'t open camera"
invoke-static {p1, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
:try_end_148
.catchall {:try_start_11b .. :try_end_148} :catchall_18d
monitor-exit p0
return-void
:cond_14a
:try_start_14a
iget-object p1, p0, Lorg/opencv/android/CameraRenderer;->mCamera:Landroid/hardware/Camera;
invoke-virtual {p1}, Landroid/hardware/Camera;->getParameters()Landroid/hardware/Camera$Parameters;
move-result-object p1
invoke-virtual {p1}, Landroid/hardware/Camera$Parameters;->getSupportedFocusModes()Ljava/util/List;
move-result-object v0
if-eqz v0, :cond_163
const-string v1, "continuous-video"
invoke-interface {v0, v1}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_163
const-string v0, "continuous-video"
invoke-virtual {p1, v0}, Landroid/hardware/Camera$Parameters;->setFocusMode(Ljava/lang/String;)V
:cond_163
iget-object v0, p0, Lorg/opencv/android/CameraRenderer;->mCamera:Landroid/hardware/Camera;
invoke-virtual {v0, p1}, Landroid/hardware/Camera;->setParameters(Landroid/hardware/Camera$Parameters;)V
:try_end_168
.catchall {:try_start_14a .. :try_end_168} :catchall_18d
:try_start_168
iget-object p1, p0, Lorg/opencv/android/CameraRenderer;->mCamera:Landroid/hardware/Camera;
iget-object v0, p0, Lorg/opencv/android/CameraGLRendererBase;->mSTexture:Landroid/graphics/SurfaceTexture;
invoke-virtual {p1, v0}, Landroid/hardware/Camera;->setPreviewTexture(Landroid/graphics/SurfaceTexture;)V
:try_end_16f
.catch Ljava/io/IOException; {:try_start_168 .. :try_end_16f} :catch_170
.catchall {:try_start_168 .. :try_end_16f} :catchall_18d
goto :goto_18b
:catch_170
move-exception p1
:try_start_171
const-string v0, "CameraRenderer"
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "setPreviewTexture() failed: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Ljava/io/IOException;->getMessage()Ljava/lang/String;
move-result-object p1
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-static {v0, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
:try_end_18b
.catchall {:try_start_171 .. :try_end_18b} :catchall_18d
:goto_18b
monitor-exit p0
return-void
:catchall_18d
move-exception p1
monitor-exit p0
throw p1
.end method
.method public declared-synchronized setCameraPreviewSize(II)V
.registers 20
move-object/from16 v1, p0
move/from16 v0, p1
move/from16 v2, p2
monitor-enter p0
:try_start_7
const-string v3, "CameraRenderer"
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
const-string v5, "setCameraPreviewSize: "
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v5, "x"
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
invoke-static {v3, v4}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
iget-object v3, v1, Lorg/opencv/android/CameraRenderer;->mCamera:Landroid/hardware/Camera;
if-nez v3, :cond_32
const-string v0, "CameraRenderer"
const-string v2, "Camera isn\'t initialized!"
invoke-static {v0, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
:try_end_30
.catchall {:try_start_7 .. :try_end_30} :catchall_126
monitor-exit p0
return-void
:cond_32
:try_start_32
iget v3, v1, Lorg/opencv/android/CameraGLRendererBase;->mMaxCameraWidth:I
if-lez v3, :cond_3c
iget v3, v1, Lorg/opencv/android/CameraGLRendererBase;->mMaxCameraWidth:I
if-ge v3, v0, :cond_3c
iget v0, v1, Lorg/opencv/android/CameraGLRendererBase;->mMaxCameraWidth:I
:cond_3c
iget v3, v1, Lorg/opencv/android/CameraGLRendererBase;->mMaxCameraHeight:I
if-lez v3, :cond_46
iget v3, v1, Lorg/opencv/android/CameraGLRendererBase;->mMaxCameraHeight:I
if-ge v3, v2, :cond_46
iget v2, v1, Lorg/opencv/android/CameraGLRendererBase;->mMaxCameraHeight:I
:cond_46
iget-object v3, v1, Lorg/opencv/android/CameraRenderer;->mCamera:Landroid/hardware/Camera;
invoke-virtual {v3}, Landroid/hardware/Camera;->getParameters()Landroid/hardware/Camera$Parameters;
move-result-object v3
invoke-virtual {v3}, Landroid/hardware/Camera$Parameters;->getSupportedPreviewSizes()Ljava/util/List;
move-result-object v4
invoke-interface {v4}, Ljava/util/List;->size()I
move-result v5
if-lez v5, :cond_110
int-to-float v5, v0
int-to-float v6, v2
div-float/2addr v5, v6
invoke-interface {v4}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v6
const/4 v7, 0x0
const/4 v8, 0x0
const/4 v9, 0x0
:cond_60
:goto_60
invoke-interface {v6}, Ljava/util/Iterator;->hasNext()Z
move-result v10
if-eqz v10, :cond_ac
invoke-interface {v6}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v10
check-cast v10, Landroid/hardware/Camera$Size;
iget v11, v10, Landroid/hardware/Camera$Size;->width:I
iget v10, v10, Landroid/hardware/Camera$Size;->height:I
const-string v12, "CameraRenderer"
new-instance v13, Ljava/lang/StringBuilder;
invoke-direct {v13}, Ljava/lang/StringBuilder;-><init>()V
const-string v14, "checking camera preview size: "
invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v13, v11}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v14, "x"
invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v13, v10}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v13
invoke-static {v12, v13}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
if-gt v11, v0, :cond_60
if-gt v10, v2, :cond_60
if-lt v11, v8, :cond_60
if-lt v10, v9, :cond_60
int-to-float v12, v11
int-to-float v13, v10
div-float/2addr v12, v13
sub-float v12, v5, v12
invoke-static {v12}, Ljava/lang/Math;->abs(F)F
move-result v12
float-to-double v12, v12
const-wide v14, 0x3fc999999999999aL # 0.2
cmpg-double v16, v12, v14
if-gez v16, :cond_60
move v9, v10
move v8, v11
goto :goto_60
:cond_ac
if-lez v8, :cond_d0
if-gtz v9, :cond_b1
goto :goto_d0
:cond_b1
const-string v0, "CameraRenderer"
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "Selected best size: "
invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v8}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v4, " x "
invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v9}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-static {v0, v2}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
goto :goto_fe
:cond_d0
:goto_d0
invoke-interface {v4, v7}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/hardware/Camera$Size;
iget v8, v0, Landroid/hardware/Camera$Size;->width:I
invoke-interface {v4, v7}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/hardware/Camera$Size;
iget v9, v0, Landroid/hardware/Camera$Size;->height:I
const-string v0, "CameraRenderer"
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "Error: best size was not selected, using "
invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v8}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v4, " x "
invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v9}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-static {v0, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
:goto_fe
iget-boolean v0, v1, Lorg/opencv/android/CameraRenderer;->mPreviewStarted:Z
if-eqz v0, :cond_109
iget-object v0, v1, Lorg/opencv/android/CameraRenderer;->mCamera:Landroid/hardware/Camera;
invoke-virtual {v0}, Landroid/hardware/Camera;->stopPreview()V
iput-boolean v7, v1, Lorg/opencv/android/CameraRenderer;->mPreviewStarted:Z
:cond_109
iput v8, v1, Lorg/opencv/android/CameraGLRendererBase;->mCameraWidth:I
iput v9, v1, Lorg/opencv/android/CameraGLRendererBase;->mCameraHeight:I
invoke-virtual {v3, v8, v9}, Landroid/hardware/Camera$Parameters;->setPreviewSize(II)V
:cond_110
const-string v0, "orientation"
const-string v2, "landscape"
invoke-virtual {v3, v0, v2}, Landroid/hardware/Camera$Parameters;->set(Ljava/lang/String;Ljava/lang/String;)V
iget-object v0, v1, Lorg/opencv/android/CameraRenderer;->mCamera:Landroid/hardware/Camera;
invoke-virtual {v0, v3}, Landroid/hardware/Camera;->setParameters(Landroid/hardware/Camera$Parameters;)V
iget-object v0, v1, Lorg/opencv/android/CameraRenderer;->mCamera:Landroid/hardware/Camera;
invoke-virtual {v0}, Landroid/hardware/Camera;->startPreview()V
const/4 v0, 0x1
iput-boolean v0, v1, Lorg/opencv/android/CameraRenderer;->mPreviewStarted:Z
:try_end_124
.catchall {:try_start_32 .. :try_end_124} :catchall_126
monitor-exit p0
return-void
:catchall_126
move-exception v0
monitor-exit p0
throw v0
.end method