UVCCamera.smali
.class public Lcom/serenegiant/usb/UVCCamera;
.super Ljava/lang/Object;
.source "UVCCamera.java"
# static fields
.field public static final CTRL_AE:I = 0x2
.field public static final CTRL_AE_ABS:I = 0x8
.field public static final CTRL_AE_PRIORITY:I = 0x4
.field public static final CTRL_AR_REL:I = 0x10
.field public static final CTRL_FOCUS_ABS:I = 0x20
.field public static final CTRL_FOCUS_AUTO:I = 0x20000
.field public static final CTRL_FOCUS_REL:I = 0x40
.field public static final CTRL_FOCUS_SIMPLE:I = 0x80000
.field public static final CTRL_IRIS_ABS:I = 0x80
.field public static final CTRL_IRIS_REL:I = 0x100
.field public static final CTRL_PANTILT_ABS:I = 0x800
.field public static final CTRL_PANTILT_REL:I = 0x1000
.field public static final CTRL_PRIVACY:I = 0x40000
.field public static final CTRL_ROLL_ABS:I = 0x2000
.field public static final CTRL_ROLL_REL:I = 0x4000
.field public static final CTRL_SCANNING:I = 0x1
.field public static final CTRL_WINDOW:I = 0x100000
.field public static final CTRL_ZOOM_ABS:I = 0x200
.field public static final CTRL_ZOOM_REL:I = 0x400
.field private static final DEBUG:Z = false
.field public static final DEFAULT_BANDWIDTH:F = 1.0f
.field public static final DEFAULT_PREVIEW_HEIGHT:I = 0x1e0
.field public static final DEFAULT_PREVIEW_MAX_FPS:I = 0x1e
.field public static final DEFAULT_PREVIEW_MIN_FPS:I = 0x1
.field public static final DEFAULT_PREVIEW_MODE:I = 0x0
.field public static final DEFAULT_PREVIEW_WIDTH:I = 0x280
.field private static final DEFAULT_USBFS:Ljava/lang/String; = "/dev/bus/usb"
.field public static final FRAME_FORMAT_MJPEG:I = 0x1
.field public static final FRAME_FORMAT_YUYV:I = 0x0
.field public static final PIXEL_FORMAT_NV21:I = 0x5
.field public static final PIXEL_FORMAT_RAW:I = 0x0
.field public static final PIXEL_FORMAT_RGB565:I = 0x2
.field public static final PIXEL_FORMAT_RGBX:I = 0x3
.field public static final PIXEL_FORMAT_YUV:I = 0x1
.field public static final PIXEL_FORMAT_YUV420SP:I = 0x4
.field public static final PU_AVIDEO_LOCK:I = -0x7ffe0000
.field public static final PU_AVIDEO_STD:I = -0x7fff0000
.field public static final PU_BACKLIGHT:I = -0x7fffff00
.field public static final PU_BRIGHTNESS:I = -0x7fffffff
.field public static final PU_CONTRAST:I = -0x7ffffffe
.field public static final PU_CONTRAST_AUTO:I = -0x7ffc0000
.field public static final PU_DIGITAL_LIMIT:I = -0x7fff8000
.field public static final PU_DIGITAL_MULT:I = -0x7fffc000
.field public static final PU_GAIN:I = -0x7ffffe00
.field public static final PU_GAMMA:I = -0x7fffffe0
.field public static final PU_HUE:I = -0x7ffffffc
.field public static final PU_HUE_AUTO:I = -0x7ffff800
.field public static final PU_POWER_LF:I = -0x7ffffc00
.field public static final PU_SATURATION:I = -0x7ffffff8
.field public static final PU_SHARPNESS:I = -0x7ffffff0
.field public static final PU_WB_COMPO:I = -0x7fffff80
.field public static final PU_WB_COMPO_AUTO:I = -0x7fffe000
.field public static final PU_WB_TEMP:I = -0x7fffffc0
.field public static final PU_WB_TEMP_AUTO:I = -0x7ffff000
.field public static final STATUS_ATTRIBUTE_FAILURE_CHANGE:I = 0x2
.field public static final STATUS_ATTRIBUTE_INFO_CHANGE:I = 0x1
.field public static final STATUS_ATTRIBUTE_UNKNOWN:I = 0xff
.field public static final STATUS_ATTRIBUTE_VALUE_CHANGE:I = 0x0
.field public static final STATUS_CLASS_CONTROL:I = 0x10
.field public static final STATUS_CLASS_CONTROL_CAMERA:I = 0x11
.field public static final STATUS_CLASS_CONTROL_PROCESSING:I = 0x12
.field private static final SUPPORTS_CTRL:[Ljava/lang/String;
.field private static final SUPPORTS_PROC:[Ljava/lang/String;
.field private static final TAG:Ljava/lang/String;
.field private static isLoaded:Z
# instance fields
.field protected mAnalogVideoLockStateDef:I
.field protected mAnalogVideoLockStateMax:I
.field protected mAnalogVideoLockStateMin:I
.field protected mAnalogVideoStandardDef:I
.field protected mAnalogVideoStandardMax:I
.field protected mAnalogVideoStandardMin:I
.field protected mAutoFocusDef:I
.field protected mAutoFocusMax:I
.field protected mAutoFocusMin:I
.field protected mAutoWhiteBlanceCompoDef:I
.field protected mAutoWhiteBlanceCompoMax:I
.field protected mAutoWhiteBlanceCompoMin:I
.field protected mAutoWhiteBlanceDef:I
.field protected mAutoWhiteBlanceMax:I
.field protected mAutoWhiteBlanceMin:I
.field protected mBacklightCompDef:I
.field protected mBacklightCompMax:I
.field protected mBacklightCompMin:I
.field protected mBrightnessDef:I
.field protected mBrightnessMax:I
.field protected mBrightnessMin:I
.field protected mContrastDef:I
.field protected mContrastMax:I
.field protected mContrastMin:I
.field protected mControlSupports:J
.field private mCtrlBlock:Lcom/serenegiant/usb/USBMonitor$UsbControlBlock;
.field protected mCurrentBandwidthFactor:F
.field protected mCurrentFrameFormat:I
.field protected mCurrentHeight:I
.field protected mCurrentSizeList:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Lcom/serenegiant/usb/Size;",
">;"
}
.end annotation
.end field
.field protected mCurrentWidth:I
.field protected mExposureDef:I
.field protected mExposureMax:I
.field protected mExposureMin:I
.field protected mExposureModeDef:I
.field protected mExposureModeMax:I
.field protected mExposureModeMin:I
.field protected mExposurePriorityDef:I
.field protected mExposurePriorityMax:I
.field protected mExposurePriorityMin:I
.field protected mFocusDef:I
.field protected mFocusMax:I
.field protected mFocusMin:I
.field protected mFocusRelDef:I
.field protected mFocusRelMax:I
.field protected mFocusRelMin:I
.field protected mFocusSimpleDef:I
.field protected mFocusSimpleMax:I
.field protected mFocusSimpleMin:I
.field protected mGainDef:I
.field protected mGainMax:I
.field protected mGainMin:I
.field protected mGammaDef:I
.field protected mGammaMax:I
.field protected mGammaMin:I
.field protected mHueDef:I
.field protected mHueMax:I
.field protected mHueMin:I
.field protected mIrisDef:I
.field protected mIrisMax:I
.field protected mIrisMin:I
.field protected mIrisRelDef:I
.field protected mIrisRelMax:I
.field protected mIrisRelMin:I
.field protected mMultiplierDef:I
.field protected mMultiplierLimitDef:I
.field protected mMultiplierLimitMax:I
.field protected mMultiplierLimitMin:I
.field protected mMultiplierMax:I
.field protected mMultiplierMin:I
.field protected mNativePtr:J
.field protected mPanDef:I
.field protected mPanMax:I
.field protected mPanMin:I
.field protected mPanRelDef:I
.field protected mPanRelMax:I
.field protected mPanRelMin:I
.field protected mPowerlineFrequencyDef:I
.field protected mPowerlineFrequencyMax:I
.field protected mPowerlineFrequencyMin:I
.field protected mPrivacyDef:I
.field protected mPrivacyMax:I
.field protected mPrivacyMin:I
.field protected mProcSupports:J
.field protected mRollDef:I
.field protected mRollMax:I
.field protected mRollMin:I
.field protected mRollRelDef:I
.field protected mRollRelMax:I
.field protected mRollRelMin:I
.field protected mSaturationDef:I
.field protected mSaturationMax:I
.field protected mSaturationMin:I
.field protected mScanningModeDef:I
.field protected mScanningModeMax:I
.field protected mScanningModeMin:I
.field protected mSharpnessDef:I
.field protected mSharpnessMax:I
.field protected mSharpnessMin:I
.field protected mSupportedSize:Ljava/lang/String;
.field protected mTiltDef:I
.field protected mTiltMax:I
.field protected mTiltMin:I
.field protected mTiltRelDef:I
.field protected mTiltRelMax:I
.field protected mTiltRelMin:I
.field protected mWhiteBlanceCompoDef:I
.field protected mWhiteBlanceCompoMax:I
.field protected mWhiteBlanceCompoMin:I
.field protected mWhiteBlanceDef:I
.field protected mWhiteBlanceMax:I
.field protected mWhiteBlanceMin:I
.field protected mWhiteBlanceRelDef:I
.field protected mWhiteBlanceRelMax:I
.field protected mWhiteBlanceRelMin:I
.field protected mZoomDef:I
.field protected mZoomMax:I
.field protected mZoomMin:I
.field protected mZoomRelDef:I
.field protected mZoomRelMax:I
.field protected mZoomRelMin:I
# direct methods
.method static constructor <clinit>()V
.registers 25
.line 44
const-class v0, Lcom/serenegiant/usb/UVCCamera;
invoke-virtual {v0}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;
move-result-object v0
sput-object v0, Lcom/serenegiant/usb/UVCCamera;->TAG:Ljava/lang/String;
.line 118
sget-boolean v0, Lcom/serenegiant/usb/UVCCamera;->isLoaded:Z
if-nez v0, :cond_25
.line 119
const-string v0, "jpeg-turbo1500"
invoke-static {v0}, Ljava/lang/System;->loadLibrary(Ljava/lang/String;)V
.line 120
const-string/jumbo v0, "usb100"
invoke-static {v0}, Ljava/lang/System;->loadLibrary(Ljava/lang/String;)V
.line 121
const-string/jumbo v0, "uvc"
invoke-static {v0}, Ljava/lang/System;->loadLibrary(Ljava/lang/String;)V
.line 122
const-string v0, "UVCCamera"
invoke-static {v0}, Ljava/lang/System;->loadLibrary(Ljava/lang/String;)V
.line 123
const/4 v0, 0x1
sput-boolean v0, Lcom/serenegiant/usb/UVCCamera;->isLoaded:Z
.line 909
:cond_25
const-string v1, "D0: Scanning Mode"
const-string v2, "D1: Auto-Exposure Mode"
const-string v3, "D2: Auto-Exposure Priority"
const-string v4, "D3: Exposure Time (Absolute)"
const-string v5, "D4: Exposure Time (Relative)"
const-string v6, "D5: Focus (Absolute)"
const-string v7, "D6: Focus (Relative)"
const-string v8, "D7: Iris (Absolute)"
const-string v9, "D8: Iris (Relative)"
const-string v10, "D9: Zoom (Absolute)"
const-string v11, "D10: Zoom (Relative)"
const-string v12, "D11: PanTilt (Absolute)"
const-string v13, "D12: PanTilt (Relative)"
const-string v14, "D13: Roll (Absolute)"
const-string v15, "D14: Roll (Relative)"
const-string v16, "D15: Reserved"
const-string v17, "D16: Reserved"
const-string v18, "D17: Focus, Auto"
const-string v19, "D18: Privacy"
const-string v20, "D19: Focus, Simple"
const-string v21, "D20: Window"
const-string v22, "D21: Region of Interest"
const-string v23, "D22: Reserved, set to zero"
const-string v24, "D23: Reserved, set to zero"
filled-new-array/range {v1 .. v24}, [Ljava/lang/String;
move-result-object v0
sput-object v0, Lcom/serenegiant/usb/UVCCamera;->SUPPORTS_CTRL:[Ljava/lang/String;
.line 936
const-string v1, "D0: Brightness"
const-string v2, "D1: Contrast"
const-string v3, "D2: Hue"
const-string v4, "D3: Saturation"
const-string v5, "D4: Sharpness"
const-string v6, "D5: Gamma"
const-string v7, "D6: White Balance Temperature"
const-string v8, "D7: White Balance Component"
const-string v9, "D8: Backlight Compensation"
const-string v10, "D9: Gain"
const-string v11, "D10: Power Line Frequency"
const-string v12, "D11: Hue, Auto"
const-string v13, "D12: White Balance Temperature, Auto"
const-string v14, "D13: White Balance Component, Auto"
const-string v15, "D14: Digital Multiplier"
const-string v16, "D15: Digital Multiplier Limit"
const-string v17, "D16: Analog Video Standard"
const-string v18, "D17: Analog Video Lock Status"
const-string v19, "D18: Contrast, Auto"
const-string v20, "D19: Reserved. Set to zero"
const-string v21, "D20: Reserved. Set to zero"
const-string v22, "D21: Reserved. Set to zero"
const-string v23, "D22: Reserved. Set to zero"
const-string v24, "D23: Reserved. Set to zero"
filled-new-array/range {v1 .. v24}, [Ljava/lang/String;
move-result-object v0
sput-object v0, Lcom/serenegiant/usb/UVCCamera;->SUPPORTS_PROC:[Ljava/lang/String;
return-void
.end method
.method public constructor <init>()V
.registers 3
.line 179
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 130
const/4 v0, 0x1
iput v0, p0, Lcom/serenegiant/usb/UVCCamera;->mCurrentFrameFormat:I
.line 131
const/16 v0, 0x280
iput v0, p0, Lcom/serenegiant/usb/UVCCamera;->mCurrentWidth:I
const/16 v0, 0x1e0
iput v0, p0, Lcom/serenegiant/usb/UVCCamera;->mCurrentHeight:I
.line 132
const/high16 v0, 0x3f800000 # 1.0f
iput v0, p0, Lcom/serenegiant/usb/UVCCamera;->mCurrentBandwidthFactor:F
.line 180
invoke-direct {p0}, Lcom/serenegiant/usb/UVCCamera;->nativeCreate()J
move-result-wide v0
iput-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
.line 181
const/4 v0, 0x0
iput-object v0, p0, Lcom/serenegiant/usb/UVCCamera;->mSupportedSize:Ljava/lang/String;
.line 182
return-void
.end method
.method private static final addSize(Lorg/json/JSONObject;IILjava/util/List;)V
.registers 15
.param p0, "format" # Lorg/json/JSONObject;
.param p1, "formatType" # I
.param p2, "frameType" # I
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lorg/json/JSONObject;",
"II",
"Ljava/util/List<",
"Lcom/serenegiant/usb/Size;",
">;)V"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/json/JSONException;
}
.end annotation
.line 365
.local p3, "size_list":Ljava/util/List;, "Ljava/util/List<Lcom/serenegiant/usb/Size;>;"
const-string/jumbo v0, "size"
invoke-virtual {p0, v0}, Lorg/json/JSONObject;->getJSONArray(Ljava/lang/String;)Lorg/json/JSONArray;
move-result-object v0
.line 366
.local v0, "size":Lorg/json/JSONArray;
invoke-virtual {v0}, Lorg/json/JSONArray;->length()I
move-result v1
.line 367
.local v1, "size_nums":I
const/4 v2, 0x0
.local v2, "j":I
:goto_c
if-ge v2, v1, :cond_38
.line 368
invoke-virtual {v0, v2}, Lorg/json/JSONArray;->getString(I)Ljava/lang/String;
move-result-object v3
const-string/jumbo v4, "x"
invoke-virtual {v3, v4}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;
move-result-object v9
.line 370
.local v9, "sz":[Ljava/lang/String;
:try_start_19
new-instance v10, Lcom/serenegiant/usb/Size;
const/4 v3, 0x0
aget-object v3, v9, v3
invoke-static {v3}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v7
const/4 v3, 0x1
aget-object v3, v9, v3
invoke-static {v3}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v8
move-object v3, v10
move v4, p1
move v5, p2
move v6, v2
invoke-direct/range {v3 .. v8}, Lcom/serenegiant/usb/Size;-><init>(IIIII)V
invoke-interface {p3, v10}, Ljava/util/List;->add(Ljava/lang/Object;)Z
:try_end_33
.catch Ljava/lang/Exception; {:try_start_19 .. :try_end_33} :catch_37
.line 373
nop
.line 367
.end local v9 # "sz":[Ljava/lang/String;
add-int/lit8 v2, v2, 0x1
goto :goto_c
.line 371
.restart local v9 # "sz":[Ljava/lang/String;
:catch_37
move-exception v3
.line 375
.end local v2 # "j":I
.end local v9 # "sz":[Ljava/lang/String;
:cond_38
return-void
.end method
.method private static final dumpControls(J)V
.registers 11
.param p0, "controlSupports" # J
.line 964
sget-object v0, Lcom/serenegiant/usb/UVCCamera;->TAG:Ljava/lang/String;
const/4 v1, 0x1
new-array v2, v1, [Ljava/lang/Object;
invoke-static {p0, p1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v3
const/4 v4, 0x0
aput-object v3, v2, v4
const-string v3, "controlSupports=%x"
invoke-static {v3, v2}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v2
invoke-static {v0, v2}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
.line 965
const/4 v0, 0x0
.local v0, "i":I
:goto_16
sget-object v2, Lcom/serenegiant/usb/UVCCamera;->SUPPORTS_CTRL:[Ljava/lang/String;
array-length v2, v2
if-ge v0, v2, :cond_45
.line 966
sget-object v2, Lcom/serenegiant/usb/UVCCamera;->TAG:Ljava/lang/String;
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
sget-object v4, Lcom/serenegiant/usb/UVCCamera;->SUPPORTS_CTRL:[Ljava/lang/String;
aget-object v4, v4, v0
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
shl-int v4, v1, v0
int-to-long v4, v4
and-long/2addr v4, p0
const-wide/16 v6, 0x0
cmp-long v8, v4, v6
if-eqz v8, :cond_36
const-string v4, "=enabled"
goto :goto_38
:cond_36
const-string v4, "=disabled"
:goto_38
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
.line 965
add-int/lit8 v0, v0, 0x1
goto :goto_16
.line 968
.end local v0 # "i":I
:cond_45
return-void
.end method
.method private static final dumpProc(J)V
.registers 11
.param p0, "procSupports" # J
.line 971
sget-object v0, Lcom/serenegiant/usb/UVCCamera;->TAG:Ljava/lang/String;
const/4 v1, 0x1
new-array v2, v1, [Ljava/lang/Object;
invoke-static {p0, p1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v3
const/4 v4, 0x0
aput-object v3, v2, v4
const-string v3, "procSupports=%x"
invoke-static {v3, v2}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v2
invoke-static {v0, v2}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
.line 972
const/4 v0, 0x0
.local v0, "i":I
:goto_16
sget-object v2, Lcom/serenegiant/usb/UVCCamera;->SUPPORTS_PROC:[Ljava/lang/String;
array-length v2, v2
if-ge v0, v2, :cond_45
.line 973
sget-object v2, Lcom/serenegiant/usb/UVCCamera;->TAG:Ljava/lang/String;
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
sget-object v4, Lcom/serenegiant/usb/UVCCamera;->SUPPORTS_PROC:[Ljava/lang/String;
aget-object v4, v4, v0
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
shl-int v4, v1, v0
int-to-long v4, v4
and-long/2addr v4, p0
const-wide/16 v6, 0x0
cmp-long v8, v4, v6
if-eqz v8, :cond_36
const-string v4, "=enabled"
goto :goto_38
:cond_36
const-string v4, "=disabled"
:goto_38
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
.line 972
add-int/lit8 v0, v0, 0x1
goto :goto_16
.line 975
.end local v0 # "i":I
:cond_45
return-void
.end method
.method public static getSupportedSize(ILjava/lang/String;)Ljava/util/List;
.registers 11
.param p0, "type" # I
.param p1, "supportedSize" # Ljava/lang/String;
.annotation system Ldalvik/annotation/Signature;
value = {
"(I",
"Ljava/lang/String;",
")",
"Ljava/util/List<",
"Lcom/serenegiant/usb/Size;",
">;"
}
.end annotation
.line 343
const-string/jumbo v0, "type"
new-instance v1, Ljava/util/ArrayList;
invoke-direct {v1}, Ljava/util/ArrayList;-><init>()V
.line 344
.local v1, "result":Ljava/util/List;, "Ljava/util/List<Lcom/serenegiant/usb/Size;>;"
invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v2
if-nez v2, :cond_48
.line 346
:try_start_e
new-instance v2, Lorg/json/JSONObject;
invoke-direct {v2, p1}, Lorg/json/JSONObject;-><init>(Ljava/lang/String;)V
.line 347
.local v2, "json":Lorg/json/JSONObject;
const-string v3, "formats"
invoke-virtual {v2, v3}, Lorg/json/JSONObject;->getJSONArray(Ljava/lang/String;)Lorg/json/JSONArray;
move-result-object v3
.line 348
.local v3, "formats":Lorg/json/JSONArray;
invoke-virtual {v3}, Lorg/json/JSONArray;->length()I
move-result v4
.line 349
.local v4, "format_nums":I
const/4 v5, 0x0
.local v5, "i":I
:goto_1e
if-ge v5, v4, :cond_43
.line 350
invoke-virtual {v3, v5}, Lorg/json/JSONArray;->getJSONObject(I)Lorg/json/JSONObject;
move-result-object v6
.line 351
.local v6, "format":Lorg/json/JSONObject;
invoke-virtual {v6, v0}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z
move-result v7
if-eqz v7, :cond_40
const-string/jumbo v7, "size"
invoke-virtual {v6, v7}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z
move-result v7
if-eqz v7, :cond_40
.line 352
invoke-virtual {v6, v0}, Lorg/json/JSONObject;->getInt(Ljava/lang/String;)I
move-result v7
.line 353
.local v7, "format_type":I
if-eq v7, p0, :cond_3c
const/4 v8, -0x1
if-ne p0, v8, :cond_40
.line 354
:cond_3c
const/4 v8, 0x0
invoke-static {v6, v7, v8, v1}, Lcom/serenegiant/usb/UVCCamera;->addSize(Lorg/json/JSONObject;IILjava/util/List;)V
:try_end_40
.catch Lorg/json/JSONException; {:try_start_e .. :try_end_40} :catch_44
.line 349
.end local v6 # "format":Lorg/json/JSONObject;
.end local v7 # "format_type":I
:cond_40
add-int/lit8 v5, v5, 0x1
goto :goto_1e
.line 360
.end local v2 # "json":Lorg/json/JSONObject;
.end local v3 # "formats":Lorg/json/JSONArray;
.end local v4 # "format_nums":I
.end local v5 # "i":I
:cond_43
goto :goto_48
.line 358
:catch_44
move-exception v0
.line 359
.local v0, "e":Lorg/json/JSONException;
invoke-virtual {v0}, Lorg/json/JSONException;->printStackTrace()V
.line 361
.end local v0 # "e":Lorg/json/JSONException;
:cond_48
:goto_48
return-object v1
.end method
.method private final getUSBFSName(Lcom/serenegiant/usb/USBMonitor$UsbControlBlock;)Ljava/lang/String;
.registers 10
.param p1, "ctrlBlock" # Lcom/serenegiant/usb/USBMonitor$UsbControlBlock;
.line 978
const/4 v0, 0x0
.line 979
.local v0, "result":Ljava/lang/String;
invoke-virtual {p1}, Lcom/serenegiant/usb/USBMonitor$UsbControlBlock;->getDeviceName()Ljava/lang/String;
move-result-object v1
.line 980
.local v1, "name":Ljava/lang/String;
invoke-static {v1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v2
const-string v3, "/"
if-nez v2, :cond_12
invoke-virtual {v1, v3}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;
move-result-object v2
goto :goto_13
:cond_12
const/4 v2, 0x0
.line 981
.local v2, "v":[Ljava/lang/String;
:goto_13
if-eqz v2, :cond_35
array-length v4, v2
const/4 v5, 0x2
if-le v4, v5, :cond_35
.line 982
new-instance v4, Ljava/lang/StringBuilder;
const/4 v6, 0x0
aget-object v6, v2, v6
invoke-direct {v4, v6}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
.line 983
.local v4, "sb":Ljava/lang/StringBuilder;
const/4 v6, 0x1
.local v6, "i":I
:goto_22
array-length v7, v2
sub-int/2addr v7, v5
if-ge v6, v7, :cond_31
.line 984
invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
aget-object v7, v2, v6
invoke-virtual {v4, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 983
add-int/lit8 v6, v6, 0x1
goto :goto_22
.line 985
.end local v6 # "i":I
:cond_31
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 987
.end local v4 # "sb":Ljava/lang/StringBuilder;
:cond_35
invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v3
if-eqz v3, :cond_53
.line 988
sget-object v3, Lcom/serenegiant/usb/UVCCamera;->TAG:Ljava/lang/String;
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
const-string v5, "failed to get USBFS path, try to use default path:"
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
invoke-static {v3, v4}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
.line 989
const-string v0, "/dev/bus/usb"
.line 992
:cond_53
return-object v0
.end method
.method private final native nativeConnect(JIIIIILjava/lang/String;)I
.end method
.method private final native nativeCreate()J
.end method
.method private final native nativeDestroy(J)V
.end method
.method private static final native nativeGetAnalogVideoLoackState(J)I
.end method
.method private static final native nativeGetAnalogVideoStandard(J)I
.end method
.method private static final native nativeGetAutoContrast(J)I
.end method
.method private static final native nativeGetAutoFocus(J)I
.end method
.method private static final native nativeGetAutoHue(J)I
.end method
.method private static final native nativeGetAutoWhiteBlance(J)I
.end method
.method private static final native nativeGetAutoWhiteBlanceCompo(J)I
.end method
.method private static final native nativeGetBacklightComp(J)I
.end method
.method private static final native nativeGetBrightness(J)I
.end method
.method private static final native nativeGetContrast(J)I
.end method
.method private static final native nativeGetCtrlSupports(J)J
.end method
.method private static final native nativeGetDigitalMultiplier(J)I
.end method
.method private static final native nativeGetDigitalMultiplierLimit(J)I
.end method
.method private static final native nativeGetExposure(J)I
.end method
.method private static final native nativeGetExposureMode(J)I
.end method
.method private static final native nativeGetExposurePriority(J)I
.end method
.method private static final native nativeGetExposureRel(J)I
.end method
.method private static final native nativeGetFocus(J)I
.end method
.method private static final native nativeGetFocusRel(J)I
.end method
.method private static final native nativeGetGain(J)I
.end method
.method private static final native nativeGetGamma(J)I
.end method
.method private static final native nativeGetHue(J)I
.end method
.method private static final native nativeGetIris(J)I
.end method
.method private static final native nativeGetIrisRel(J)I
.end method
.method private static final native nativeGetPan(J)I
.end method
.method private static final native nativeGetPanRel(J)I
.end method
.method private static final native nativeGetPowerlineFrequency(J)I
.end method
.method private static final native nativeGetPrivacy(J)I
.end method
.method private static final native nativeGetProcSupports(J)J
.end method
.method private static final native nativeGetRoll(J)I
.end method
.method private static final native nativeGetRollRel(J)I
.end method
.method private static final native nativeGetSaturation(J)I
.end method
.method private static final native nativeGetScanningMode(J)I
.end method
.method private static final native nativeGetSharpness(J)I
.end method
.method private static final native nativeGetSupportedSize(J)Ljava/lang/String;
.end method
.method private static final native nativeGetTilt(J)I
.end method
.method private static final native nativeGetTiltRel(J)I
.end method
.method private static final native nativeGetWhiteBlance(J)I
.end method
.method private static final native nativeGetWhiteBlanceCompo(J)I
.end method
.method private static final native nativeGetZoom(J)I
.end method
.method private static final native nativeGetZoomRel(J)I
.end method
.method private static final native nativeRelease(J)I
.end method
.method private static final native nativeSetAnalogVideoLoackState(JI)I
.end method
.method private static final native nativeSetAnalogVideoStandard(JI)I
.end method
.method private static final native nativeSetAutoContrast(JZ)I
.end method
.method private static final native nativeSetAutoFocus(JZ)I
.end method
.method private static final native nativeSetAutoHue(JZ)I
.end method
.method private static final native nativeSetAutoWhiteBlance(JZ)I
.end method
.method private static final native nativeSetAutoWhiteBlanceCompo(JZ)I
.end method
.method private static final native nativeSetBacklightComp(JI)I
.end method
.method private static final native nativeSetBrightness(JI)I
.end method
.method private static final native nativeSetButtonCallback(JLcom/serenegiant/usb/IButtonCallback;)I
.end method
.method private static final native nativeSetCaptureDisplay(JLandroid/view/Surface;)I
.end method
.method private static final native nativeSetContrast(JI)I
.end method
.method private static final native nativeSetDigitalMultiplier(JI)I
.end method
.method private static final native nativeSetDigitalMultiplierLimit(JI)I
.end method
.method private static final native nativeSetExposure(JI)I
.end method
.method private static final native nativeSetExposureMode(JI)I
.end method
.method private static final native nativeSetExposurePriority(JI)I
.end method
.method private static final native nativeSetExposureRel(JI)I
.end method
.method private static final native nativeSetFocus(JI)I
.end method
.method private static final native nativeSetFocusRel(JI)I
.end method
.method private static final native nativeSetFrameCallback(JLcom/serenegiant/usb/IFrameCallback;I)I
.end method
.method private static final native nativeSetGain(JI)I
.end method
.method private static final native nativeSetGamma(JI)I
.end method
.method private static final native nativeSetHue(JI)I
.end method
.method private static final native nativeSetIris(JI)I
.end method
.method private static final native nativeSetIrisRel(JI)I
.end method
.method private static final native nativeSetPan(JI)I
.end method
.method private static final native nativeSetPanRel(JI)I
.end method
.method private static final native nativeSetPowerlineFrequency(JI)I
.end method
.method private static final native nativeSetPreviewDisplay(JLandroid/view/Surface;)I
.end method
.method private static final native nativeSetPreviewSize(JIIIIIF)I
.end method
.method private static final native nativeSetPrivacy(JZ)I
.end method
.method private static final native nativeSetRoll(JI)I
.end method
.method private static final native nativeSetRollRel(JI)I
.end method
.method private static final native nativeSetSaturation(JI)I
.end method
.method private static final native nativeSetScanningMode(JI)I
.end method
.method private static final native nativeSetSharpness(JI)I
.end method
.method private static final native nativeSetStatusCallback(JLcom/serenegiant/usb/IStatusCallback;)I
.end method
.method private static final native nativeSetTilt(JI)I
.end method
.method private static final native nativeSetTiltRel(JI)I
.end method
.method private static final native nativeSetWhiteBlance(JI)I
.end method
.method private static final native nativeSetWhiteBlanceCompo(JI)I
.end method
.method private static final native nativeSetZoom(JI)I
.end method
.method private static final native nativeSetZoomRel(JI)I
.end method
.method private static final native nativeStartPreview(J)I
.end method
.method private static final native nativeStopPreview(J)I
.end method
.method private final native nativeUpdateAnalogVideoLockStateLimit(J)I
.end method
.method private final native nativeUpdateAnalogVideoStandardLimit(J)I
.end method
.method private final native nativeUpdateAutoContrastLimit(J)I
.end method
.method private final native nativeUpdateAutoFocusLimit(J)I
.end method
.method private final native nativeUpdateAutoHueLimit(J)I
.end method
.method private final native nativeUpdateAutoWhiteBlanceCompoLimit(J)I
.end method
.method private final native nativeUpdateAutoWhiteBlanceLimit(J)I
.end method
.method private final native nativeUpdateBacklightCompLimit(J)I
.end method
.method private final native nativeUpdateBrightnessLimit(J)I
.end method
.method private final native nativeUpdateContrastLimit(J)I
.end method
.method private final native nativeUpdateDigitalMultiplierLimit(J)I
.end method
.method private final native nativeUpdateDigitalMultiplierLimitLimit(J)I
.end method
.method private final native nativeUpdateExposureLimit(J)I
.end method
.method private final native nativeUpdateExposureModeLimit(J)I
.end method
.method private final native nativeUpdateExposurePriorityLimit(J)I
.end method
.method private final native nativeUpdateExposureRelLimit(J)I
.end method
.method private final native nativeUpdateFocusLimit(J)I
.end method
.method private final native nativeUpdateFocusRelLimit(J)I
.end method
.method private final native nativeUpdateGainLimit(J)I
.end method
.method private final native nativeUpdateGammaLimit(J)I
.end method
.method private final native nativeUpdateHueLimit(J)I
.end method
.method private final native nativeUpdateIrisLimit(J)I
.end method
.method private final native nativeUpdateIrisRelLimit(J)I
.end method
.method private final native nativeUpdatePanLimit(J)I
.end method
.method private final native nativeUpdatePanRelLimit(J)I
.end method
.method private final native nativeUpdatePowerlineFrequencyLimit(J)I
.end method
.method private final native nativeUpdatePrivacyLimit(J)I
.end method
.method private final native nativeUpdateRollLimit(J)I
.end method
.method private final native nativeUpdateRollRelLimit(J)I
.end method
.method private final native nativeUpdateSaturationLimit(J)I
.end method
.method private final native nativeUpdateScanningModeLimit(J)I
.end method
.method private final native nativeUpdateSharpnessLimit(J)I
.end method
.method private final native nativeUpdateTiltLimit(J)I
.end method
.method private final native nativeUpdateTiltRelLimit(J)I
.end method
.method private final native nativeUpdateWhiteBlanceCompoLimit(J)I
.end method
.method private final native nativeUpdateWhiteBlanceLimit(J)I
.end method
.method private final native nativeUpdateZoomLimit(J)I
.end method
.method private final native nativeUpdateZoomRelLimit(J)I
.end method
# virtual methods
.method public checkSupportFlag(J)Z
.registers 10
.param p1, "flag" # J
.line 410
invoke-virtual {p0}, Lcom/serenegiant/usb/UVCCamera;->updateCameraParams()V
.line 411
const-wide/32 v0, -0x80000000
and-long v2, p1, v0
const/4 v4, 0x1
const/4 v5, 0x0
cmp-long v6, v2, v0
if-nez v6, :cond_1c
.line 412
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mProcSupports:J
and-long/2addr v0, p1
const-wide/32 v2, 0x7fffffff
and-long/2addr v2, p1
cmp-long v6, v0, v2
if-nez v6, :cond_1a
goto :goto_1b
:cond_1a
const/4 v4, 0x0
:goto_1b
return v4
.line 414
:cond_1c
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mControlSupports:J
and-long/2addr v0, p1
cmp-long v2, v0, p1
if-nez v2, :cond_24
goto :goto_25
:cond_24
const/4 v4, 0x0
:goto_25
return v4
.end method
.method public declared-synchronized close()V
.registers 6
monitor-enter p0
.line 238
:try_start_1
invoke-virtual {p0}, Lcom/serenegiant/usb/UVCCamera;->stopPreview()V
.line 239
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
const-wide/16 v2, 0x0
cmp-long v4, v0, v2
if-eqz v4, :cond_11
.line 240
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
invoke-static {v0, v1}, Lcom/serenegiant/usb/UVCCamera;->nativeRelease(J)I
.line 243
.end local p0 # "this":Lcom/serenegiant/usb/UVCCamera;
:cond_11
iget-object v0, p0, Lcom/serenegiant/usb/UVCCamera;->mCtrlBlock:Lcom/serenegiant/usb/USBMonitor$UsbControlBlock;
const/4 v1, 0x0
if-eqz v0, :cond_1d
.line 244
iget-object v0, p0, Lcom/serenegiant/usb/UVCCamera;->mCtrlBlock:Lcom/serenegiant/usb/USBMonitor$UsbControlBlock;
invoke-virtual {v0}, Lcom/serenegiant/usb/USBMonitor$UsbControlBlock;->close()V
.line 245
iput-object v1, p0, Lcom/serenegiant/usb/UVCCamera;->mCtrlBlock:Lcom/serenegiant/usb/USBMonitor$UsbControlBlock;
.line 247
:cond_1d
iput-wide v2, p0, Lcom/serenegiant/usb/UVCCamera;->mProcSupports:J
iput-wide v2, p0, Lcom/serenegiant/usb/UVCCamera;->mControlSupports:J
.line 248
const/4 v0, -0x1
iput v0, p0, Lcom/serenegiant/usb/UVCCamera;->mCurrentFrameFormat:I
.line 249
const/4 v0, 0x0
iput v0, p0, Lcom/serenegiant/usb/UVCCamera;->mCurrentBandwidthFactor:F
.line 250
iput-object v1, p0, Lcom/serenegiant/usb/UVCCamera;->mSupportedSize:Ljava/lang/String;
.line 251
iput-object v1, p0, Lcom/serenegiant/usb/UVCCamera;->mCurrentSizeList:Ljava/util/List;
:try_end_2b
.catchall {:try_start_1 .. :try_end_2b} :catchall_2d
.line 253
monitor-exit p0
return-void
.line 237
:catchall_2d
move-exception v0
monitor-exit p0
throw v0
.end method
.method public declared-synchronized destroy()V
.registers 6
monitor-enter p0
.line 400
:try_start_1
invoke-virtual {p0}, Lcom/serenegiant/usb/UVCCamera;->close()V
.line 401
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
const-wide/16 v2, 0x0
cmp-long v4, v0, v2
if-eqz v4, :cond_13
.line 402
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
invoke-direct {p0, v0, v1}, Lcom/serenegiant/usb/UVCCamera;->nativeDestroy(J)V
.line 403
iput-wide v2, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
:try_end_13
.catchall {:try_start_1 .. :try_end_13} :catchall_15
.line 405
.end local p0 # "this":Lcom/serenegiant/usb/UVCCamera;
:cond_13
monitor-exit p0
return-void
.line 399
:catchall_15
move-exception v0
monitor-exit p0
throw v0
.end method
.method public declared-synchronized getAutoFocus()Z
.registers 7
monitor-enter p0
.line 425
const/4 v0, 0x1
.line 426
.local v0, "result":Z
:try_start_2
iget-wide v1, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
const-wide/16 v3, 0x0
cmp-long v5, v1, v3
if-eqz v5, :cond_16
.line 427
iget-wide v1, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
invoke-static {v1, v2}, Lcom/serenegiant/usb/UVCCamera;->nativeGetAutoFocus(J)I
move-result v1
:try_end_10
.catchall {:try_start_2 .. :try_end_10} :catchall_18
if-lez v1, :cond_14
const/4 v1, 0x1
goto :goto_15
:cond_14
const/4 v1, 0x0
:goto_15
move v0, v1
.line 429
.end local p0 # "this":Lcom/serenegiant/usb/UVCCamera;
:cond_16
monitor-exit p0
return v0
.line 424
.end local v0 # "result":Z
:catchall_18
move-exception v0
monitor-exit p0
throw v0
.end method
.method public declared-synchronized getAutoWhiteBlance()Z
.registers 7
monitor-enter p0
.line 480
const/4 v0, 0x1
.line 481
.local v0, "result":Z
:try_start_2
iget-wide v1, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
const-wide/16 v3, 0x0
cmp-long v5, v1, v3
if-eqz v5, :cond_16
.line 482
iget-wide v1, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
invoke-static {v1, v2}, Lcom/serenegiant/usb/UVCCamera;->nativeGetAutoWhiteBlance(J)I
move-result v1
:try_end_10
.catchall {:try_start_2 .. :try_end_10} :catchall_18
if-lez v1, :cond_14
const/4 v1, 0x1
goto :goto_15
:cond_14
const/4 v1, 0x0
:goto_15
move v0, v1
.line 484
.end local p0 # "this":Lcom/serenegiant/usb/UVCCamera;
:cond_16
monitor-exit p0
return v0
.line 479
.end local v0 # "result":Z
:catchall_18
move-exception v0
monitor-exit p0
throw v0
.end method
.method public declared-synchronized getBrightness()I
.registers 3
monitor-enter p0
.line 559
:try_start_1
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
invoke-static {v0, v1}, Lcom/serenegiant/usb/UVCCamera;->nativeGetBrightness(J)I
move-result v0
invoke-virtual {p0, v0}, Lcom/serenegiant/usb/UVCCamera;->getBrightness(I)I
move-result v0
:try_end_b
.catchall {:try_start_1 .. :try_end_b} :catchall_d
monitor-exit p0
return v0
.end local p0 # "this":Lcom/serenegiant/usb/UVCCamera;
:catchall_d
move-exception v0
monitor-exit p0
throw v0
.end method
.method public declared-synchronized getBrightness(I)I
.registers 8
.param p1, "brightness_abs" # I
monitor-enter p0
.line 544
const/4 v0, 0x0
.line 545
.local v0, "result":I
:try_start_2
iget-wide v1, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
const-wide/16 v3, 0x0
cmp-long v5, v1, v3
if-eqz v5, :cond_29
.line 546
iget-wide v1, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
invoke-direct {p0, v1, v2}, Lcom/serenegiant/usb/UVCCamera;->nativeUpdateBrightnessLimit(J)I
.line 547
iget v1, p0, Lcom/serenegiant/usb/UVCCamera;->mBrightnessMax:I
iget v2, p0, Lcom/serenegiant/usb/UVCCamera;->mBrightnessMin:I
sub-int/2addr v1, v2
invoke-static {v1}, Ljava/lang/Math;->abs(I)I
move-result v1
int-to-float v1, v1
.line 548
.local v1, "range":F
const/4 v2, 0x0
cmpl-float v2, v1, v2
if-lez v2, :cond_29
.line 549
iget v2, p0, Lcom/serenegiant/usb/UVCCamera;->mBrightnessMin:I
:try_end_20
.catchall {:try_start_2 .. :try_end_20} :catchall_2b
sub-int v2, p1, v2
int-to-float v2, v2
const/high16 v3, 0x42c80000 # 100.0f
mul-float v2, v2, v3
div-float/2addr v2, v1
float-to-int v0, v2
.line 552
.end local v1 # "range":F
.end local p0 # "this":Lcom/serenegiant/usb/UVCCamera;
:cond_29
monitor-exit p0
return v0
.line 543
.end local v0 # "result":I
.end local p1 # "brightness_abs":I
:catchall_2b
move-exception p1
monitor-exit p0
throw p1
.end method
.method public declared-synchronized getContrast()I
.registers 3
monitor-enter p0
.line 600
:try_start_1
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
invoke-static {v0, v1}, Lcom/serenegiant/usb/UVCCamera;->nativeGetContrast(J)I
move-result v0
invoke-virtual {p0, v0}, Lcom/serenegiant/usb/UVCCamera;->getContrast(I)I
move-result v0
:try_end_b
.catchall {:try_start_1 .. :try_end_b} :catchall_d
monitor-exit p0
return v0
.end local p0 # "this":Lcom/serenegiant/usb/UVCCamera;
:catchall_d
move-exception v0
monitor-exit p0
throw v0
.end method
.method public declared-synchronized getContrast(I)I
.registers 8
.param p1, "contrast_abs" # I
monitor-enter p0
.line 586
const/4 v0, 0x0
.line 587
.local v0, "result":I
:try_start_2
iget-wide v1, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
const-wide/16 v3, 0x0
cmp-long v5, v1, v3
if-eqz v5, :cond_24
.line 588
iget v1, p0, Lcom/serenegiant/usb/UVCCamera;->mContrastMax:I
iget v2, p0, Lcom/serenegiant/usb/UVCCamera;->mContrastMin:I
sub-int/2addr v1, v2
invoke-static {v1}, Ljava/lang/Math;->abs(I)I
move-result v1
int-to-float v1, v1
.line 589
.local v1, "range":F
const/4 v2, 0x0
cmpl-float v2, v1, v2
if-lez v2, :cond_24
.line 590
iget v2, p0, Lcom/serenegiant/usb/UVCCamera;->mContrastMin:I
:try_end_1b
.catchall {:try_start_2 .. :try_end_1b} :catchall_26
sub-int v2, p1, v2
int-to-float v2, v2
const/high16 v3, 0x42c80000 # 100.0f
mul-float v2, v2, v3
div-float/2addr v2, v1
float-to-int v0, v2
.line 593
.end local v1 # "range":F
.end local p0 # "this":Lcom/serenegiant/usb/UVCCamera;
:cond_24
monitor-exit p0
return v0
.line 585
.end local v0 # "result":I
.end local p1 # "contrast_abs":I
:catchall_26
move-exception p1
monitor-exit p0
throw p1
.end method
.method public getDevice()Landroid/hardware/usb/UsbDevice;
.registers 2
.line 256
iget-object v0, p0, Lcom/serenegiant/usb/UVCCamera;->mCtrlBlock:Lcom/serenegiant/usb/USBMonitor$UsbControlBlock;
if-eqz v0, :cond_9
invoke-virtual {v0}, Lcom/serenegiant/usb/USBMonitor$UsbControlBlock;->getDevice()Landroid/hardware/usb/UsbDevice;
move-result-object v0
goto :goto_a
:cond_9
const/4 v0, 0x0
:goto_a
return-object v0
.end method
.method public getDeviceName()Ljava/lang/String;
.registers 2
.line 260
iget-object v0, p0, Lcom/serenegiant/usb/UVCCamera;->mCtrlBlock:Lcom/serenegiant/usb/USBMonitor$UsbControlBlock;
if-eqz v0, :cond_9
invoke-virtual {v0}, Lcom/serenegiant/usb/USBMonitor$UsbControlBlock;->getDeviceName()Ljava/lang/String;
move-result-object v0
goto :goto_a
:cond_9
const/4 v0, 0x0
:goto_a
return-object v0
.end method
.method public declared-synchronized getFocus()I
.registers 3
monitor-enter p0
.line 463
:try_start_1
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
invoke-static {v0, v1}, Lcom/serenegiant/usb/UVCCamera;->nativeGetFocus(J)I
move-result v0
invoke-virtual {p0, v0}, Lcom/serenegiant/usb/UVCCamera;->getFocus(I)I
move-result v0
:try_end_b
.catchall {:try_start_1 .. :try_end_b} :catchall_d
monitor-exit p0
return v0
.end local p0 # "this":Lcom/serenegiant/usb/UVCCamera;
:catchall_d
move-exception v0
monitor-exit p0
throw v0
.end method
.method public declared-synchronized getFocus(I)I
.registers 8
.param p1, "focus_abs" # I
monitor-enter p0
.line 448
const/4 v0, 0x0
.line 449
.local v0, "result":I
:try_start_2
iget-wide v1, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
const-wide/16 v3, 0x0
cmp-long v5, v1, v3
if-eqz v5, :cond_29
.line 450
iget-wide v1, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
invoke-direct {p0, v1, v2}, Lcom/serenegiant/usb/UVCCamera;->nativeUpdateFocusLimit(J)I
.line 451
iget v1, p0, Lcom/serenegiant/usb/UVCCamera;->mFocusMax:I
iget v2, p0, Lcom/serenegiant/usb/UVCCamera;->mFocusMin:I
sub-int/2addr v1, v2
invoke-static {v1}, Ljava/lang/Math;->abs(I)I
move-result v1
int-to-float v1, v1
.line 452
.local v1, "range":F
const/4 v2, 0x0
cmpl-float v2, v1, v2
if-lez v2, :cond_29
.line 453
iget v2, p0, Lcom/serenegiant/usb/UVCCamera;->mFocusMin:I
:try_end_20
.catchall {:try_start_2 .. :try_end_20} :catchall_2b
sub-int v2, p1, v2
int-to-float v2, v2
const/high16 v3, 0x42c80000 # 100.0f
mul-float v2, v2, v3
div-float/2addr v2, v1
float-to-int v0, v2
.line 456
.end local v1 # "range":F
.end local p0 # "this":Lcom/serenegiant/usb/UVCCamera;
:cond_29
monitor-exit p0
return v0
.line 447
.end local v0 # "result":I
.end local p1 # "focus_abs":I
:catchall_2b
move-exception p1
monitor-exit p0
throw p1
.end method
.method public declared-synchronized getGain()I
.registers 3
monitor-enter p0
.line 681
:try_start_1
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
invoke-static {v0, v1}, Lcom/serenegiant/usb/UVCCamera;->nativeGetGain(J)I
move-result v0
invoke-virtual {p0, v0}, Lcom/serenegiant/usb/UVCCamera;->getGain(I)I
move-result v0
:try_end_b
.catchall {:try_start_1 .. :try_end_b} :catchall_d
monitor-exit p0
return v0
.end local p0 # "this":Lcom/serenegiant/usb/UVCCamera;
:catchall_d
move-exception v0
monitor-exit p0
throw v0
.end method
.method public declared-synchronized getGain(I)I
.registers 8
.param p1, "gain_abs" # I
monitor-enter p0
.line 666
const/4 v0, 0x0
.line 667
.local v0, "result":I
:try_start_2
iget-wide v1, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
const-wide/16 v3, 0x0
cmp-long v5, v1, v3
if-eqz v5, :cond_29
.line 668
iget-wide v1, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
invoke-direct {p0, v1, v2}, Lcom/serenegiant/usb/UVCCamera;->nativeUpdateGainLimit(J)I
.line 669
iget v1, p0, Lcom/serenegiant/usb/UVCCamera;->mGainMax:I
iget v2, p0, Lcom/serenegiant/usb/UVCCamera;->mGainMin:I
sub-int/2addr v1, v2
invoke-static {v1}, Ljava/lang/Math;->abs(I)I
move-result v1
int-to-float v1, v1
.line 670
.local v1, "range":F
const/4 v2, 0x0
cmpl-float v2, v1, v2
if-lez v2, :cond_29
.line 671
iget v2, p0, Lcom/serenegiant/usb/UVCCamera;->mGainMin:I
:try_end_20
.catchall {:try_start_2 .. :try_end_20} :catchall_2b
sub-int v2, p1, v2
int-to-float v2, v2
const/high16 v3, 0x42c80000 # 100.0f
mul-float v2, v2, v3
div-float/2addr v2, v1
float-to-int v0, v2
.line 674
.end local v1 # "range":F
.end local p0 # "this":Lcom/serenegiant/usb/UVCCamera;
:cond_29
monitor-exit p0
return v0
.line 665
.end local v0 # "result":I
.end local p1 # "gain_abs":I
:catchall_2b
move-exception p1
monitor-exit p0
throw p1
.end method
.method public declared-synchronized getGamma()I
.registers 3
monitor-enter p0
.line 722
:try_start_1
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
invoke-static {v0, v1}, Lcom/serenegiant/usb/UVCCamera;->nativeGetGamma(J)I
move-result v0
invoke-virtual {p0, v0}, Lcom/serenegiant/usb/UVCCamera;->getGamma(I)I
move-result v0
:try_end_b
.catchall {:try_start_1 .. :try_end_b} :catchall_d
monitor-exit p0
return v0
.end local p0 # "this":Lcom/serenegiant/usb/UVCCamera;
:catchall_d
move-exception v0
monitor-exit p0
throw v0
.end method
.method public declared-synchronized getGamma(I)I
.registers 8
.param p1, "gamma_abs" # I
monitor-enter p0
.line 707
const/4 v0, 0x0
.line 708
.local v0, "result":I
:try_start_2
iget-wide v1, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
const-wide/16 v3, 0x0
cmp-long v5, v1, v3
if-eqz v5, :cond_29
.line 709
iget-wide v1, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
invoke-direct {p0, v1, v2}, Lcom/serenegiant/usb/UVCCamera;->nativeUpdateGammaLimit(J)I
.line 710
iget v1, p0, Lcom/serenegiant/usb/UVCCamera;->mGammaMax:I
iget v2, p0, Lcom/serenegiant/usb/UVCCamera;->mGammaMin:I
sub-int/2addr v1, v2
invoke-static {v1}, Ljava/lang/Math;->abs(I)I
move-result v1
int-to-float v1, v1
.line 711
.local v1, "range":F
const/4 v2, 0x0
cmpl-float v2, v1, v2
if-lez v2, :cond_29
.line 712
iget v2, p0, Lcom/serenegiant/usb/UVCCamera;->mGammaMin:I
:try_end_20
.catchall {:try_start_2 .. :try_end_20} :catchall_2b
sub-int v2, p1, v2
int-to-float v2, v2
const/high16 v3, 0x42c80000 # 100.0f
mul-float v2, v2, v3
div-float/2addr v2, v1
float-to-int v0, v2
.line 715
.end local v1 # "range":F
.end local p0 # "this":Lcom/serenegiant/usb/UVCCamera;
:cond_29
monitor-exit p0
return v0
.line 706
.end local v0 # "result":I
.end local p1 # "gamma_abs":I
:catchall_2b
move-exception p1
monitor-exit p0
throw p1
.end method
.method public getHandle()J
.registers 3
.line 184
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
return-wide v0
.end method
.method public declared-synchronized getHue()I
.registers 3
monitor-enter p0
.line 803
:try_start_1
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
invoke-static {v0, v1}, Lcom/serenegiant/usb/UVCCamera;->nativeGetHue(J)I
move-result v0
invoke-virtual {p0, v0}, Lcom/serenegiant/usb/UVCCamera;->getHue(I)I
move-result v0
:try_end_b
.catchall {:try_start_1 .. :try_end_b} :catchall_d
monitor-exit p0
return v0
.end local p0 # "this":Lcom/serenegiant/usb/UVCCamera;
:catchall_d
move-exception v0
monitor-exit p0
throw v0
.end method
.method public declared-synchronized getHue(I)I
.registers 8
.param p1, "hue_abs" # I
monitor-enter p0
.line 788
const/4 v0, 0x0
.line 789
.local v0, "result":I
:try_start_2
iget-wide v1, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
const-wide/16 v3, 0x0
cmp-long v5, v1, v3
if-eqz v5, :cond_29
.line 790
iget-wide v1, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
invoke-direct {p0, v1, v2}, Lcom/serenegiant/usb/UVCCamera;->nativeUpdateHueLimit(J)I
.line 791
iget v1, p0, Lcom/serenegiant/usb/UVCCamera;->mHueMax:I
iget v2, p0, Lcom/serenegiant/usb/UVCCamera;->mHueMin:I
sub-int/2addr v1, v2
invoke-static {v1}, Ljava/lang/Math;->abs(I)I
move-result v1
int-to-float v1, v1
.line 792
.local v1, "range":F
const/4 v2, 0x0
cmpl-float v2, v1, v2
if-lez v2, :cond_29
.line 793
iget v2, p0, Lcom/serenegiant/usb/UVCCamera;->mHueMin:I
:try_end_20
.catchall {:try_start_2 .. :try_end_20} :catchall_2b
sub-int v2, p1, v2
int-to-float v2, v2
const/high16 v3, 0x42c80000 # 100.0f
mul-float v2, v2, v3
div-float/2addr v2, v1
float-to-int v0, v2
.line 796
.end local v1 # "range":F
.end local p0 # "this":Lcom/serenegiant/usb/UVCCamera;
:cond_29
monitor-exit p0
return v0
.line 787
.end local v0 # "result":I
.end local p1 # "hue_abs":I
:catchall_2b
move-exception p1
monitor-exit p0
throw p1
.end method
.method public getPowerlineFrequency()I
.registers 3
.line 819
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
invoke-static {v0, v1}, Lcom/serenegiant/usb/UVCCamera;->nativeGetPowerlineFrequency(J)I
move-result v0
return v0
.end method
.method public getPreviewSize()Lcom/serenegiant/usb/Size;
.registers 7
.line 272
const/4 v0, 0x0
.line 273
.local v0, "result":Lcom/serenegiant/usb/Size;
invoke-virtual {p0}, Lcom/serenegiant/usb/UVCCamera;->getSupportedSizeList()Ljava/util/List;
move-result-object v1
.line 274
.local v1, "list":Ljava/util/List;, "Ljava/util/List<Lcom/serenegiant/usb/Size;>;"
invoke-interface {v1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v2
:goto_9
invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
move-result v3
if-eqz v3, :cond_25
invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v3
check-cast v3, Lcom/serenegiant/usb/Size;
.line 275
.local v3, "sz":Lcom/serenegiant/usb/Size;
iget v4, v3, Lcom/serenegiant/usb/Size;->width:I
iget v5, p0, Lcom/serenegiant/usb/UVCCamera;->mCurrentWidth:I
if-eq v4, v5, :cond_23
iget v4, v3, Lcom/serenegiant/usb/Size;->height:I
iget v5, p0, Lcom/serenegiant/usb/UVCCamera;->mCurrentHeight:I
if-ne v4, v5, :cond_22
goto :goto_23
.line 280
.end local v3 # "sz":Lcom/serenegiant/usb/Size;
:cond_22
goto :goto_9
.line 277
.restart local v3 # "sz":Lcom/serenegiant/usb/Size;
:cond_23
:goto_23
move-object v0, v3
.line 278
nop
.line 281
.end local v3 # "sz":Lcom/serenegiant/usb/Size;
:cond_25
return-object v0
.end method
.method public declared-synchronized getSaturation()I
.registers 3
monitor-enter p0
.line 763
:try_start_1
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
invoke-static {v0, v1}, Lcom/serenegiant/usb/UVCCamera;->nativeGetSaturation(J)I
move-result v0
invoke-virtual {p0, v0}, Lcom/serenegiant/usb/UVCCamera;->getSaturation(I)I
move-result v0
:try_end_b
.catchall {:try_start_1 .. :try_end_b} :catchall_d
monitor-exit p0
return v0
.end local p0 # "this":Lcom/serenegiant/usb/UVCCamera;
:catchall_d
move-exception v0
monitor-exit p0
throw v0
.end method
.method public declared-synchronized getSaturation(I)I
.registers 8
.param p1, "saturation_abs" # I
monitor-enter p0
.line 748
const/4 v0, 0x0
.line 749
.local v0, "result":I
:try_start_2
iget-wide v1, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
const-wide/16 v3, 0x0
cmp-long v5, v1, v3
if-eqz v5, :cond_29
.line 750
iget-wide v1, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
invoke-direct {p0, v1, v2}, Lcom/serenegiant/usb/UVCCamera;->nativeUpdateSaturationLimit(J)I
.line 751
iget v1, p0, Lcom/serenegiant/usb/UVCCamera;->mSaturationMax:I
iget v2, p0, Lcom/serenegiant/usb/UVCCamera;->mSaturationMin:I
sub-int/2addr v1, v2
invoke-static {v1}, Ljava/lang/Math;->abs(I)I
move-result v1
int-to-float v1, v1
.line 752
.local v1, "range":F
const/4 v2, 0x0
cmpl-float v2, v1, v2
if-lez v2, :cond_29
.line 753
iget v2, p0, Lcom/serenegiant/usb/UVCCamera;->mSaturationMin:I
:try_end_20
.catchall {:try_start_2 .. :try_end_20} :catchall_2b
sub-int v2, p1, v2
int-to-float v2, v2
const/high16 v3, 0x42c80000 # 100.0f
mul-float v2, v2, v3
div-float/2addr v2, v1
float-to-int v0, v2
.line 756
.end local v1 # "range":F
.end local p0 # "this":Lcom/serenegiant/usb/UVCCamera;
:cond_29
monitor-exit p0
return v0
.line 747
.end local v0 # "result":I
.end local p1 # "saturation_abs":I
:catchall_2b
move-exception p1
monitor-exit p0
throw p1
.end method
.method public declared-synchronized getSharpness()I
.registers 3
monitor-enter p0
.line 641
:try_start_1
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
invoke-static {v0, v1}, Lcom/serenegiant/usb/UVCCamera;->nativeGetSharpness(J)I
move-result v0
invoke-virtual {p0, v0}, Lcom/serenegiant/usb/UVCCamera;->getSharpness(I)I
move-result v0
:try_end_b
.catchall {:try_start_1 .. :try_end_b} :catchall_d
monitor-exit p0
return v0
.end local p0 # "this":Lcom/serenegiant/usb/UVCCamera;
:catchall_d
move-exception v0
monitor-exit p0
throw v0
.end method
.method public declared-synchronized getSharpness(I)I
.registers 8
.param p1, "sharpness_abs" # I
monitor-enter p0
.line 626
const/4 v0, 0x0
.line 627
.local v0, "result":I
:try_start_2
iget-wide v1, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
const-wide/16 v3, 0x0
cmp-long v5, v1, v3
if-eqz v5, :cond_29
.line 628
iget-wide v1, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
invoke-direct {p0, v1, v2}, Lcom/serenegiant/usb/UVCCamera;->nativeUpdateSharpnessLimit(J)I
.line 629
iget v1, p0, Lcom/serenegiant/usb/UVCCamera;->mSharpnessMax:I
iget v2, p0, Lcom/serenegiant/usb/UVCCamera;->mSharpnessMin:I
sub-int/2addr v1, v2
invoke-static {v1}, Ljava/lang/Math;->abs(I)I
move-result v1
int-to-float v1, v1
.line 630
.local v1, "range":F
const/4 v2, 0x0
cmpl-float v2, v1, v2
if-lez v2, :cond_29
.line 631
iget v2, p0, Lcom/serenegiant/usb/UVCCamera;->mSharpnessMin:I
:try_end_20
.catchall {:try_start_2 .. :try_end_20} :catchall_2b
sub-int v2, p1, v2
int-to-float v2, v2
const/high16 v3, 0x42c80000 # 100.0f
mul-float v2, v2, v3
div-float/2addr v2, v1
float-to-int v0, v2
.line 634
.end local v1 # "range":F
.end local p0 # "this":Lcom/serenegiant/usb/UVCCamera;
:cond_29
monitor-exit p0
return v0
.line 625
.end local v0 # "result":I
.end local p1 # "sharpness_abs":I
:catchall_2b
move-exception p1
monitor-exit p0
throw p1
.end method
.method public declared-synchronized getSupportedSize()Ljava/lang/String;
.registers 3
monitor-enter p0
.line 268
:try_start_1
iget-object v0, p0, Lcom/serenegiant/usb/UVCCamera;->mSupportedSize:Ljava/lang/String;
invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-nez v0, :cond_c
iget-object v0, p0, Lcom/serenegiant/usb/UVCCamera;->mSupportedSize:Ljava/lang/String;
goto :goto_14
.end local p0 # "this":Lcom/serenegiant/usb/UVCCamera;
:cond_c
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
invoke-static {v0, v1}, Lcom/serenegiant/usb/UVCCamera;->nativeGetSupportedSize(J)Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcom/serenegiant/usb/UVCCamera;->mSupportedSize:Ljava/lang/String;
:try_end_14
.catchall {:try_start_1 .. :try_end_14} :catchall_16
:goto_14
monitor-exit p0
return-object v0
:catchall_16
move-exception v0
monitor-exit p0
throw v0
.end method
.method public getSupportedSizeList()Ljava/util/List;
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/List<",
"Lcom/serenegiant/usb/Size;",
">;"
}
.end annotation
.line 338
iget v0, p0, Lcom/serenegiant/usb/UVCCamera;->mCurrentFrameFormat:I
if-lez v0, :cond_6
const/4 v0, 0x6
goto :goto_7
:cond_6
const/4 v0, 0x4
.line 339
.local v0, "type":I
:goto_7
iget-object v1, p0, Lcom/serenegiant/usb/UVCCamera;->mSupportedSize:Ljava/lang/String;
invoke-static {v0, v1}, Lcom/serenegiant/usb/UVCCamera;->getSupportedSize(ILjava/lang/String;)Ljava/util/List;
move-result-object v1
return-object v1
.end method
.method public getUsbControlBlock()Lcom/serenegiant/usb/USBMonitor$UsbControlBlock;
.registers 2
.line 264
iget-object v0, p0, Lcom/serenegiant/usb/UVCCamera;->mCtrlBlock:Lcom/serenegiant/usb/USBMonitor$UsbControlBlock;
return-object v0
.end method
.method public declared-synchronized getWhiteBlance()I
.registers 3
monitor-enter p0
.line 519
:try_start_1
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
invoke-static {v0, v1}, Lcom/serenegiant/usb/UVCCamera;->nativeGetWhiteBlance(J)I
move-result v0
invoke-virtual {p0, v0}, Lcom/serenegiant/usb/UVCCamera;->getFocus(I)I
move-result v0
:try_end_b
.catchall {:try_start_1 .. :try_end_b} :catchall_d
monitor-exit p0
return v0
.end local p0 # "this":Lcom/serenegiant/usb/UVCCamera;
:catchall_d
move-exception v0
monitor-exit p0
throw v0
.end method
.method public declared-synchronized getWhiteBlance(I)I
.registers 8
.param p1, "whiteBlance_abs" # I
monitor-enter p0
.line 504
const/4 v0, 0x0
.line 505
.local v0, "result":I
:try_start_2
iget-wide v1, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
const-wide/16 v3, 0x0
cmp-long v5, v1, v3
if-eqz v5, :cond_29
.line 506
iget-wide v1, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
invoke-direct {p0, v1, v2}, Lcom/serenegiant/usb/UVCCamera;->nativeUpdateWhiteBlanceLimit(J)I
.line 507
iget v1, p0, Lcom/serenegiant/usb/UVCCamera;->mWhiteBlanceMax:I
iget v2, p0, Lcom/serenegiant/usb/UVCCamera;->mWhiteBlanceMin:I
sub-int/2addr v1, v2
invoke-static {v1}, Ljava/lang/Math;->abs(I)I
move-result v1
int-to-float v1, v1
.line 508
.local v1, "range":F
const/4 v2, 0x0
cmpl-float v2, v1, v2
if-lez v2, :cond_29
.line 509
iget v2, p0, Lcom/serenegiant/usb/UVCCamera;->mWhiteBlanceMin:I
:try_end_20
.catchall {:try_start_2 .. :try_end_20} :catchall_2b
sub-int v2, p1, v2
int-to-float v2, v2
const/high16 v3, 0x42c80000 # 100.0f
mul-float v2, v2, v3
div-float/2addr v2, v1
float-to-int v0, v2
.line 512
.end local v1 # "range":F
.end local p0 # "this":Lcom/serenegiant/usb/UVCCamera;
:cond_29
monitor-exit p0
return v0
.line 503
.end local v0 # "result":I
.end local p1 # "whiteBlance_abs":I
:catchall_2b
move-exception p1
monitor-exit p0
throw p1
.end method
.method public declared-synchronized getZoom()I
.registers 3
monitor-enter p0
.line 858
:try_start_1
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
invoke-static {v0, v1}, Lcom/serenegiant/usb/UVCCamera;->nativeGetZoom(J)I
move-result v0
invoke-virtual {p0, v0}, Lcom/serenegiant/usb/UVCCamera;->getZoom(I)I
move-result v0
:try_end_b
.catchall {:try_start_1 .. :try_end_b} :catchall_d
monitor-exit p0
return v0
.end local p0 # "this":Lcom/serenegiant/usb/UVCCamera;
:catchall_d
move-exception v0
monitor-exit p0
throw v0
.end method
.method public declared-synchronized getZoom(I)I
.registers 8
.param p1, "zoom_abs" # I
monitor-enter p0
.line 843
const/4 v0, 0x0
.line 844
.local v0, "result":I
:try_start_2
iget-wide v1, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
const-wide/16 v3, 0x0
cmp-long v5, v1, v3
if-eqz v5, :cond_29
.line 845
iget-wide v1, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
invoke-direct {p0, v1, v2}, Lcom/serenegiant/usb/UVCCamera;->nativeUpdateZoomLimit(J)I
.line 846
iget v1, p0, Lcom/serenegiant/usb/UVCCamera;->mZoomMax:I
iget v2, p0, Lcom/serenegiant/usb/UVCCamera;->mZoomMin:I
sub-int/2addr v1, v2
invoke-static {v1}, Ljava/lang/Math;->abs(I)I
move-result v1
int-to-float v1, v1
.line 847
.local v1, "range":F
const/4 v2, 0x0
cmpl-float v2, v1, v2
if-lez v2, :cond_29
.line 848
iget v2, p0, Lcom/serenegiant/usb/UVCCamera;->mZoomMin:I
:try_end_20
.catchall {:try_start_2 .. :try_end_20} :catchall_2b
sub-int v2, p1, v2
int-to-float v2, v2
const/high16 v3, 0x42c80000 # 100.0f
mul-float v2, v2, v3
div-float/2addr v2, v1
float-to-int v0, v2
.line 851
.end local v1 # "range":F
.end local p0 # "this":Lcom/serenegiant/usb/UVCCamera;
:cond_29
monitor-exit p0
return v0
.line 842
.end local v0 # "result":I
.end local p1 # "zoom_abs":I
:catchall_2b
move-exception p1
monitor-exit p0
throw p1
.end method
.method public declared-synchronized open(Lcom/serenegiant/usb/USBMonitor$UsbControlBlock;)V
.registers 12
.param p1, "ctrlBlock" # Lcom/serenegiant/usb/USBMonitor$UsbControlBlock;
monitor-enter p0
.line 193
:try_start_1
invoke-virtual {p1}, Lcom/serenegiant/usb/USBMonitor$UsbControlBlock;->clone()Lcom/serenegiant/usb/USBMonitor$UsbControlBlock;
move-result-object v0
iput-object v0, p0, Lcom/serenegiant/usb/UVCCamera;->mCtrlBlock:Lcom/serenegiant/usb/USBMonitor$UsbControlBlock;
.line 194
iget-wide v2, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
.line 195
invoke-virtual {v0}, Lcom/serenegiant/usb/USBMonitor$UsbControlBlock;->getVenderId()I
move-result v4
iget-object v0, p0, Lcom/serenegiant/usb/UVCCamera;->mCtrlBlock:Lcom/serenegiant/usb/USBMonitor$UsbControlBlock;
invoke-virtual {v0}, Lcom/serenegiant/usb/USBMonitor$UsbControlBlock;->getProductId()I
move-result v5
iget-object v0, p0, Lcom/serenegiant/usb/UVCCamera;->mCtrlBlock:Lcom/serenegiant/usb/USBMonitor$UsbControlBlock;
.line 196
invoke-virtual {v0}, Lcom/serenegiant/usb/USBMonitor$UsbControlBlock;->getFileDescriptor()I
move-result v6
iget-object v0, p0, Lcom/serenegiant/usb/UVCCamera;->mCtrlBlock:Lcom/serenegiant/usb/USBMonitor$UsbControlBlock;
.line 197
invoke-virtual {v0}, Lcom/serenegiant/usb/USBMonitor$UsbControlBlock;->getBusNum()I
move-result v7
iget-object v0, p0, Lcom/serenegiant/usb/UVCCamera;->mCtrlBlock:Lcom/serenegiant/usb/USBMonitor$UsbControlBlock;
.line 198
invoke-virtual {v0}, Lcom/serenegiant/usb/USBMonitor$UsbControlBlock;->getDevNum()I
move-result v8
iget-object v0, p0, Lcom/serenegiant/usb/UVCCamera;->mCtrlBlock:Lcom/serenegiant/usb/USBMonitor$UsbControlBlock;
.line 199
invoke-direct {p0, v0}, Lcom/serenegiant/usb/UVCCamera;->getUSBFSName(Lcom/serenegiant/usb/USBMonitor$UsbControlBlock;)Ljava/lang/String;
move-result-object v9
.line 194
move-object v1, p0
invoke-direct/range {v1 .. v9}, Lcom/serenegiant/usb/UVCCamera;->nativeConnect(JIIIIILjava/lang/String;)I
move-result v0
:try_end_30
.catch Ljava/lang/Exception; {:try_start_1 .. :try_end_30} :catch_33
.catchall {:try_start_1 .. :try_end_30} :catchall_31
.line 203
.local v0, "result":I
goto :goto_3b
.line 192
.end local v0 # "result":I
.end local p0 # "this":Lcom/serenegiant/usb/UVCCamera;
.end local p1 # "ctrlBlock":Lcom/serenegiant/usb/USBMonitor$UsbControlBlock;
:catchall_31
move-exception p1
goto :goto_7d
.line 200
.restart local p1 # "ctrlBlock":Lcom/serenegiant/usb/USBMonitor$UsbControlBlock;
:catch_33
move-exception v0
.line 201
.local v0, "e":Ljava/lang/Exception;
:try_start_34
sget-object v1, Lcom/serenegiant/usb/UVCCamera;->TAG:Ljava/lang/String;
invoke-static {v1, v0}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/Throwable;)I
.line 202
const/4 v1, -0x1
move v0, v1
.line 204
.local v0, "result":I
:goto_3b
if-nez v0, :cond_66
.line 207
iget-wide v1, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
const-wide/16 v3, 0x0
cmp-long v5, v1, v3
if-eqz v5, :cond_55
iget-object v1, p0, Lcom/serenegiant/usb/UVCCamera;->mSupportedSize:Ljava/lang/String;
invoke-static {v1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v1
if-eqz v1, :cond_55
.line 208
iget-wide v1, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
invoke-static {v1, v2}, Lcom/serenegiant/usb/UVCCamera;->nativeGetSupportedSize(J)Ljava/lang/String;
move-result-object v1
iput-object v1, p0, Lcom/serenegiant/usb/UVCCamera;->mSupportedSize:Ljava/lang/String;
.line 210
:cond_55
iget-wide v1, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
const/16 v3, 0x280
const/16 v4, 0x1e0
const/4 v5, 0x1
const/16 v6, 0x1e
const/4 v7, 0x0
const/high16 v8, 0x3f800000 # 1.0f
invoke-static/range {v1 .. v8}, Lcom/serenegiant/usb/UVCCamera;->nativeSetPreviewSize(JIIIIIF)I
:try_end_64
.catchall {:try_start_34 .. :try_end_64} :catchall_31
.line 212
monitor-exit p0
return-void
.line 205
:cond_66
:try_start_66
new-instance v1, Ljava/lang/UnsupportedOperationException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "open failed:result="
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2}, Ljava/lang/UnsupportedOperationException;-><init>(Ljava/lang/String;)V
throw v1
:try_end_7d
.catchall {:try_start_66 .. :try_end_7d} :catchall_31
.line 192
.end local v0 # "result":I
.end local p1 # "ctrlBlock":Lcom/serenegiant/usb/USBMonitor$UsbControlBlock;
:goto_7d
monitor-exit p0
throw p1
.end method
.method public declared-synchronized resetBrightness()V
.registers 6
monitor-enter p0
.line 563
:try_start_1
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
const-wide/16 v2, 0x0
cmp-long v4, v0, v2
if-eqz v4, :cond_10
.line 564
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
iget v2, p0, Lcom/serenegiant/usb/UVCCamera;->mBrightnessDef:I
invoke-static {v0, v1, v2}, Lcom/serenegiant/usb/UVCCamera;->nativeSetBrightness(JI)I
:try_end_10
.catchall {:try_start_1 .. :try_end_10} :catchall_12
.line 566
.end local p0 # "this":Lcom/serenegiant/usb/UVCCamera;
:cond_10
monitor-exit p0
return-void
.line 562
:catchall_12
move-exception v0
monitor-exit p0
throw v0
.end method
.method public declared-synchronized resetContrast()V
.registers 6
monitor-enter p0
.line 604
:try_start_1
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
const-wide/16 v2, 0x0
cmp-long v4, v0, v2
if-eqz v4, :cond_10
.line 605
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
iget v2, p0, Lcom/serenegiant/usb/UVCCamera;->mContrastDef:I
invoke-static {v0, v1, v2}, Lcom/serenegiant/usb/UVCCamera;->nativeSetContrast(JI)I
:try_end_10
.catchall {:try_start_1 .. :try_end_10} :catchall_12
.line 607
.end local p0 # "this":Lcom/serenegiant/usb/UVCCamera;
:cond_10
monitor-exit p0
return-void
.line 603
:catchall_12
move-exception v0
monitor-exit p0
throw v0
.end method
.method public declared-synchronized resetFocus()V
.registers 6
monitor-enter p0
.line 467
:try_start_1
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
const-wide/16 v2, 0x0
cmp-long v4, v0, v2
if-eqz v4, :cond_10
.line 468
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
iget v2, p0, Lcom/serenegiant/usb/UVCCamera;->mFocusDef:I
invoke-static {v0, v1, v2}, Lcom/serenegiant/usb/UVCCamera;->nativeSetFocus(JI)I
:try_end_10
.catchall {:try_start_1 .. :try_end_10} :catchall_12
.line 470
.end local p0 # "this":Lcom/serenegiant/usb/UVCCamera;
:cond_10
monitor-exit p0
return-void
.line 466
:catchall_12
move-exception v0
monitor-exit p0
throw v0
.end method
.method public declared-synchronized resetGain()V
.registers 6
monitor-enter p0
.line 685
:try_start_1
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
const-wide/16 v2, 0x0
cmp-long v4, v0, v2
if-eqz v4, :cond_10
.line 686
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
iget v2, p0, Lcom/serenegiant/usb/UVCCamera;->mGainDef:I
invoke-static {v0, v1, v2}, Lcom/serenegiant/usb/UVCCamera;->nativeSetGain(JI)I
:try_end_10
.catchall {:try_start_1 .. :try_end_10} :catchall_12
.line 688
.end local p0 # "this":Lcom/serenegiant/usb/UVCCamera;
:cond_10
monitor-exit p0
return-void
.line 684
:catchall_12
move-exception v0
monitor-exit p0
throw v0
.end method
.method public declared-synchronized resetGamma()V
.registers 6
monitor-enter p0
.line 726
:try_start_1
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
const-wide/16 v2, 0x0
cmp-long v4, v0, v2
if-eqz v4, :cond_10
.line 727
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
iget v2, p0, Lcom/serenegiant/usb/UVCCamera;->mGammaDef:I
invoke-static {v0, v1, v2}, Lcom/serenegiant/usb/UVCCamera;->nativeSetGamma(JI)I
:try_end_10
.catchall {:try_start_1 .. :try_end_10} :catchall_12
.line 729
.end local p0 # "this":Lcom/serenegiant/usb/UVCCamera;
:cond_10
monitor-exit p0
return-void
.line 725
:catchall_12
move-exception v0
monitor-exit p0
throw v0
.end method
.method public declared-synchronized resetHue()V
.registers 6
monitor-enter p0
.line 807
:try_start_1
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
const-wide/16 v2, 0x0
cmp-long v4, v0, v2
if-eqz v4, :cond_10
.line 808
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
iget v2, p0, Lcom/serenegiant/usb/UVCCamera;->mSaturationDef:I
invoke-static {v0, v1, v2}, Lcom/serenegiant/usb/UVCCamera;->nativeSetHue(JI)I
:try_end_10
.catchall {:try_start_1 .. :try_end_10} :catchall_12
.line 810
.end local p0 # "this":Lcom/serenegiant/usb/UVCCamera;
:cond_10
monitor-exit p0
return-void
.line 806
:catchall_12
move-exception v0
monitor-exit p0
throw v0
.end method
.method public declared-synchronized resetSaturation()V
.registers 6
monitor-enter p0
.line 767
:try_start_1
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
const-wide/16 v2, 0x0
cmp-long v4, v0, v2
if-eqz v4, :cond_10
.line 768
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
iget v2, p0, Lcom/serenegiant/usb/UVCCamera;->mSaturationDef:I
invoke-static {v0, v1, v2}, Lcom/serenegiant/usb/UVCCamera;->nativeSetSaturation(JI)I
:try_end_10
.catchall {:try_start_1 .. :try_end_10} :catchall_12
.line 770
.end local p0 # "this":Lcom/serenegiant/usb/UVCCamera;
:cond_10
monitor-exit p0
return-void
.line 766
:catchall_12
move-exception v0
monitor-exit p0
throw v0
.end method
.method public declared-synchronized resetSharpness()V
.registers 6
monitor-enter p0
.line 645
:try_start_1
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
const-wide/16 v2, 0x0
cmp-long v4, v0, v2
if-eqz v4, :cond_10
.line 646
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
iget v2, p0, Lcom/serenegiant/usb/UVCCamera;->mSharpnessDef:I
invoke-static {v0, v1, v2}, Lcom/serenegiant/usb/UVCCamera;->nativeSetSharpness(JI)I
:try_end_10
.catchall {:try_start_1 .. :try_end_10} :catchall_12
.line 648
.end local p0 # "this":Lcom/serenegiant/usb/UVCCamera;
:cond_10
monitor-exit p0
return-void
.line 644
:catchall_12
move-exception v0
monitor-exit p0
throw v0
.end method
.method public declared-synchronized resetWhiteBlance()V
.registers 6
monitor-enter p0
.line 523
:try_start_1
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
const-wide/16 v2, 0x0
cmp-long v4, v0, v2
if-eqz v4, :cond_10
.line 524
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
iget v2, p0, Lcom/serenegiant/usb/UVCCamera;->mWhiteBlanceDef:I
invoke-static {v0, v1, v2}, Lcom/serenegiant/usb/UVCCamera;->nativeSetWhiteBlance(JI)I
:try_end_10
.catchall {:try_start_1 .. :try_end_10} :catchall_12
.line 526
.end local p0 # "this":Lcom/serenegiant/usb/UVCCamera;
:cond_10
monitor-exit p0
return-void
.line 522
:catchall_12
move-exception v0
monitor-exit p0
throw v0
.end method
.method public declared-synchronized resetZoom()V
.registers 6
monitor-enter p0
.line 862
:try_start_1
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
const-wide/16 v2, 0x0
cmp-long v4, v0, v2
if-eqz v4, :cond_10
.line 863
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
iget v2, p0, Lcom/serenegiant/usb/UVCCamera;->mZoomDef:I
invoke-static {v0, v1, v2}, Lcom/serenegiant/usb/UVCCamera;->nativeSetZoom(JI)I
:try_end_10
.catchall {:try_start_1 .. :try_end_10} :catchall_12
.line 865
.end local p0 # "this":Lcom/serenegiant/usb/UVCCamera;
:cond_10
monitor-exit p0
return-void
.line 861
:catchall_12
move-exception v0
monitor-exit p0
throw v0
.end method
.method public declared-synchronized setAutoFocus(Z)V
.registers 7
.param p1, "autoFocus" # Z
monitor-enter p0
.line 419
:try_start_1
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
const-wide/16 v2, 0x0
cmp-long v4, v0, v2
if-eqz v4, :cond_e
.line 420
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
invoke-static {v0, v1, p1}, Lcom/serenegiant/usb/UVCCamera;->nativeSetAutoFocus(JZ)I
:try_end_e
.catchall {:try_start_1 .. :try_end_e} :catchall_10
.line 422
.end local p0 # "this":Lcom/serenegiant/usb/UVCCamera;
:cond_e
monitor-exit p0
return-void
.line 418
.end local p1 # "autoFocus":Z
:catchall_10
move-exception p1
monitor-exit p0
throw p1
.end method
.method public declared-synchronized setAutoWhiteBlance(Z)V
.registers 7
.param p1, "autoWhiteBlance" # Z
monitor-enter p0
.line 474
:try_start_1
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
const-wide/16 v2, 0x0
cmp-long v4, v0, v2
if-eqz v4, :cond_e
.line 475
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
invoke-static {v0, v1, p1}, Lcom/serenegiant/usb/UVCCamera;->nativeSetAutoWhiteBlance(JZ)I
:try_end_e
.catchall {:try_start_1 .. :try_end_e} :catchall_10
.line 477
.end local p0 # "this":Lcom/serenegiant/usb/UVCCamera;
:cond_e
monitor-exit p0
return-void
.line 473
.end local p1 # "autoWhiteBlance":Z
:catchall_10
move-exception p1
monitor-exit p0
throw p1
.end method
.method public declared-synchronized setBrightness(I)V
.registers 7
.param p1, "brightness" # I
monitor-enter p0
.line 532
:try_start_1
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
const-wide/16 v2, 0x0
cmp-long v4, v0, v2
if-eqz v4, :cond_27
.line 533
iget v0, p0, Lcom/serenegiant/usb/UVCCamera;->mBrightnessMax:I
iget v1, p0, Lcom/serenegiant/usb/UVCCamera;->mBrightnessMin:I
sub-int/2addr v0, v1
invoke-static {v0}, Ljava/lang/Math;->abs(I)I
move-result v0
int-to-float v0, v0
.line 534
.local v0, "range":F
const/4 v1, 0x0
cmpl-float v1, v0, v1
if-lez v1, :cond_27
.line 535
iget-wide v1, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
int-to-float v3, p1
const/high16 v4, 0x42c80000 # 100.0f
div-float/2addr v3, v4
mul-float v3, v3, v0
float-to-int v3, v3
iget v4, p0, Lcom/serenegiant/usb/UVCCamera;->mBrightnessMin:I
add-int/2addr v3, v4
invoke-static {v1, v2, v3}, Lcom/serenegiant/usb/UVCCamera;->nativeSetBrightness(JI)I
:try_end_27
.catchall {:try_start_1 .. :try_end_27} :catchall_29
.line 537
.end local v0 # "range":F
.end local p0 # "this":Lcom/serenegiant/usb/UVCCamera;
:cond_27
monitor-exit p0
return-void
.line 531
.end local p1 # "brightness":I
:catchall_29
move-exception p1
monitor-exit p0
throw p1
.end method
.method public setButtonCallback(Lcom/serenegiant/usb/IButtonCallback;)V
.registers 7
.param p1, "callback" # Lcom/serenegiant/usb/IButtonCallback;
.line 229
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
const-wide/16 v2, 0x0
cmp-long v4, v0, v2
if-eqz v4, :cond_b
.line 230
invoke-static {v0, v1, p1}, Lcom/serenegiant/usb/UVCCamera;->nativeSetButtonCallback(JLcom/serenegiant/usb/IButtonCallback;)I
.line 232
:cond_b
return-void
.end method
.method public declared-synchronized setContrast(I)V
.registers 7
.param p1, "contrast" # I
monitor-enter p0
.line 573
:try_start_1
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
const-wide/16 v2, 0x0
cmp-long v4, v0, v2
if-eqz v4, :cond_2c
.line 574
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
invoke-direct {p0, v0, v1}, Lcom/serenegiant/usb/UVCCamera;->nativeUpdateContrastLimit(J)I
.line 575
iget v0, p0, Lcom/serenegiant/usb/UVCCamera;->mContrastMax:I
iget v1, p0, Lcom/serenegiant/usb/UVCCamera;->mContrastMin:I
sub-int/2addr v0, v1
invoke-static {v0}, Ljava/lang/Math;->abs(I)I
move-result v0
int-to-float v0, v0
.line 576
.local v0, "range":F
const/4 v1, 0x0
cmpl-float v1, v0, v1
if-lez v1, :cond_2c
.line 577
iget-wide v1, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
int-to-float v3, p1
const/high16 v4, 0x42c80000 # 100.0f
div-float/2addr v3, v4
mul-float v3, v3, v0
float-to-int v3, v3
iget v4, p0, Lcom/serenegiant/usb/UVCCamera;->mContrastMin:I
add-int/2addr v3, v4
invoke-static {v1, v2, v3}, Lcom/serenegiant/usb/UVCCamera;->nativeSetContrast(JI)I
:try_end_2c
.catchall {:try_start_1 .. :try_end_2c} :catchall_2e
.line 579
.end local v0 # "range":F
.end local p0 # "this":Lcom/serenegiant/usb/UVCCamera;
:cond_2c
monitor-exit p0
return-void
.line 572
.end local p1 # "contrast":I
:catchall_2e
move-exception p1
monitor-exit p0
throw p1
.end method
.method public declared-synchronized setFocus(I)V
.registers 7
.param p1, "focus" # I
monitor-enter p0
.line 436
:try_start_1
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
const-wide/16 v2, 0x0
cmp-long v4, v0, v2
if-eqz v4, :cond_27
.line 437
iget v0, p0, Lcom/serenegiant/usb/UVCCamera;->mFocusMax:I
iget v1, p0, Lcom/serenegiant/usb/UVCCamera;->mFocusMin:I
sub-int/2addr v0, v1
invoke-static {v0}, Ljava/lang/Math;->abs(I)I
move-result v0
int-to-float v0, v0
.line 438
.local v0, "range":F
const/4 v1, 0x0
cmpl-float v1, v0, v1
if-lez v1, :cond_27
.line 439
iget-wide v1, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
int-to-float v3, p1
const/high16 v4, 0x42c80000 # 100.0f
div-float/2addr v3, v4
mul-float v3, v3, v0
float-to-int v3, v3
iget v4, p0, Lcom/serenegiant/usb/UVCCamera;->mFocusMin:I
add-int/2addr v3, v4
invoke-static {v1, v2, v3}, Lcom/serenegiant/usb/UVCCamera;->nativeSetFocus(JI)I
:try_end_27
.catchall {:try_start_1 .. :try_end_27} :catchall_29
.line 441
.end local v0 # "range":F
.end local p0 # "this":Lcom/serenegiant/usb/UVCCamera;
:cond_27
monitor-exit p0
return-void
.line 435
.end local p1 # "focus":I
:catchall_29
move-exception p1
monitor-exit p0
throw p1
.end method
.method public declared-synchronized setGain(I)V
.registers 7
.param p1, "gain" # I
monitor-enter p0
.line 654
:try_start_1
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
const-wide/16 v2, 0x0
cmp-long v4, v0, v2
if-eqz v4, :cond_27
.line 655
iget v0, p0, Lcom/serenegiant/usb/UVCCamera;->mGainMax:I
iget v1, p0, Lcom/serenegiant/usb/UVCCamera;->mGainMin:I
sub-int/2addr v0, v1
invoke-static {v0}, Ljava/lang/Math;->abs(I)I
move-result v0
int-to-float v0, v0
.line 656
.local v0, "range":F
const/4 v1, 0x0
cmpl-float v1, v0, v1
if-lez v1, :cond_27
.line 657
iget-wide v1, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
int-to-float v3, p1
const/high16 v4, 0x42c80000 # 100.0f
div-float/2addr v3, v4
mul-float v3, v3, v0
float-to-int v3, v3
iget v4, p0, Lcom/serenegiant/usb/UVCCamera;->mGainMin:I
add-int/2addr v3, v4
invoke-static {v1, v2, v3}, Lcom/serenegiant/usb/UVCCamera;->nativeSetGain(JI)I
:try_end_27
.catchall {:try_start_1 .. :try_end_27} :catchall_29
.line 659
.end local v0 # "range":F
.end local p0 # "this":Lcom/serenegiant/usb/UVCCamera;
:cond_27
monitor-exit p0
return-void
.line 653
.end local p1 # "gain":I
:catchall_29
move-exception p1
monitor-exit p0
throw p1
.end method
.method public declared-synchronized setGamma(I)V
.registers 7
.param p1, "gamma" # I
monitor-enter p0
.line 695
:try_start_1
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
const-wide/16 v2, 0x0
cmp-long v4, v0, v2
if-eqz v4, :cond_27
.line 696
iget v0, p0, Lcom/serenegiant/usb/UVCCamera;->mGammaMax:I
iget v1, p0, Lcom/serenegiant/usb/UVCCamera;->mGammaMin:I
sub-int/2addr v0, v1
invoke-static {v0}, Ljava/lang/Math;->abs(I)I
move-result v0
int-to-float v0, v0
.line 697
.local v0, "range":F
const/4 v1, 0x0
cmpl-float v1, v0, v1
if-lez v1, :cond_27
.line 698
iget-wide v1, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
int-to-float v3, p1
const/high16 v4, 0x42c80000 # 100.0f
div-float/2addr v3, v4
mul-float v3, v3, v0
float-to-int v3, v3
iget v4, p0, Lcom/serenegiant/usb/UVCCamera;->mGammaMin:I
add-int/2addr v3, v4
invoke-static {v1, v2, v3}, Lcom/serenegiant/usb/UVCCamera;->nativeSetGamma(JI)I
:try_end_27
.catchall {:try_start_1 .. :try_end_27} :catchall_29
.line 700
.end local v0 # "range":F
.end local p0 # "this":Lcom/serenegiant/usb/UVCCamera;
:cond_27
monitor-exit p0
return-void
.line 694
.end local p1 # "gamma":I
:catchall_29
move-exception p1
monitor-exit p0
throw p1
.end method
.method public declared-synchronized setHue(I)V
.registers 7
.param p1, "hue" # I
monitor-enter p0
.line 776
:try_start_1
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
const-wide/16 v2, 0x0
cmp-long v4, v0, v2
if-eqz v4, :cond_27
.line 777
iget v0, p0, Lcom/serenegiant/usb/UVCCamera;->mHueMax:I
iget v1, p0, Lcom/serenegiant/usb/UVCCamera;->mHueMin:I
sub-int/2addr v0, v1
invoke-static {v0}, Ljava/lang/Math;->abs(I)I
move-result v0
int-to-float v0, v0
.line 778
.local v0, "range":F
const/4 v1, 0x0
cmpl-float v1, v0, v1
if-lez v1, :cond_27
.line 779
iget-wide v1, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
int-to-float v3, p1
const/high16 v4, 0x42c80000 # 100.0f
div-float/2addr v3, v4
mul-float v3, v3, v0
float-to-int v3, v3
iget v4, p0, Lcom/serenegiant/usb/UVCCamera;->mHueMin:I
add-int/2addr v3, v4
invoke-static {v1, v2, v3}, Lcom/serenegiant/usb/UVCCamera;->nativeSetHue(JI)I
:try_end_27
.catchall {:try_start_1 .. :try_end_27} :catchall_29
.line 781
.end local v0 # "range":F
.end local p0 # "this":Lcom/serenegiant/usb/UVCCamera;
:cond_27
monitor-exit p0
return-void
.line 775
.end local p1 # "hue":I
:catchall_29
move-exception p1
monitor-exit p0
throw p1
.end method
.method public setPowerlineFrequency(I)V
.registers 7
.param p1, "frequency" # I
.line 814
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
const-wide/16 v2, 0x0
cmp-long v4, v0, v2
if-eqz v4, :cond_b
.line 815
invoke-static {v0, v1, p1}, Lcom/serenegiant/usb/UVCCamera;->nativeSetPowerlineFrequency(JI)I
.line 816
:cond_b
return-void
.end method
.method public setPreviewSize(II)V
.registers 10
.param p1, "width" # I
.param p2, "height" # I
.line 290
iget v5, p0, Lcom/serenegiant/usb/UVCCamera;->mCurrentFrameFormat:I
iget v6, p0, Lcom/serenegiant/usb/UVCCamera;->mCurrentBandwidthFactor:F
const/4 v3, 0x1
const/16 v4, 0x1e
move-object v0, p0
move v1, p1
move v2, p2
invoke-virtual/range {v0 .. v6}, Lcom/serenegiant/usb/UVCCamera;->setPreviewSize(IIIIIF)V
.line 291
return-void
.end method
.method public setPreviewSize(III)V
.registers 11
.param p1, "width" # I
.param p2, "height" # I
.param p3, "frameFormat" # I
.line 300
iget v6, p0, Lcom/serenegiant/usb/UVCCamera;->mCurrentBandwidthFactor:F
const/4 v3, 0x1
const/16 v4, 0x1e
move-object v0, p0
move v1, p1
move v2, p2
move v5, p3
invoke-virtual/range {v0 .. v6}, Lcom/serenegiant/usb/UVCCamera;->setPreviewSize(IIIIIF)V
.line 301
return-void
.end method
.method public setPreviewSize(IIIF)V
.registers 12
.param p1, "width" # I
.param p2, "height" # I
.param p3, "frameFormat" # I
.param p4, "bandwidth" # F
.line 311
const/4 v3, 0x1
const/16 v4, 0x1e
move-object v0, p0
move v1, p1
move v2, p2
move v5, p3
move v6, p4
invoke-virtual/range {v0 .. v6}, Lcom/serenegiant/usb/UVCCamera;->setPreviewSize(IIIIIF)V
.line 312
return-void
.end method
.method public setPreviewSize(IIIIIF)V
.registers 15
.param p1, "width" # I
.param p2, "height" # I
.param p3, "min_fps" # I
.param p4, "max_fps" # I
.param p5, "frameFormat" # I
.param p6, "bandwidthFactor" # F
.line 324
if-eqz p1, :cond_2a
if-eqz p2, :cond_2a
.line 326
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
const-wide/16 v2, 0x0
cmp-long v4, v0, v2
if-eqz v4, :cond_29
.line 327
move v2, p1
move v3, p2
move v4, p3
move v5, p4
move v6, p5
move v7, p6
invoke-static/range {v0 .. v7}, Lcom/serenegiant/usb/UVCCamera;->nativeSetPreviewSize(JIIIIIF)I
move-result v0
.line 328
.local v0, "result":I
if-nez v0, :cond_21
.line 330
iput p5, p0, Lcom/serenegiant/usb/UVCCamera;->mCurrentFrameFormat:I
.line 331
iput p1, p0, Lcom/serenegiant/usb/UVCCamera;->mCurrentWidth:I
.line 332
iput p2, p0, Lcom/serenegiant/usb/UVCCamera;->mCurrentHeight:I
.line 333
iput p6, p0, Lcom/serenegiant/usb/UVCCamera;->mCurrentBandwidthFactor:F
goto :goto_29
.line 329
:cond_21
new-instance v1, Ljava/lang/IllegalArgumentException;
const-string v2, "Failed to set preview size"
invoke-direct {v1, v2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v1
.line 335
.end local v0 # "result":I
:cond_29
:goto_29
return-void
.line 325
:cond_2a
new-instance v0, Ljava/lang/IllegalArgumentException;
const-string v1, "invalid preview size"
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public declared-synchronized setSaturation(I)V
.registers 7
.param p1, "saturation" # I
monitor-enter p0
.line 736
:try_start_1
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
const-wide/16 v2, 0x0
cmp-long v4, v0, v2
if-eqz v4, :cond_27
.line 737
iget v0, p0, Lcom/serenegiant/usb/UVCCamera;->mSaturationMax:I
iget v1, p0, Lcom/serenegiant/usb/UVCCamera;->mSaturationMin:I
sub-int/2addr v0, v1
invoke-static {v0}, Ljava/lang/Math;->abs(I)I
move-result v0
int-to-float v0, v0
.line 738
.local v0, "range":F
const/4 v1, 0x0
cmpl-float v1, v0, v1
if-lez v1, :cond_27
.line 739
iget-wide v1, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
int-to-float v3, p1
const/high16 v4, 0x42c80000 # 100.0f
div-float/2addr v3, v4
mul-float v3, v3, v0
float-to-int v3, v3
iget v4, p0, Lcom/serenegiant/usb/UVCCamera;->mSaturationMin:I
add-int/2addr v3, v4
invoke-static {v1, v2, v3}, Lcom/serenegiant/usb/UVCCamera;->nativeSetSaturation(JI)I
:try_end_27
.catchall {:try_start_1 .. :try_end_27} :catchall_29
.line 741
.end local v0 # "range":F
.end local p0 # "this":Lcom/serenegiant/usb/UVCCamera;
:cond_27
monitor-exit p0
return-void
.line 735
.end local p1 # "saturation":I
:catchall_29
move-exception p1
monitor-exit p0
throw p1
.end method
.method public declared-synchronized setSharpness(I)V
.registers 7
.param p1, "sharpness" # I
monitor-enter p0
.line 614
:try_start_1
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
const-wide/16 v2, 0x0
cmp-long v4, v0, v2
if-eqz v4, :cond_27
.line 615
iget v0, p0, Lcom/serenegiant/usb/UVCCamera;->mSharpnessMax:I
iget v1, p0, Lcom/serenegiant/usb/UVCCamera;->mSharpnessMin:I
sub-int/2addr v0, v1
invoke-static {v0}, Ljava/lang/Math;->abs(I)I
move-result v0
int-to-float v0, v0
.line 616
.local v0, "range":F
const/4 v1, 0x0
cmpl-float v1, v0, v1
if-lez v1, :cond_27
.line 617
iget-wide v1, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
int-to-float v3, p1
const/high16 v4, 0x42c80000 # 100.0f
div-float/2addr v3, v4
mul-float v3, v3, v0
float-to-int v3, v3
iget v4, p0, Lcom/serenegiant/usb/UVCCamera;->mSharpnessMin:I
add-int/2addr v3, v4
invoke-static {v1, v2, v3}, Lcom/serenegiant/usb/UVCCamera;->nativeSetSharpness(JI)I
:try_end_27
.catchall {:try_start_1 .. :try_end_27} :catchall_29
.line 619
.end local v0 # "range":F
.end local p0 # "this":Lcom/serenegiant/usb/UVCCamera;
:cond_27
monitor-exit p0
return-void
.line 613
.end local p1 # "sharpness":I
:catchall_29
move-exception p1
monitor-exit p0
throw p1
.end method
.method public setStatusCallback(Lcom/serenegiant/usb/IStatusCallback;)V
.registers 7
.param p1, "callback" # Lcom/serenegiant/usb/IStatusCallback;
.line 219
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
const-wide/16 v2, 0x0
cmp-long v4, v0, v2
if-eqz v4, :cond_b
.line 220
invoke-static {v0, v1, p1}, Lcom/serenegiant/usb/UVCCamera;->nativeSetStatusCallback(JLcom/serenegiant/usb/IStatusCallback;)I
.line 222
:cond_b
return-void
.end method
.method public declared-synchronized setWhiteBlance(I)V
.registers 7
.param p1, "whiteBlance" # I
monitor-enter p0
.line 492
:try_start_1
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
const-wide/16 v2, 0x0
cmp-long v4, v0, v2
if-eqz v4, :cond_27
.line 493
iget v0, p0, Lcom/serenegiant/usb/UVCCamera;->mWhiteBlanceMax:I
iget v1, p0, Lcom/serenegiant/usb/UVCCamera;->mWhiteBlanceMin:I
sub-int/2addr v0, v1
invoke-static {v0}, Ljava/lang/Math;->abs(I)I
move-result v0
int-to-float v0, v0
.line 494
.local v0, "range":F
const/4 v1, 0x0
cmpl-float v1, v0, v1
if-lez v1, :cond_27
.line 495
iget-wide v1, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
int-to-float v3, p1
const/high16 v4, 0x42c80000 # 100.0f
div-float/2addr v3, v4
mul-float v3, v3, v0
float-to-int v3, v3
iget v4, p0, Lcom/serenegiant/usb/UVCCamera;->mWhiteBlanceMin:I
add-int/2addr v3, v4
invoke-static {v1, v2, v3}, Lcom/serenegiant/usb/UVCCamera;->nativeSetWhiteBlance(JI)I
:try_end_27
.catchall {:try_start_1 .. :try_end_27} :catchall_29
.line 497
.end local v0 # "range":F
.end local p0 # "this":Lcom/serenegiant/usb/UVCCamera;
:cond_27
monitor-exit p0
return-void
.line 491
.end local p1 # "whiteBlance":I
:catchall_29
move-exception p1
monitor-exit p0
throw p1
.end method
.method public declared-synchronized setZoom(I)V
.registers 7
.param p1, "zoom" # I
monitor-enter p0
.line 828
:try_start_1
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
const-wide/16 v2, 0x0
cmp-long v4, v0, v2
if-eqz v4, :cond_27
.line 829
iget v0, p0, Lcom/serenegiant/usb/UVCCamera;->mZoomMax:I
iget v1, p0, Lcom/serenegiant/usb/UVCCamera;->mZoomMin:I
sub-int/2addr v0, v1
invoke-static {v0}, Ljava/lang/Math;->abs(I)I
move-result v0
int-to-float v0, v0
.line 830
.local v0, "range":F
const/4 v1, 0x0
cmpl-float v1, v0, v1
if-lez v1, :cond_27
.line 831
int-to-float v1, p1
const/high16 v2, 0x42c80000 # 100.0f
div-float/2addr v1, v2
mul-float v1, v1, v0
float-to-int v1, v1
iget v2, p0, Lcom/serenegiant/usb/UVCCamera;->mZoomMin:I
add-int/2addr v1, v2
.line 833
.local v1, "z":I
iget-wide v2, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
invoke-static {v2, v3, v1}, Lcom/serenegiant/usb/UVCCamera;->nativeSetZoom(JI)I
:try_end_27
.catchall {:try_start_1 .. :try_end_27} :catchall_29
.line 836
.end local v0 # "range":F
.end local v1 # "z":I
.end local p0 # "this":Lcom/serenegiant/usb/UVCCamera;
:cond_27
monitor-exit p0
return-void
.line 827
.end local p1 # "zoom":I
:catchall_29
move-exception p1
monitor-exit p0
throw p1
.end method
.method public startCapture(Landroid/view/Surface;)V
.registers 4
.param p1, "surface" # Landroid/view/Surface;
.line 1018
iget-object v0, p0, Lcom/serenegiant/usb/UVCCamera;->mCtrlBlock:Lcom/serenegiant/usb/USBMonitor$UsbControlBlock;
if-eqz v0, :cond_c
if-eqz p1, :cond_c
.line 1019
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
invoke-static {v0, v1, p1}, Lcom/serenegiant/usb/UVCCamera;->nativeSetCaptureDisplay(JLandroid/view/Surface;)I
.line 1022
return-void
.line 1021
:cond_c
new-instance v0, Ljava/lang/NullPointerException;
const-string/jumbo v1, "startCapture"
invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public declared-synchronized startPreview()V
.registers 3
monitor-enter p0
.line 382
:try_start_1
iget-object v0, p0, Lcom/serenegiant/usb/UVCCamera;->mCtrlBlock:Lcom/serenegiant/usb/USBMonitor$UsbControlBlock;
if-eqz v0, :cond_a
.line 383
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
invoke-static {v0, v1}, Lcom/serenegiant/usb/UVCCamera;->nativeStartPreview(J)I
:try_end_a
.catchall {:try_start_1 .. :try_end_a} :catchall_c
.line 385
.end local p0 # "this":Lcom/serenegiant/usb/UVCCamera;
:cond_a
monitor-exit p0
return-void
.line 381
:catchall_c
move-exception v0
monitor-exit p0
throw v0
.end method
.method public stopCapture()V
.registers 4
.line 1028
iget-object v0, p0, Lcom/serenegiant/usb/UVCCamera;->mCtrlBlock:Lcom/serenegiant/usb/USBMonitor$UsbControlBlock;
if-eqz v0, :cond_a
.line 1029
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
const/4 v2, 0x0
invoke-static {v0, v1, v2}, Lcom/serenegiant/usb/UVCCamera;->nativeSetCaptureDisplay(JLandroid/view/Surface;)I
.line 1031
:cond_a
return-void
.end method
.method public declared-synchronized stopPreview()V
.registers 3
monitor-enter p0
.line 391
:try_start_1
iget-object v0, p0, Lcom/serenegiant/usb/UVCCamera;->mCtrlBlock:Lcom/serenegiant/usb/USBMonitor$UsbControlBlock;
if-eqz v0, :cond_a
.line 392
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
invoke-static {v0, v1}, Lcom/serenegiant/usb/UVCCamera;->nativeStopPreview(J)I
:try_end_a
.catchall {:try_start_1 .. :try_end_a} :catchall_c
.line 394
.end local p0 # "this":Lcom/serenegiant/usb/UVCCamera;
:cond_a
monitor-exit p0
return-void
.line 390
:catchall_c
move-exception v0
monitor-exit p0
throw v0
.end method
.method public declared-synchronized updateCameraParams()V
.registers 6
monitor-enter p0
.line 869
:try_start_1
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
const-wide/16 v2, 0x0
cmp-long v4, v0, v2
if-eqz v4, :cond_70
.line 870
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mControlSupports:J
cmp-long v4, v0, v2
if-eqz v4, :cond_15
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mProcSupports:J
cmp-long v4, v0, v2
if-nez v4, :cond_74
.line 872
.end local p0 # "this":Lcom/serenegiant/usb/UVCCamera;
:cond_15
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mControlSupports:J
cmp-long v4, v0, v2
if-nez v4, :cond_23
.line 873
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
invoke-static {v0, v1}, Lcom/serenegiant/usb/UVCCamera;->nativeGetCtrlSupports(J)J
move-result-wide v0
iput-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mControlSupports:J
.line 874
:cond_23
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mProcSupports:J
cmp-long v4, v0, v2
if-nez v4, :cond_31
.line 875
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
invoke-static {v0, v1}, Lcom/serenegiant/usb/UVCCamera;->nativeGetProcSupports(J)J
move-result-wide v0
iput-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mProcSupports:J
.line 877
:cond_31
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mControlSupports:J
cmp-long v4, v0, v2
if-eqz v4, :cond_74
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mProcSupports:J
cmp-long v4, v0, v2
if-eqz v4, :cond_74
.line 878
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
invoke-direct {p0, v0, v1}, Lcom/serenegiant/usb/UVCCamera;->nativeUpdateBrightnessLimit(J)I
.line 879
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
invoke-direct {p0, v0, v1}, Lcom/serenegiant/usb/UVCCamera;->nativeUpdateContrastLimit(J)I
.line 880
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
invoke-direct {p0, v0, v1}, Lcom/serenegiant/usb/UVCCamera;->nativeUpdateSharpnessLimit(J)I
.line 881
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
invoke-direct {p0, v0, v1}, Lcom/serenegiant/usb/UVCCamera;->nativeUpdateGainLimit(J)I
.line 882
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
invoke-direct {p0, v0, v1}, Lcom/serenegiant/usb/UVCCamera;->nativeUpdateGammaLimit(J)I
.line 883
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
invoke-direct {p0, v0, v1}, Lcom/serenegiant/usb/UVCCamera;->nativeUpdateSaturationLimit(J)I
.line 884
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
invoke-direct {p0, v0, v1}, Lcom/serenegiant/usb/UVCCamera;->nativeUpdateHueLimit(J)I
.line 885
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
invoke-direct {p0, v0, v1}, Lcom/serenegiant/usb/UVCCamera;->nativeUpdateZoomLimit(J)I
.line 886
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
invoke-direct {p0, v0, v1}, Lcom/serenegiant/usb/UVCCamera;->nativeUpdateWhiteBlanceLimit(J)I
.line 887
iget-wide v0, p0, Lcom/serenegiant/usb/UVCCamera;->mNativePtr:J
invoke-direct {p0, v0, v1}, Lcom/serenegiant/usb/UVCCamera;->nativeUpdateFocusLimit(J)I
goto :goto_74
.line 905
:cond_70
iput-wide v2, p0, Lcom/serenegiant/usb/UVCCamera;->mProcSupports:J
iput-wide v2, p0, Lcom/serenegiant/usb/UVCCamera;->mControlSupports:J
:try_end_74
.catchall {:try_start_1 .. :try_end_74} :catchall_76
.line 907
:cond_74
:goto_74
monitor-exit p0
return-void
.line 868
:catchall_76
move-exception v0
monitor-exit p0
throw v0
.end method