简体   繁体   中英

E/AndroidRuntime( 2671): java.lang.RuntimeException: setParameters failed

I am developing a ROM for the HTC Doubleshot, and I ran into some trouble with the camera (it force closes). Particularly the stock camera, and most third party cameras out there (UCam Ultra Camera does not).

I have a few logcats (fun starts at line 696 of the latest one) of the situation, and I am stumped as to what is going on. Other cameras, like Google Camera, have the same result.

My ROM is a build of CarbonROM 4.4.4, where successful work had been done by a developer in building Cyanogenmod 11. So my manifest has been split between my github (joelmaxuel) and his (EmmanuelU, KitKatDS):

<?xml version="1.0" encoding="UTF-8"?>

<manifest>

    <remote name="DS"
       fetch="git://github.com/KitKatDS/"/>

    <remote name="emmanuel"
       fetch="git://github.com/EmmanuelU/"/>

    <remote name="joelmaxuel"
       fetch="git://github.com/joelmaxuel/"/>

    <remote name="githubby"
       fetch="git://github.com/"/>

    <project path="buildbot" name="James_Buildbot" revision="master" remote="emmanuel">
        <copyfile src="James" dest="James" />
    </project>

    <project name="android_device_htc_common" path="device/htc/common" revision="gingerbread" remote="DS" />

    <project path="device/htc/doubleshot" name="android_device_htc_doubleshot" remote="joelmaxuel" revision="kk" />
    <project path="device/htc/msm8660-common" name="android_device_htc_msm8660-common" remote="joelmaxuel" revision="kk" />
    <project path="vendor/htc/doubleshot" name="android_vendor_htc_doubleshot" remote="joelmaxuel" revision="kk" />
    <project path="kernel/htc/doubleshot" name="wild_kernel_htc_msm8660" remote="emmanuel" revision="android-msm-doubleshot-3.0-ion" />

    <remove-project name="CyanogenMod/android_hardware_libhardware_legacy" />
    <remove-project name="CarbonDev/android_frameworks_av" />
    <remove-project name="CarbonDev/android_frameworks_native" />
    <remove-project name="CarbonDev/android_packages_apps_Camera2" />
    <project name="android_hardware_libhardware_legacy" path="hardware/libhardware_legacy" revision="cm-11.0" remote="DS" />
    <project name="android_hardware_qcom_media-legacy" path="hardware/qcom/media-legacy" revision="cm-11.0-ion" remote="DS" />
    <project name="android_hardware_qcom_display-legacy" path="hardware/qcom/display-legacy" revision="cm-11.0-ion" remote="DS" />
    <project name="android_frameworks_av" path="frameworks/av" revision="cm-11.0" remote="DS" />
    <project name="android_packages_apps_Camera2" path="packages/apps/Camera2" revision="cm-11.0" remote="DS" />
    <project name="android_frameworks_native" path="frameworks/native" revision="kk" remote="joelmaxuel" />

</manifest>

I made sure this was in my BoardConfigCommon.mk:

# Camera
BOARD_USES_QCOM_LEGACY_CAM_PARAMS := true
COMMON_GLOBAL_CFLAGS += -DICS_CAMERA_BLOB -DNO_UPDATE_PREVIEW -DQCOM_BSP_CAMERA_ABI_HACK

And the code for BOARD_USES_QCOM_LEGACY_CAM_PARAMS would add the appropriate CFLAG (I checked the frameworks_av code, file camera/Android.mk):

ifeq ($(BOARD_USES_QCOM_HARDWARE),true)
LOCAL_CFLAGS += -DQCOM_HARDWARE
endif
ifeq ($(BOARD_USES_QCOM_LEGACY_CAM_PARAMS),true)
LOCAL_CFLAGS += -DQCOM_LEGACY_CAM_PARAMS
endif

I am at a loss as what to check next. Any suggestions?

The device's camera implementation believes you're passing in an invalid setting value.

It's a bit hard to see the actual complaint between all the other camera logging, but it's in the log:

E/QualcommCameraHardwareZSL( 171): Invalid focus mode value: continuous-picture E/QualcommCameraHardwareZSL( 171): virtual android::status_t android::QualcommCameraHardware::setParameters(const android::CameraParameters&): 6487, rc = -22

If continuous picture is not defined in the list of supported AF modes, then the app is invalidly trying to set it. If it is listed, then the camera implementation is incorrectly rejecting it.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM