diff options
63 files changed, 1464 insertions, 1453 deletions
diff --git a/BoardConfig.mk b/BoardConfig.mk index 2927c72..ac7f5db 100755 --- a/BoardConfig.mk +++ b/BoardConfig.mk @@ -20,5 +20,9 @@ # Use the non-open-source parts, if they're present -include vendor/samsung/crespo/BoardConfigVendor.mk +# Use the open-source board-info file if none was set by the vendor +# config. +TARGET_BOARD_INFO_FILE ?= device/samsung/crespo/board-info.txt + # Use the parts that are common between all crespos include device/samsung/crespo/BoardConfigCommon.mk diff --git a/BoardConfigCommon.mk b/BoardConfigCommon.mk index 712edf5..18712d0 100755 --- a/BoardConfigCommon.mk +++ b/BoardConfigCommon.mk @@ -69,20 +69,33 @@ BOARD_SYSTEMIMAGE_PARTITION_SIZE := 536870912 BOARD_USERDATAIMAGE_PARTITION_SIZE := 1073741824 BOARD_FLASH_BLOCK_SIZE := 4096 -# Connectivity - Wi-Fi -WPA_SUPPLICANT_VERSION := VER_0_8_X -BOARD_WPA_SUPPLICANT_DRIVER := WEXT -BOARD_WLAN_DEVICE := bcm4329 -BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_wext -WIFI_DRIVER_MODULE_PATH := "/system/lib/modules/bcm4329.ko" -WIFI_DRIVER_FW_PATH_STA := "/vendor/firmware/fw_bcm4329.bin" -WIFI_DRIVER_FW_PATH_AP := "/vendor/firmware/fw_bcm4329_apsta.bin" -WIFI_DRIVER_MODULE_NAME := "bcm4329" -WIFI_DRIVER_MODULE_ARG := "iface_name=wlan0 firmware_path=/vendor/firmware/fw_bcm4329.bin nvram_path=/vendor/firmware/nvram_net.txt" - -USE_OPENGL_RENDERER := true BOARD_HAS_NO_SELECT_BUTTON := true BOARD_CUSTOM_GRAPHICS := ../../../device/samsung/crespo/graphics.c BOARD_USE_SKIA_LCDTEXT := true + +# Connectivity - Wi-Fi +WPA_SUPPLICANT_VERSION := VER_0_8_X +BOARD_WPA_SUPPLICANT_DRIVER := NL80211 +BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_bcmdhd +BOARD_HOSTAPD_DRIVER := NL80211 +BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_bcmdhd +BOARD_WLAN_DEVICE := bcmdhd +#WIFI_DRIVER_MODULE_PATH := "/system/lib/modules/bcm4329.ko" +WIFI_DRIVER_FW_PATH_PARAM := "/sys/module/bcmdhd/parameters/firmware_path" +WIFI_DRIVER_FW_PATH_STA := "/vendor/firmware/fw_bcmdhd.bin" +WIFI_DRIVER_FW_PATH_AP := "/vendor/firmware/fw_bcmdhd_apsta.bin" +WIFI_DRIVER_FW_PATH_P2P := "/vendor/firmware/fw_bcmdhd_p2p.bin" + +USE_OPENGL_RENDERER := true + +# TARGET_DISABLE_TRIPLE_BUFFERING can be used to disable triple buffering +# on per target basis. On crespo it is possible to do so in theory +# to save memory, however, there are currently some limitations in the +# OpenGL ES driver that in conjunction with disable triple-buffering +# would hurt performance significantly (see b/6016711) +TARGET_DISABLE_TRIPLE_BUFFERING := false + +BOARD_ALLOW_EGL_HIBERNATION := true + diff --git a/board-info.txt b/board-info.txt index 5f44dd5..65f0e46 100644 --- a/board-info.txt +++ b/board-info.txt @@ -1,3 +1,4 @@ require board=herring -require version-bootloader=I9020XXKA3|I9020XXKI1|I9020XXKL1 -require version-baseband=I9020XXKI1|I9020UCKB2|I9020UCKD1|I9020UCKF1|I9020UCKJ1|I9020KRKB3|M200KRKC1 +require version-bootloader=I9020XXKL1|I9020XXLC2 +require version-baseband=I9020XXKI1|I9020UCKJ1|M200KRKC1 + diff --git a/cypress-touchkey.kl b/cypress-touchkey.kl index c884476..386bcab 100644 --- a/cypress-touchkey.kl +++ b/cypress-touchkey.kl @@ -15,4 +15,4 @@ key 139 MENU VIRTUAL key 102 HOME VIRTUAL key 158 BACK VIRTUAL -key 217 SEARCH VIRTUAL +key 217 ASSIST VIRTUAL @@ -36,7 +36,7 @@ # These are the hardware-specific features PRODUCT_COPY_FILES := \ - frameworks/base/data/etc/android.hardware.telephony.gsm.xml:system/etc/permissions/android.hardware.telephony.gsm.xml + frameworks/native/data/etc/android.hardware.telephony.gsm.xml:system/etc/permissions/android.hardware.telephony.gsm.xml # GPS config PRODUCT_COPY_FILES += \ diff --git a/device_base.mk b/device_base.mk index 45e6adb..edd2c77 100644 --- a/device_base.mk +++ b/device_base.mk @@ -51,6 +51,7 @@ PRODUCT_COPY_FILES := \ PRODUCT_COPY_FILES += \ device/samsung/crespo/init.herring.rc:root/init.herring.rc \ device/samsung/crespo/init.herring.usb.rc:root/init.herring.usb.rc \ + device/samsung/crespo/fstab.herring:root/fstab.herring \ device/samsung/crespo/ueventd.herring.rc:root/ueventd.herring.rc # Prebuilt kl and kcm keymaps @@ -91,13 +92,13 @@ PRODUCT_COPY_FILES += \ # file that declares the MIFARE NFC constant PRODUCT_COPY_FILES += \ - device/sample/nxp/com.nxp.mifare.xml:system/etc/permissions/com.nxp.mifare.xml + frameworks/native/data/etc/com.nxp.mifare.xml:system/etc/permissions/com.nxp.mifare.xml # NFC EXTRAS add-on API PRODUCT_PACKAGES += \ com.android.nfc_extras PRODUCT_COPY_FILES += \ - frameworks/base/nfc-extras/com.android.nfc_extras.xml:system/etc/permissions/com.android.nfc_extras.xml + frameworks/native/data/etc/com.android.nfc_extras.xml:system/etc/permissions/com.android.nfc_extras.xml # NFCEE access control ifeq ($(TARGET_BUILD_VARIANT),user) @@ -123,7 +124,8 @@ PRODUCT_CHARACTERISTICS := nosdcard # These are the OpenMAX IL configuration files PRODUCT_COPY_FILES += \ device/samsung/crespo/sec_mm/sec_omx/sec_omx_core/secomxregistry:system/etc/secomxregistry \ - device/samsung/crespo/media_profiles.xml:system/etc/media_profiles.xml + device/samsung/crespo/media_profiles.xml:system/etc/media_profiles.xml \ + device/samsung/crespo/media_codecs.xml:system/etc/media_codecs.xml # These are the OpenMAX IL modules @@ -149,7 +151,10 @@ PRODUCT_PACKAGES += \ audio_policy.herring \ audio.primary.herring \ audio.a2dp.default \ - libaudioutils + audio.usb.default + +PRODUCT_COPY_FILES += \ + device/samsung/crespo/libaudio/audio_policy.conf:system/etc/audio_policy.conf # NFC PRODUCT_PACKAGES += \ @@ -177,18 +182,18 @@ PRODUCT_COPY_FILES += \ # These are the hardware-specific features PRODUCT_COPY_FILES += \ - frameworks/base/data/etc/handheld_core_hardware.xml:system/etc/permissions/handheld_core_hardware.xml \ - frameworks/base/data/etc/android.hardware.camera.flash-autofocus.xml:system/etc/permissions/android.hardware.camera.flash-autofocus.xml \ - frameworks/base/data/etc/android.hardware.camera.front.xml:system/etc/permissions/android.hardware.camera.front.xml \ - frameworks/base/data/etc/android.hardware.location.gps.xml:system/etc/permissions/android.hardware.location.gps.xml \ - frameworks/base/data/etc/android.hardware.wifi.xml:system/etc/permissions/android.hardware.wifi.xml \ - frameworks/base/data/etc/android.hardware.sensor.proximity.xml:system/etc/permissions/android.hardware.sensor.proximity.xml \ - frameworks/base/data/etc/android.hardware.sensor.light.xml:system/etc/permissions/android.hardware.sensor.light.xml \ - frameworks/base/data/etc/android.hardware.sensor.gyroscope.xml:system/etc/permissions/android.hardware.sensor.gyroscope.xml \ - frameworks/base/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:system/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml \ - frameworks/base/data/etc/android.hardware.nfc.xml:system/etc/permissions/android.hardware.nfc.xml \ - frameworks/base/data/etc/android.software.sip.voip.xml:system/etc/permissions/android.software.sip.voip.xml \ - frameworks/base/data/etc/android.hardware.usb.accessory.xml:system/etc/permissions/android.hardware.usb.accessory.xml \ + frameworks/native/data/etc/handheld_core_hardware.xml:system/etc/permissions/handheld_core_hardware.xml \ + frameworks/native/data/etc/android.hardware.camera.flash-autofocus.xml:system/etc/permissions/android.hardware.camera.flash-autofocus.xml \ + frameworks/native/data/etc/android.hardware.camera.front.xml:system/etc/permissions/android.hardware.camera.front.xml \ + frameworks/native/data/etc/android.hardware.location.gps.xml:system/etc/permissions/android.hardware.location.gps.xml \ + frameworks/native/data/etc/android.hardware.wifi.xml:system/etc/permissions/android.hardware.wifi.xml \ + frameworks/native/data/etc/android.hardware.sensor.proximity.xml:system/etc/permissions/android.hardware.sensor.proximity.xml \ + frameworks/native/data/etc/android.hardware.sensor.light.xml:system/etc/permissions/android.hardware.sensor.light.xml \ + frameworks/native/data/etc/android.hardware.sensor.gyroscope.xml:system/etc/permissions/android.hardware.sensor.gyroscope.xml \ + frameworks/native/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:system/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml \ + frameworks/native/data/etc/android.hardware.nfc.xml:system/etc/permissions/android.hardware.nfc.xml \ + frameworks/native/data/etc/android.software.sip.voip.xml:system/etc/permissions/android.software.sip.voip.xml \ + frameworks/native/data/etc/android.hardware.usb.accessory.xml:system/etc/permissions/android.hardware.usb.accessory.xml \ packages/wallpapers/LivePicker/android.software.live_wallpaper.xml:system/etc/permissions/android.software.live_wallpaper.xml # The OpenGL ES API level that is natively supported by this device. @@ -200,14 +205,13 @@ PRODUCT_PROPERTY_OVERRIDES := \ # Note that the only such settings should be the ones that are too low-level to # be reachable from resources or other mechanisms. PRODUCT_PROPERTY_OVERRIDES += \ - wifi.interface=wlan0 \ - wifi.supplicant_scan_interval=15 + wifi.interface=wlan0 # Set default USB interface PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \ persist.sys.usb.config=mass_storage -include frameworks/base/build/phone-hdpi-512-dalvik-heap.mk +include frameworks/native/build/phone-hdpi-512-dalvik-heap.mk # we have enough storage space to hold precise GC data PRODUCT_TAGS += dalvik.gc.type-precise @@ -216,3 +220,6 @@ PRODUCT_TAGS += dalvik.gc.type-precise PRODUCT_AAPT_CONFIG := normal hdpi $(call inherit-product-if-exists, vendor/nxp/pn544/nxp-pn544-fw-vendor.mk) + +WIFI_BAND := 802_11_BG +$(call inherit-product-if-exists, hardware/broadcom/wlan/bcmdhd/firmware/bcm4329/device-bcm.mk) @@ -1 +1,2 @@ -0 1 POWERVR_SGX540_120 +0 0 POWERVR_SGX540_120 + diff --git a/extract-files.sh b/extract-files.sh deleted file mode 100755 index 4e026bb..0000000 --- a/extract-files.sh +++ /dev/null @@ -1,119 +0,0 @@ -#!/bin/sh - -# Copyright (C) 2010 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# This file is generated by device/common/generate-blob-scripts.sh - DO NOT EDIT - -DEVICE=crespo -MANUFACTURER=samsung - -mkdir -p ../../../vendor/$MANUFACTURER/$DEVICE/proprietary -adb pull /system/lib/libsecril-client.so ../../../vendor/$MANUFACTURER/$DEVICE/proprietary/libsecril-client.so -adb pull /system/vendor/bin/gpsd ../../../vendor/$MANUFACTURER/$DEVICE/proprietary/gpsd -chmod 755 ../../../vendor/$MANUFACTURER/$DEVICE/proprietary/gpsd -adb pull /system/vendor/bin/pvrsrvinit ../../../vendor/$MANUFACTURER/$DEVICE/proprietary/pvrsrvinit -chmod 755 ../../../vendor/$MANUFACTURER/$DEVICE/proprietary/pvrsrvinit -adb pull /system/vendor/firmware/bcm4329.hcd ../../../vendor/$MANUFACTURER/$DEVICE/proprietary/bcm4329.hcd -adb pull /system/vendor/firmware/cypress-touchkey.bin ../../../vendor/$MANUFACTURER/$DEVICE/proprietary/cypress-touchkey.bin -adb pull /system/vendor/firmware/libpn544_fw.so ../../../vendor/$MANUFACTURER/$DEVICE/proprietary/libpn544_fw.so -adb pull /system/vendor/lib/egl/libEGL_POWERVR_SGX540_120.so ../../../vendor/$MANUFACTURER/$DEVICE/proprietary/libEGL_POWERVR_SGX540_120.so -adb pull /system/vendor/lib/egl/libGLESv1_CM_POWERVR_SGX540_120.so ../../../vendor/$MANUFACTURER/$DEVICE/proprietary/libGLESv1_CM_POWERVR_SGX540_120.so -adb pull /system/vendor/lib/egl/libGLESv2_POWERVR_SGX540_120.so ../../../vendor/$MANUFACTURER/$DEVICE/proprietary/libGLESv2_POWERVR_SGX540_120.so -adb pull /system/vendor/lib/hw/gps.s5pc110.so ../../../vendor/$MANUFACTURER/$DEVICE/proprietary/gps.s5pc110.so -adb pull /system/vendor/lib/hw/gralloc.s5pc110.so ../../../vendor/$MANUFACTURER/$DEVICE/proprietary/gralloc.s5pc110.so -adb pull /system/vendor/lib/libakm.so ../../../vendor/$MANUFACTURER/$DEVICE/proprietary/libakm.so -adb pull /system/vendor/lib/libglslcompiler.so ../../../vendor/$MANUFACTURER/$DEVICE/proprietary/libglslcompiler.so -adb pull /system/vendor/lib/libIMGegl.so ../../../vendor/$MANUFACTURER/$DEVICE/proprietary/libIMGegl.so -adb pull /system/vendor/lib/libpvr2d.so ../../../vendor/$MANUFACTURER/$DEVICE/proprietary/libpvr2d.so -adb pull /system/vendor/lib/libpvrANDROID_WSEGL.so ../../../vendor/$MANUFACTURER/$DEVICE/proprietary/libpvrANDROID_WSEGL.so -adb pull /system/vendor/lib/libPVRScopeServices.so ../../../vendor/$MANUFACTURER/$DEVICE/proprietary/libPVRScopeServices.so -adb pull /system/vendor/lib/libsec-ril.so ../../../vendor/$MANUFACTURER/$DEVICE/proprietary/libsec-ril.so -adb pull /system/vendor/lib/libsrv_init.so ../../../vendor/$MANUFACTURER/$DEVICE/proprietary/libsrv_init.so -adb pull /system/vendor/lib/libsrv_um.so ../../../vendor/$MANUFACTURER/$DEVICE/proprietary/libsrv_um.so -adb pull /system/vendor/lib/libusc.so ../../../vendor/$MANUFACTURER/$DEVICE/proprietary/libusc.so - -(cat << EOF) | sed s/__DEVICE__/$DEVICE/g | sed s/__MANUFACTURER__/$MANUFACTURER/g > ../../../vendor/$MANUFACTURER/$DEVICE/device-vendor-blobs.mk -# Copyright (C) 2010 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# This file is generated by device/__MANUFACTURER__/__DEVICE__/extract-files.sh - DO NOT EDIT - -# Prebuilt libraries that are needed to build open-source libraries -PRODUCT_COPY_FILES := \\ - vendor/__MANUFACTURER__/__DEVICE__/proprietary/libsecril-client.so:obj/lib/libsecril-client.so - -# All the blobs necessary for crespo -PRODUCT_COPY_FILES += \\ - vendor/__MANUFACTURER__/__DEVICE__/proprietary/libsecril-client.so:system/lib/libsecril-client.so \\ - vendor/__MANUFACTURER__/__DEVICE__/proprietary/gpsd:system/vendor/bin/gpsd \\ - vendor/__MANUFACTURER__/__DEVICE__/proprietary/pvrsrvinit:system/vendor/bin/pvrsrvinit \\ - vendor/__MANUFACTURER__/__DEVICE__/proprietary/bcm4329.hcd:system/vendor/firmware/bcm4329.hcd \\ - vendor/__MANUFACTURER__/__DEVICE__/proprietary/cypress-touchkey.bin:system/vendor/firmware/cypress-touchkey.bin \\ - vendor/__MANUFACTURER__/__DEVICE__/proprietary/libpn544_fw.so:system/vendor/firmware/libpn544_fw.so \\ - vendor/__MANUFACTURER__/__DEVICE__/proprietary/libEGL_POWERVR_SGX540_120.so:system/vendor/lib/egl/libEGL_POWERVR_SGX540_120.so \\ - vendor/__MANUFACTURER__/__DEVICE__/proprietary/libGLESv1_CM_POWERVR_SGX540_120.so:system/vendor/lib/egl/libGLESv1_CM_POWERVR_SGX540_120.so \\ - vendor/__MANUFACTURER__/__DEVICE__/proprietary/libGLESv2_POWERVR_SGX540_120.so:system/vendor/lib/egl/libGLESv2_POWERVR_SGX540_120.so \\ - vendor/__MANUFACTURER__/__DEVICE__/proprietary/gps.s5pc110.so:system/vendor/lib/hw/gps.s5pc110.so \\ - vendor/__MANUFACTURER__/__DEVICE__/proprietary/gralloc.s5pc110.so:system/vendor/lib/hw/gralloc.s5pc110.so \\ - vendor/__MANUFACTURER__/__DEVICE__/proprietary/libakm.so:system/vendor/lib/libakm.so \\ - vendor/__MANUFACTURER__/__DEVICE__/proprietary/libglslcompiler.so:system/vendor/lib/libglslcompiler.so \\ - vendor/__MANUFACTURER__/__DEVICE__/proprietary/libIMGegl.so:system/vendor/lib/libIMGegl.so \\ - vendor/__MANUFACTURER__/__DEVICE__/proprietary/libpvr2d.so:system/vendor/lib/libpvr2d.so \\ - vendor/__MANUFACTURER__/__DEVICE__/proprietary/libpvrANDROID_WSEGL.so:system/vendor/lib/libpvrANDROID_WSEGL.so \\ - vendor/__MANUFACTURER__/__DEVICE__/proprietary/libPVRScopeServices.so:system/vendor/lib/libPVRScopeServices.so \\ - vendor/__MANUFACTURER__/__DEVICE__/proprietary/libsec-ril.so:system/vendor/lib/libsec-ril.so \\ - vendor/__MANUFACTURER__/__DEVICE__/proprietary/libsrv_init.so:system/vendor/lib/libsrv_init.so \\ - vendor/__MANUFACTURER__/__DEVICE__/proprietary/libsrv_um.so:system/vendor/lib/libsrv_um.so \\ - vendor/__MANUFACTURER__/__DEVICE__/proprietary/libusc.so:system/vendor/lib/libusc.so - - -EOF - -(cat << EOF) | sed s/__DEVICE__/$DEVICE/g | sed s/__MANUFACTURER__/$MANUFACTURER/g > ../../../vendor/$MANUFACTURER/$DEVICE/proprietary/Android.mk -# Copyright (C) 2011 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# This file is generated by device/__MANUFACTURER__/__DEVICE__/extract-files.sh - DO NOT EDIT - -ifeq (\$(TARGET_DEVICE),crespo) -LOCAL_PATH:=\$(call my-dir) - -endif - -EOF - -./setup-makefiles.sh diff --git a/factory-images/generate-factory-images-package.sh b/factory-images/generate-factory-images-package.sh index 44477ee..3a93723 100755 --- a/factory-images/generate-factory-images-package.sh +++ b/factory-images/generate-factory-images-package.sh @@ -14,6 +14,7 @@ # See the License for the specific language governing permissions and # limitations under the License. +# 189904 = GRK39F # 299849 = IMM76D PRODUCT=soju @@ -24,93 +25,25 @@ RADIOSRC=radio.xx.img BOOTLOADER=i9020xxkl1 RADIO=i9020xxki1 -if test "$RADIOSRC" = "" -then - RADIOSRC=radio.img -fi -rm -rf tmp -mkdir -p tmp/$PRODUCT-$VERSION -unzip -d tmp signed-$PRODUCT-target_files-$BUILD.zip RADIO/$RADIOSRC RADIO/bootloader.img -if test "$CDMARADIO" != "" -then - unzip -d tmp signed-$PRODUCT-target_files-$BUILD.zip RADIO/radio-cdma.img -fi -cp signed-$PRODUCT-img-$BUILD.zip tmp/$PRODUCT-$VERSION/image-$PRODUCT-$VERSION.zip -cp tmp/RADIO/bootloader.img tmp/$PRODUCT-$VERSION/bootloader-$DEVICE-$BOOTLOADER.img -cp tmp/RADIO/$RADIOSRC tmp/$PRODUCT-$VERSION/radio-$DEVICE-$RADIO.img -if test "$CDMARADIO" != "" -then - cp tmp/RADIO/radio-cdma.img tmp/$PRODUCT-$VERSION/radio-cdma-$DEVICE-$CDMARADIO.img -fi -cat > tmp/$PRODUCT-$VERSION/flash-all.sh << EOF -#!/bin/sh +source ../../../common/generate-factory-images-common.sh -# Copyright (C) 2011 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. +PRODUCT=sojua +DEVICE=crespo +BUILD=299849 +VERSION=imm76d +RADIOSRC=radio.uc.img +BOOTLOADER=i9020xxkl1 +RADIO=i9020uckj1 -fastboot flash bootloader bootloader-$DEVICE-$BOOTLOADER.img -fastboot reboot-bootloader -sleep 5 -fastboot flash radio radio-$DEVICE-$RADIO.img -fastboot reboot-bootloader -sleep 5 -EOF -if test "$CDMARADIO" != "" -then -cat >> tmp/$PRODUCT-$VERSION/flash-all.sh << EOF -fastboot flash radio-cdma radio-cdma-$DEVICE-$CDMARADIO.img -fastboot reboot-bootloader -sleep 5 -EOF -fi -cat >> tmp/$PRODUCT-$VERSION/flash-all.sh << EOF -fastboot -w update image-$PRODUCT-$VERSION.zip -EOF -chmod a+x tmp/$PRODUCT-$VERSION/flash-all.sh -cat > tmp/$PRODUCT-$VERSION/flash-base.sh << EOF -#!/bin/sh +source ../../../common/generate-factory-images-common.sh -# Copyright (C) 2011 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. +PRODUCT=sojuk +DEVICE=crespo +BUILD=189904 +VERSION=grk39f +RADIOSRC=radio.kr.img +BOOTLOADER=i9020xxka3 +RADIO=m200krkc1 + +source ../../../common/generate-factory-images-common.sh -fastboot flash bootloader bootloader-$DEVICE-$BOOTLOADER.img -fastboot reboot-bootloader -sleep 5 -fastboot flash radio radio-$DEVICE-$RADIO.img -fastboot reboot-bootloader -sleep 5 -EOF -if test "$CDMARADIO" != "" -then -cat >> tmp/$PRODUCT-$VERSION/flash-base.sh << EOF -fastboot flash radio-cdma radio-cdma-$DEVICE-$CDMARADIO.img -fastboot reboot-bootloader -sleep 5 -EOF -fi -chmod a+x tmp/$PRODUCT-$VERSION/flash-base.sh -(cd tmp ; tar zcvf ../$PRODUCT-$VERSION-factory.tgz $PRODUCT-$VERSION) -mv $PRODUCT-$VERSION-factory.tgz $PRODUCT-$VERSION-factory-$(sha1sum < $PRODUCT-$VERSION-factory.tgz | cut -b -8).tgz -rm -rf tmp diff --git a/fstab.herring b/fstab.herring new file mode 100644 index 0000000..0eca316 --- /dev/null +++ b/fstab.herring @@ -0,0 +1,9 @@ +# Android fstab file. +#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags> +# The filesystem that contains the filesystem checker binary (typically /system) cannot +# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK + + +/dev/block/platform/s3c-sdhci.0/by-name/system /system ext4 ro wait +/dev/block/platform/s3c-sdhci.0/by-name/userdata /data ext4 noatime,nosuid,nodev,nomblk_io_submit,errors=panic wait,encryptable=/efs/userdata_footer + diff --git a/full_crespo.mk b/full_crespo.mk index a6b7cd3..13f9020 100644 --- a/full_crespo.mk +++ b/full_crespo.mk @@ -22,10 +22,6 @@ # Get the long list of APNs PRODUCT_COPY_FILES := device/sample/etc/apns-full-conf.xml:system/etc/apns-conf.xml -# Camera -PRODUCT_PACKAGES := \ - Camera - # Live Wallpapers PRODUCT_PACKAGES += \ LiveWallpapers \ @@ -1,4 +1,3 @@ -NTP_SERVER=north-america.pool.ntp.org
XTRA_SERVER_1=http://xtra1.gpsonextra.net/xtra.bin
XTRA_SERVER_2=http://xtra2.gpsonextra.net/xtra.bin
XTRA_SERVER_3=http://xtra3.gpsonextra.net/xtra.bin
diff --git a/include/sec_lcd.h b/include/sec_lcd.h index b5451b7..6a3a34a 100755 --- a/include/sec_lcd.h +++ b/include/sec_lcd.h @@ -33,7 +33,7 @@ struct secfb_user_window { #define FBIO_WAITFORVSYNC _IO ('F', 32) #define SECFB_WIN_POSITION _IOW ('F', 203, struct secfb_user_window) - +#define S3CFB_SET_VSYNC_INT _IOW ('F', 206, uint32_t) #define DEFAULT_LCD_WIDTH (480) #define DEFAULT_LCD_HEIGHT (800) diff --git a/include/sec_utils.h b/include/sec_utils.h index 80b4493..3e41afe 100644 --- a/include/sec_utils.h +++ b/include/sec_utils.h @@ -130,7 +130,7 @@ inline int HAL_PIXEL_FORMAT_2_V4L2_PIX(int HAL_PIXEL_FORMAT) break; default: - LOGE("%s::unmatched HAL_PIXEL_FORMAT color_space(0x%x)\n", + ALOGE("%s::unmatched HAL_PIXEL_FORMAT color_space(0x%x)\n", __func__, HAL_PIXEL_FORMAT); break; } @@ -219,7 +219,7 @@ inline int V4L2_PIX_2_HAL_PIXEL_FORMAT(int V4L2_PIX) break; default: - LOGE("%s::unmatched V4L2_PIX color_space(%d)\n", + ALOGE("%s::unmatched V4L2_PIX color_space(%d)\n", __func__, V4L2_PIX); break; } @@ -320,7 +320,7 @@ inline unsigned int FRAME_SIZE(int HAL_PIXEL_FORMAT, int w, int h) break; default: - LOGD("%s::no matching source colorformat(0x%x), w(%d), h(%d) fail\n", + ALOGD("%s::no matching source colorformat(0x%x), w(%d), h(%d) fail\n", __func__, HAL_PIXEL_FORMAT, w, h); break; } diff --git a/init.herring.rc b/init.herring.rc index 45ae2d2..4a1ee38 100755 --- a/init.herring.rc +++ b/init.herring.rc @@ -8,8 +8,6 @@ on boot setprop ro.radio.noril yes setprop ro.bt.bdaddr_path "/efs/bluetooth/bt_addr" - setprop ro.crypto.keyfile.userdata /efs/userdata_footer - # fake some battery state setprop status.battery.state Slow setprop status.battery.level 5 @@ -37,12 +35,13 @@ on fs mount yaffs2 mtd@efs /efs noatime nosuid nodev chmod 770 /efs/bluetooth chmod 770 /efs/imei - mount ext4 /dev/block/platform/s3c-sdhci.0/by-name/system /system wait ro - mount ext4 /dev/block/platform/s3c-sdhci.0/by-name/userdata /data wait noatime nosuid nodev nomblk_io_submit + mount_all /fstab.herring - export EXTERNAL_STORAGE /mnt/sdcard - mkdir /mnt/sdcard 0000 system system - symlink /mnt/sdcard /sdcard + export EXTERNAL_STORAGE /storage/sdcard0 + mkdir /storage 0050 system sdcard_r + mkdir /storage/sdcard0 0000 system system + symlink /storage/sdcard0 /sdcard + symlink /storage/sdcard0 /mnt/sdcard # permissions for bluetooth. chown bluetooth bluetooth /efs/bluetooth @@ -65,6 +64,11 @@ on fs # Permissions for System Server and daemons. chown system system /sys/class/backlight/s5p_bl/brightness +# Configure and enable KSM + write /sys/kernel/mm/ksm/pages_to_scan 100 + write /sys/kernel/mm/ksm/sleep_millisecs 500 + write /sys/kernel/mm/ksm/run 1 + on post-fs-data # wi-fi mkdir /data/misc/wifi/sockets 0770 wifi wifi @@ -96,7 +100,7 @@ service pvrsrvinit /system/vendor/bin/pvrsrvinit group root oneshot -service wpa_supplicant /system/bin/wpa_supplicant -Dwext -iwlan0 +service wpa_supplicant /system/bin/wpa_supplicant -iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf -e/data/misc/wifi/entropy.bin class main socket wpa_wlan0 dgram 0660 wifi wifi disabled @@ -104,7 +108,7 @@ service wpa_supplicant /system/bin/wpa_supplicant -Dwext -iwlan0 # DHCPCD # wi-fi -service dhcpcd_wlan0 /system/bin/dhcpcd -ABKL +service dhcpcd_wlan0 /system/bin/dhcpcd -aABKL class main disabled oneshot diff --git a/init.herring.usb.rc b/init.herring.usb.rc index b06a46e..20424d6 100644 --- a/init.herring.usb.rc +++ b/init.herring.usb.rc @@ -1,7 +1,7 @@ on boot - write /sys/class/android_usb/android0/iManufacturer $ro.product.manufacturer - write /sys/class/android_usb/android0/iProduct $ro.product.model - write /sys/class/android_usb/android0/iSerial $ro.serialno + write /sys/class/android_usb/android0/iManufacturer ${ro.product.manufacturer} + write /sys/class/android_usb/android0/iProduct ${ro.product.model} + write /sys/class/android_usb/android0/iSerial ${ro.serialno} write /sys/class/android_usb/android0/f_mass_storage/inquiry_string "Google Nexus S 0100" write /sys/class/android_usb/android0/f_rndis/manufacturer Samsung write /sys/class/android_usb/android0/f_rndis/vendorID 18d1 @@ -11,34 +11,34 @@ on property:sys.usb.config=mass_storage write /sys/class/android_usb/android0/enable 0 write /sys/class/android_usb/android0/idVendor 18d1 write /sys/class/android_usb/android0/idProduct 4e21 - write /sys/class/android_usb/android0/functions $sys.usb.config + write /sys/class/android_usb/android0/functions ${sys.usb.config} write /sys/class/android_usb/android0/enable 1 - setprop sys.usb.state $sys.usb.config + setprop sys.usb.state ${sys.usb.config} on property:sys.usb.config=mass_storage,adb write /sys/class/android_usb/android0/enable 0 write /sys/class/android_usb/android0/idVendor 18d1 write /sys/class/android_usb/android0/idProduct 4e22 - write /sys/class/android_usb/android0/functions $sys.usb.config + write /sys/class/android_usb/android0/functions ${sys.usb.config} write /sys/class/android_usb/android0/enable 1 start adbd - setprop sys.usb.state $sys.usb.config + setprop sys.usb.state ${sys.usb.config} on property:sys.usb.config=rndis write /sys/class/android_usb/android0/enable 0 write /sys/class/android_usb/android0/idVendor 18d1 write /sys/class/android_usb/android0/idProduct 4e23 - write /sys/class/android_usb/android0/functions $sys.usb.config + write /sys/class/android_usb/android0/functions ${sys.usb.config} write /sys/class/android_usb/android0/bDeviceClass 224 write /sys/class/android_usb/android0/enable 1 - setprop sys.usb.state $sys.usb.config + setprop sys.usb.state ${sys.usb.config} on property:sys.usb.config=rndis,adb write /sys/class/android_usb/android0/enable 0 write /sys/class/android_usb/android0/idVendor 18d1 write /sys/class/android_usb/android0/idProduct 4e24 - write /sys/class/android_usb/android0/functions $sys.usb.config + write /sys/class/android_usb/android0/functions ${sys.usb.config} write /sys/class/android_usb/android0/bDeviceClass 224 write /sys/class/android_usb/android0/enable 1 start adbd - setprop sys.usb.state $sys.usb.config + setprop sys.usb.state ${sys.usb.config} Binary files differdiff --git a/libaudio/Android.mk b/libaudio/Android.mk index cbb925c..06dcf0d 100644 --- a/libaudio/Android.mk +++ b/libaudio/Android.mk @@ -19,23 +19,19 @@ LOCAL_MODULE_TAGS := optional LOCAL_SHARED_LIBRARIES += libdl LOCAL_C_INCLUDES += \ external/tinyalsa/include \ - system/media/audio_effects/include \ - system/media/audio_utils/include + $(call include-path-for, audio-effects) \ + $(call include-path-for, audio-utils) include $(BUILD_SHARED_LIBRARY) include $(CLEAR_VARS) LOCAL_SRC_FILES := AudioPolicyManager.cpp -LOCAL_SHARED_LIBRARIES := libcutils libutils libmedia +LOCAL_SHARED_LIBRARIES := libcutils libutils LOCAL_STATIC_LIBRARIES := libmedia_helper LOCAL_WHOLE_STATIC_LIBRARIES := libaudiopolicy_legacy LOCAL_MODULE := audio_policy.herring LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/hw LOCAL_MODULE_TAGS := optional -ifeq ($(BOARD_HAVE_BLUETOOTH),true) - LOCAL_CFLAGS += -DWITH_A2DP -endif - include $(BUILD_SHARED_LIBRARY) diff --git a/libaudio/AudioHardware.cpp b/libaudio/AudioHardware.cpp index a189510..2169c60 100644 --- a/libaudio/AudioHardware.cpp +++ b/libaudio/AudioHardware.cpp @@ -32,7 +32,6 @@ #include <fcntl.h> #include "AudioHardware.h" -#include <media/AudioRecord.h> #include <audio_effects/effect_aec.h> extern "C" { @@ -124,10 +123,10 @@ AudioHardware::~AudioHardware() if (mSecRilLibHandle) { if (disconnectRILD(mRilClient) != RIL_CLIENT_ERR_SUCCESS) - LOGE("Disconnect_RILD() error"); + ALOGE("Disconnect_RILD() error"); if (closeClientRILD(mRilClient) != RIL_CLIENT_ERR_SUCCESS) - LOGE("CloseClient_RILD() error"); + ALOGE("CloseClient_RILD() error"); mRilClient = 0; @@ -148,7 +147,7 @@ void AudioHardware::loadRILD(void) mSecRilLibHandle = dlopen("libsecril-client.so", RTLD_NOW); if (mSecRilLibHandle) { - LOGV("libsecril-client.so is loaded"); + ALOGV("libsecril-client.so is loaded"); openClientRILD = (HRilClient (*)(void)) dlsym(mSecRilLibHandle, "OpenClient_RILD"); @@ -170,28 +169,28 @@ void AudioHardware::loadRILD(void) if (!openClientRILD || !disconnectRILD || !closeClientRILD || !isConnectedRILD || !connectRILD || !setCallVolume || !setCallAudioPath || !setCallClockSync) { - LOGE("Can't load all functions from libsecril-client.so"); + ALOGE("Can't load all functions from libsecril-client.so"); dlclose(mSecRilLibHandle); mSecRilLibHandle = NULL; } else { mRilClient = openClientRILD(); if (!mRilClient) { - LOGE("OpenClient_RILD() error"); + ALOGE("OpenClient_RILD() error"); dlclose(mSecRilLibHandle); mSecRilLibHandle = NULL; } } } else { - LOGE("Can't load libsecril-client.so"); + ALOGE("Can't load libsecril-client.so"); } } status_t AudioHardware::connectRILDIfRequired(void) { if (!mSecRilLibHandle) { - LOGE("connectIfRequired() lib is not loaded"); + ALOGE("connectIfRequired() lib is not loaded"); return INVALID_OPERATION; } @@ -200,7 +199,7 @@ status_t AudioHardware::connectRILDIfRequired(void) } if (connectRILD(mRilClient) != RIL_CLIENT_ERR_SUCCESS) { - LOGE("Connect_RILD() error"); + ALOGE("Connect_RILD() error"); return INVALID_OPERATION; } @@ -251,7 +250,7 @@ void AudioHardware::closeOutputStream(AudioStreamOut* out) { { Mutex::Autolock lock(mLock); if (mOutput == 0 || mOutput.get() != out) { - LOGW("Attempt to close invalid output stream"); + ALOGW("Attempt to close invalid output stream"); return; } spOut = mOutput; @@ -304,7 +303,7 @@ AudioStreamIn* AudioHardware::openInputStream( *status = rc; } - LOGV("AudioHardware::openInputStream()%p", in.get()); + ALOGV("AudioHardware::openInputStream()%p", in.get()); return in.get(); } @@ -316,13 +315,13 @@ void AudioHardware::closeInputStream(AudioStreamIn* in) { ssize_t index = mInputs.indexOf((AudioStreamInALSA *)in); if (index < 0) { - LOGW("Attempt to close invalid input stream"); + ALOGW("Attempt to close invalid input stream"); return; } spIn = mInputs[index]; mInputs.removeAt(index); } - LOGV("AudioHardware::closeInputStream()%p", in); + ALOGV("AudioHardware::closeInputStream()%p", in); spIn.clear(); } @@ -374,7 +373,7 @@ status_t AudioHardware::setMode(int mode) int prevMode = mMode; status = AudioHardwareBase::setMode(mode); - LOGV("setMode() : new %d, old %d", mMode, prevMode); + ALOGV("setMode() : new %d, old %d", mMode, prevMode); if (status == NO_ERROR) { bool modeNeedsCPActive = mMode == AudioSystem::MODE_IN_CALL || mMode == AudioSystem::MODE_RINGTONE; @@ -389,15 +388,15 @@ status_t AudioHardware::setMode(int mode) if (mMode == AudioSystem::MODE_IN_CALL && !mInCallAudioMode) { if (spOut != 0) { - LOGV("setMode() in call force output standby"); + ALOGV("setMode() in call force output standby"); spOut->doStandby_l(); } if (spIn != 0) { - LOGV("setMode() in call force input standby"); + ALOGV("setMode() in call force input standby"); spIn->doStandby_l(); } - LOGV("setMode() openPcmOut_l()"); + ALOGV("setMode() openPcmOut_l()"); openPcmOut_l(); openMixer_l(); setInputSource_l(AUDIO_SOURCE_DEFAULT); @@ -411,22 +410,22 @@ status_t AudioHardware::setMode(int mode) struct mixer_ctl *ctl= mixer_get_ctl_by_name(mMixer, "Playback Path"); TRACE_DRIVER_OUT if (ctl != NULL) { - LOGV("setMode() reset Playback Path to RCV"); + ALOGV("setMode() reset Playback Path to RCV"); TRACE_DRIVER_IN(DRV_MIXER_SEL) mixer_ctl_set_enum_by_string(ctl, "RCV"); TRACE_DRIVER_OUT } } - LOGV("setMode() closePcmOut_l()"); + ALOGV("setMode() closePcmOut_l()"); closeMixer_l(); closePcmOut_l(); if (spOut != 0) { - LOGV("setMode() off call force output standby"); + ALOGV("setMode() off call force output standby"); spOut->doStandby_l(); } if (spIn != 0) { - LOGV("setMode() off call force input standby"); + ALOGV("setMode() off call force input standby"); spIn->doStandby_l(); } @@ -451,7 +450,7 @@ status_t AudioHardware::setMode(int mode) status_t AudioHardware::setMicMute(bool state) { - LOGV("setMicMute(%d) mMicMute %d", state, mMicMute); + ALOGV("setMicMute(%d) mMicMute %d", state, mMicMute); sp<AudioStreamInALSA> spIn; { AutoMutex lock(mLock); @@ -496,7 +495,7 @@ status_t AudioHardware::setParameters(const String8& keyValuePairs) mBluetoothNrec = true; } else { mBluetoothNrec = false; - LOGD("Turning noise reduction and echo cancellation off for BT " + ALOGD("Turning noise reduction and echo cancellation off for BT " "headset"); } param.remove(String8(BT_NREC_KEY)); @@ -518,7 +517,7 @@ status_t AudioHardware::setParameters(const String8& keyValuePairs) } if (ttyMode != mTTYMode) { - LOGV("new tty mode %d", ttyMode); + ALOGV("new tty mode %d", ttyMode); mTTYMode = ttyMode; if (mOutput != 0 && mMode == AudioSystem::MODE_IN_CALL) { setIncallPath_l(mOutput->device()); @@ -535,7 +534,7 @@ String8 AudioHardware::getParameters(const String8& keys) AudioParameter request = AudioParameter(keys); AudioParameter reply = AudioParameter(); - LOGV("getParameters() %s", keys.string()); + ALOGV("getParameters() %s", keys.string()); return reply.toString(); } @@ -543,16 +542,16 @@ String8 AudioHardware::getParameters(const String8& keys) size_t AudioHardware::getInputBufferSize(uint32_t sampleRate, int format, int channelCount) { if (format != AudioSystem::PCM_16_BIT) { - LOGW("getInputBufferSize bad format: %d", format); + ALOGW("getInputBufferSize bad format: %d", format); return 0; } if (channelCount < 1 || channelCount > 2) { - LOGW("getInputBufferSize bad channel count: %d", channelCount); + ALOGW("getInputBufferSize bad channel count: %d", channelCount); return 0; } if (sampleRate != getInputSampleRate(sampleRate)) { - LOGW("getInputBufferSize bad sample rate: %d", sampleRate); + ALOGW("getInputBufferSize bad sample rate: %d", sampleRate); return 0; } @@ -570,7 +569,7 @@ status_t AudioHardware::setVoiceVolume(float volume) void AudioHardware::setVoiceVolume_l(float volume) { - LOGD("### setVoiceVolume_l"); + ALOGD("### setVoiceVolume_l"); mVoiceVol = volume; @@ -584,33 +583,33 @@ void AudioHardware::setVoiceVolume_l(float volume) int int_volume = (int)(volume * 5); SoundType type; - LOGD("### route(%d) call volume(%f)", device, volume); + ALOGD("### route(%d) call volume(%f)", device, volume); switch (device) { case AudioSystem::DEVICE_OUT_EARPIECE: - LOGD("### earpiece call volume"); + ALOGD("### earpiece call volume"); type = SOUND_TYPE_VOICE; break; case AudioSystem::DEVICE_OUT_SPEAKER: - LOGD("### speaker call volume"); + ALOGD("### speaker call volume"); type = SOUND_TYPE_SPEAKER; break; case AudioSystem::DEVICE_OUT_BLUETOOTH_SCO: case AudioSystem::DEVICE_OUT_BLUETOOTH_SCO_HEADSET: case AudioSystem::DEVICE_OUT_BLUETOOTH_SCO_CARKIT: - LOGD("### bluetooth call volume"); + ALOGD("### bluetooth call volume"); type = SOUND_TYPE_BTVOICE; break; case AudioSystem::DEVICE_OUT_WIRED_HEADSET: case AudioSystem::DEVICE_OUT_WIRED_HEADPHONE: // Use receive path with 3 pole headset. - LOGD("### headset call volume"); + ALOGD("### headset call volume"); type = SOUND_TYPE_HEADSET; break; default: - LOGW("### Call volume setting error!!!0x%08x \n", device); + ALOGW("### Call volume setting error!!!0x%08x \n", device); type = SOUND_TYPE_VOICE; break; } @@ -621,7 +620,7 @@ void AudioHardware::setVoiceVolume_l(float volume) status_t AudioHardware::setMasterVolume(float volume) { - LOGV("Set master volume to %f.\n", volume); + ALOGV("Set master volume to %f.\n", volume); // We return an error code here to let the audioflinger do in-software // volume on top of the maximum volume that we set through the SND API. // return error - software mixer will handle it @@ -704,30 +703,30 @@ status_t AudioHardware::dump(int fd, const Vector<String16>& args) status_t AudioHardware::setIncallPath_l(uint32_t device) { - LOGV("setIncallPath_l: device %x", device); + ALOGV("setIncallPath_l: device %x", device); // Setup sound path for CP clocking if ((mSecRilLibHandle) && (connectRILDIfRequired() == OK)) { if (mMode == AudioSystem::MODE_IN_CALL) { - LOGD("### incall mode route (%d)", device); + ALOGD("### incall mode route (%d)", device); AudioPath path; switch(device){ case AudioSystem::DEVICE_OUT_EARPIECE: - LOGD("### incall mode earpiece route"); + ALOGD("### incall mode earpiece route"); path = SOUND_AUDIO_PATH_HANDSET; break; case AudioSystem::DEVICE_OUT_SPEAKER: - LOGD("### incall mode speaker route"); + ALOGD("### incall mode speaker route"); path = SOUND_AUDIO_PATH_SPEAKER; break; case AudioSystem::DEVICE_OUT_BLUETOOTH_SCO: case AudioSystem::DEVICE_OUT_BLUETOOTH_SCO_HEADSET: case AudioSystem::DEVICE_OUT_BLUETOOTH_SCO_CARKIT: - LOGD("### incall mode bluetooth route %s NR", mBluetoothNrec ? "" : "NO"); + ALOGD("### incall mode bluetooth route %s NR", mBluetoothNrec ? "" : "NO"); if (mBluetoothNrec) { path = SOUND_AUDIO_PATH_BLUETOOTH; } else { @@ -736,15 +735,15 @@ status_t AudioHardware::setIncallPath_l(uint32_t device) break; case AudioSystem::DEVICE_OUT_WIRED_HEADPHONE : - LOGD("### incall mode headphone route"); + ALOGD("### incall mode headphone route"); path = SOUND_AUDIO_PATH_HEADPHONE; break; case AudioSystem::DEVICE_OUT_WIRED_HEADSET : - LOGD("### incall mode headset route"); + ALOGD("### incall mode headset route"); path = SOUND_AUDIO_PATH_HEADSET; break; default: - LOGW("### incall mode Error!! route = [%d]", device); + ALOGW("### incall mode Error!! route = [%d]", device); path = SOUND_AUDIO_PATH_HANDSET; break; } @@ -755,9 +754,9 @@ status_t AudioHardware::setIncallPath_l(uint32_t device) TRACE_DRIVER_IN(DRV_MIXER_GET) struct mixer_ctl *ctl= mixer_get_ctl_by_name(mMixer, "Voice Call Path"); TRACE_DRIVER_OUT - LOGE_IF(ctl == NULL, "setIncallPath_l() could not get mixer ctl"); + ALOGE_IF(ctl == NULL, "setIncallPath_l() could not get mixer ctl"); if (ctl != NULL) { - LOGV("setIncallPath_l() Voice Call Path, (%x)", device); + ALOGV("setIncallPath_l() Voice Call Path, (%x)", device); TRACE_DRIVER_IN(DRV_MIXER_SEL) mixer_ctl_set_enum_by_string(ctl, getVoiceRouteFromDevice(device)); TRACE_DRIVER_OUT @@ -770,10 +769,10 @@ status_t AudioHardware::setIncallPath_l(uint32_t device) struct pcm *AudioHardware::openPcmOut_l() { - LOGD("openPcmOut_l() mPcmOpenCnt: %d", mPcmOpenCnt); + ALOGD("openPcmOut_l() mPcmOpenCnt: %d", mPcmOpenCnt); if (mPcmOpenCnt++ == 0) { if (mPcm != NULL) { - LOGE("openPcmOut_l() mPcmOpenCnt == 0 and mPcm == %p\n", mPcm); + ALOGE("openPcmOut_l() mPcmOpenCnt == 0 and mPcm == %p\n", mPcm); mPcmOpenCnt--; return NULL; } @@ -788,13 +787,14 @@ struct pcm *AudioHardware::openPcmOut_l() start_threshold : 0, stop_threshold : 0, silence_threshold : 0, + avail_min : 0, }; TRACE_DRIVER_IN(DRV_PCM_OPEN) mPcm = pcm_open(0, 0, flags, &config); TRACE_DRIVER_OUT if (!pcm_is_ready(mPcm)) { - LOGE("openPcmOut_l() cannot open pcm_out driver: %s\n", pcm_get_error(mPcm)); + ALOGE("openPcmOut_l() cannot open pcm_out driver: %s\n", pcm_get_error(mPcm)); TRACE_DRIVER_IN(DRV_PCM_CLOSE) pcm_close(mPcm); TRACE_DRIVER_OUT @@ -807,9 +807,9 @@ struct pcm *AudioHardware::openPcmOut_l() void AudioHardware::closePcmOut_l() { - LOGD("closePcmOut_l() mPcmOpenCnt: %d", mPcmOpenCnt); + ALOGD("closePcmOut_l() mPcmOpenCnt: %d", mPcmOpenCnt); if (mPcmOpenCnt == 0) { - LOGE("closePcmOut_l() mPcmOpenCnt == 0"); + ALOGE("closePcmOut_l() mPcmOpenCnt == 0"); return; } @@ -823,10 +823,10 @@ void AudioHardware::closePcmOut_l() struct mixer *AudioHardware::openMixer_l() { - LOGV("openMixer_l() mMixerOpenCnt: %d", mMixerOpenCnt); + ALOGV("openMixer_l() mMixerOpenCnt: %d", mMixerOpenCnt); if (mMixerOpenCnt++ == 0) { if (mMixer != NULL) { - LOGE("openMixer_l() mMixerOpenCnt == 0 and mMixer == %p\n", mMixer); + ALOGE("openMixer_l() mMixerOpenCnt == 0 and mMixer == %p\n", mMixer); mMixerOpenCnt--; return NULL; } @@ -834,7 +834,7 @@ struct mixer *AudioHardware::openMixer_l() mMixer = mixer_open(0); TRACE_DRIVER_OUT if (mMixer == NULL) { - LOGE("openMixer_l() cannot open mixer"); + ALOGE("openMixer_l() cannot open mixer"); mMixerOpenCnt--; return NULL; } @@ -844,9 +844,9 @@ struct mixer *AudioHardware::openMixer_l() void AudioHardware::closeMixer_l() { - LOGV("closeMixer_l() mMixerOpenCnt: %d", mMixerOpenCnt); + ALOGV("closeMixer_l() mMixerOpenCnt: %d", mMixerOpenCnt); if (mMixerOpenCnt == 0) { - LOGE("closeMixer_l() mMixerOpenCnt == 0"); + ALOGE("closeMixer_l() mMixerOpenCnt == 0"); return; } @@ -970,7 +970,7 @@ sp <AudioHardware::AudioStreamInALSA> AudioHardware::getActiveInput_l() status_t AudioHardware::setInputSource_l(audio_source source) { - LOGV("setInputSource_l(%d)", source); + ALOGV("setInputSource_l(%d)", source); if (source != mInputSource) { if ((source == AUDIO_SOURCE_DEFAULT) || (mMode != AudioSystem::MODE_IN_CALL)) { if (mMixer) { @@ -999,7 +999,7 @@ status_t AudioHardware::setInputSource_l(audio_source source) default: return NO_INIT; } - LOGV("mixer_ctl_set_enum_by_string, Input Source, (%s)", sourceName); + ALOGV("mixer_ctl_set_enum_by_string, Input Source, (%s)", sourceName); TRACE_DRIVER_IN(DRV_MIXER_SEL) mixer_ctl_set_enum_by_string(ctl, sourceName); TRACE_DRIVER_OUT @@ -1015,7 +1015,7 @@ struct echo_reference_itfe *AudioHardware::getEchoReference(audio_format_t forma uint32_t channelCount, uint32_t samplingRate) { - LOGV("AudioHardware::getEchoReference %p", mEchoReference); + ALOGV("AudioHardware::getEchoReference %p", mEchoReference); releaseEchoReference(mEchoReference); if (mOutput != NULL) { uint32_t wrChannelCount = popcount(mOutput->channels()); @@ -1037,7 +1037,7 @@ struct echo_reference_itfe *AudioHardware::getEchoReference(audio_format_t forma void AudioHardware::releaseEchoReference(struct echo_reference_itfe *reference) { - LOGV("AudioHardware::releaseEchoReference %p", mEchoReference); + ALOGV("AudioHardware::releaseEchoReference %p", mEchoReference); if (mEchoReference != NULL && reference == mEchoReference) { if (mOutput != NULL) { mOutput->removeEchoReference(reference); @@ -1112,7 +1112,7 @@ int AudioHardware::AudioStreamOutALSA::getPlaybackDelay(size_t frames, buffer->time_stamp.tv_sec = 0; buffer->time_stamp.tv_nsec = 0; buffer->delay_ns = 0; - LOGV("getPlaybackDelay(): pcm_get_htimestamp error, setting playbackTimestamp to 0"); + ALOGV("getPlaybackDelay(): pcm_get_htimestamp error, setting playbackTimestamp to 0"); return rc; } @@ -1123,7 +1123,7 @@ int AudioHardware::AudioStreamOutALSA::getPlaybackDelay(size_t frames, // sample being written. long delayNs = (long)(((int64_t)(kernelFr + frames)* 1000000000) /AUDIO_HW_OUT_SAMPLERATE); - LOGV("AudioStreamOutALSA::getPlaybackDelay delayNs: [%ld], "\ + ALOGV("AudioStreamOutALSA::getPlaybackDelay delayNs: [%ld], "\ "kernelFr:[%d], frames:[%d], buffSize:[%d], time_stamp:[%ld].[%ld]", delayNs, (int)kernelFr, (int)frames, pcm_get_buffer_size(mPcm), (long)buffer->time_stamp.tv_sec, buffer->time_stamp.tv_nsec); @@ -1135,7 +1135,7 @@ int AudioHardware::AudioStreamOutALSA::getPlaybackDelay(size_t frames, ssize_t AudioHardware::AudioStreamOutALSA::write(const void* buffer, size_t bytes) { - LOGV("-----AudioStreamInALSA::write(%p, %d) START", buffer, (int)bytes); + ALOGV("-----AudioStreamInALSA::write(%p, %d) START", buffer, (int)bytes); status_t status = NO_INIT; const uint8_t* p = static_cast<const uint8_t*>(buffer); int ret; @@ -1155,7 +1155,7 @@ ssize_t AudioHardware::AudioStreamOutALSA::write(const void* buffer, size_t byte if (mStandby) { AutoMutex hwLock(mHardware->lock()); - LOGD("AudioHardware pcm playback is exiting standby."); + ALOGD("AudioHardware pcm playback is exiting standby."); sp<AudioStreamInALSA> spIn = mHardware->getActiveInput_l(); while (spIn != 0) { int cnt = spIn->prepareLock(); @@ -1167,7 +1167,7 @@ ssize_t AudioHardware::AudioStreamOutALSA::write(const void* buffer, size_t byte // while the mutex is released if ((spIn == mHardware->getActiveInput_l()) && (cnt == spIn->standbyCnt())) { - LOGV("AudioStreamOutALSA::write() force input standby"); + ALOGV("AudioStreamOutALSA::write() force input standby"); spIn->close_l(); break; } @@ -1206,10 +1206,10 @@ ssize_t AudioHardware::AudioStreamOutALSA::write(const void* buffer, size_t byte TRACE_DRIVER_OUT if (ret == 0) { - LOGV("-----AudioStreamInALSA::write(%p, %d) END", buffer, (int)bytes); + ALOGV("-----AudioStreamInALSA::write(%p, %d) END", buffer, (int)bytes); return bytes; } - LOGW("write error: %d", errno); + ALOGW("write error: %d", errno); status = -errno; } Error: @@ -1217,7 +1217,7 @@ Error: // Simulate audio output timing in case of error usleep((((bytes * 1000) / frameSize()) * 1000) / sampleRate()); - LOGE("AudioStreamOutALSA::write END WITH ERROR !!!!!!!!!(%p, %u)", buffer, bytes); + ALOGE("AudioStreamOutALSA::write END WITH ERROR !!!!!!!!!(%p, %u)", buffer, bytes); return status; } @@ -1245,7 +1245,7 @@ void AudioHardware::AudioStreamOutALSA::doStandby_l() mStandbyCnt++; if (!mStandby) { - LOGD("AudioHardware pcm playback is going to standby."); + ALOGD("AudioHardware pcm playback is going to standby."); // stop echo reference capture if (mEchoReference != NULL) { mEchoReference->write(mEchoReference, NULL); @@ -1271,7 +1271,7 @@ void AudioHardware::AudioStreamOutALSA::close_l() status_t AudioHardware::AudioStreamOutALSA::open_l() { - LOGV("open pcm_out driver"); + ALOGV("open pcm_out driver"); mPcm = mHardware->openPcmOut_l(); if (mPcm == NULL) { return NO_INIT; @@ -1279,14 +1279,14 @@ status_t AudioHardware::AudioStreamOutALSA::open_l() mMixer = mHardware->openMixer_l(); if (mMixer) { - LOGV("open playback normal"); + ALOGV("open playback normal"); TRACE_DRIVER_IN(DRV_MIXER_GET) mRouteCtl = mixer_get_ctl_by_name(mMixer, "Playback Path"); TRACE_DRIVER_OUT } if (mHardware->mode() != AudioSystem::MODE_IN_CALL) { const char *route = mHardware->getOutputRouteFromDevice(mDevices); - LOGV("write() wakeup setting route %s", route); + ALOGV("write() wakeup setting route %s", route); if (mRouteCtl) { TRACE_DRIVER_IN(DRV_MIXER_SEL) mixer_ctl_set_enum_by_string(mRouteCtl, route); @@ -1345,7 +1345,7 @@ status_t AudioHardware::AudioStreamOutALSA::setParameters(const String8& keyValu AudioParameter param = AudioParameter(keyValuePairs); status_t status = NO_ERROR; int device; - LOGD("AudioStreamOutALSA::setParameters() %s", keyValuePairs.string()); + ALOGD("AudioStreamOutALSA::setParameters() %s", keyValuePairs.string()); if (mHardware == NULL) return NO_INIT; @@ -1391,7 +1391,7 @@ String8 AudioHardware::AudioStreamOutALSA::getParameters(const String8& keys) param.addInt(key, (int)mDevices); } - LOGV("AudioStreamOutALSA::getParameters() %s", param.toString().string()); + ALOGV("AudioStreamOutALSA::getParameters() %s", param.toString().string()); return param.toString(); } @@ -1421,7 +1421,7 @@ void AudioHardware::AudioStreamOutALSA::unlock() { void AudioHardware::AudioStreamOutALSA::addEchoReference(struct echo_reference_itfe *reference) { - LOGV("AudioStreamOutALSA::addEchoReference %p", mEchoReference); + ALOGV("AudioStreamOutALSA::addEchoReference %p", mEchoReference); if (mEchoReference == NULL) { mEchoReference = reference; } @@ -1429,7 +1429,7 @@ void AudioHardware::AudioStreamOutALSA::addEchoReference(struct echo_reference_i void AudioHardware::AudioStreamOutALSA::removeEchoReference(struct echo_reference_itfe *reference) { - LOGV("AudioStreamOutALSA::removeEchoReference %p", mEchoReference); + ALOGV("AudioStreamOutALSA::removeEchoReference %p", mEchoReference); if (mEchoReference == reference) { mEchoReference->write(mEchoReference, NULL); mEchoReference = NULL; @@ -1477,7 +1477,7 @@ status_t AudioHardware::AudioStreamInALSA::set( mHardware = hw; - LOGV("AudioStreamInALSA::set(%d, %d, %u)", *pFormat, *pChannels, *pRate); + ALOGV("AudioStreamInALSA::set(%d, %d, %u)", *pFormat, *pChannels, *pRate); mBufferSize = getBufferSize(*pRate, AudioSystem::popCount(*pChannels)); mDevices = devices; @@ -1495,7 +1495,7 @@ status_t AudioHardware::AudioStreamInALSA::set( &mBufferProvider.mProvider, &mDownSampler); if (status != 0) { - LOGW("AudioStreamInALSA::set() downsampler init failed: %d", status); + ALOGW("AudioStreamInALSA::set() downsampler init failed: %d", status); mDownSampler = NULL; return status; } @@ -1564,7 +1564,7 @@ ssize_t AudioHardware::AudioStreamInALSA::processFrames(void* buffer, ssize_t fr mProcBufSize = (size_t)frames; mProcBuf = (int16_t *)realloc(mProcBuf, mProcBufSize * mChannelCount * sizeof(int16_t)); - LOGV("processFrames(): mProcBuf %p size extended to %d frames", + ALOGV("processFrames(): mProcBuf %p size extended to %d frames", mProcBuf, mProcBufSize); } ssize_t framesRd = readFrames(mProcBuf + mProcFramesIn * mChannelCount, @@ -1621,7 +1621,7 @@ int32_t AudioHardware::AudioStreamInALSA::updateEchoReference(size_t frames) struct echo_reference_buffer b; b.delay_ns = 0; - LOGV("updateEchoReference1 START, frames = [%d], mRefFramesIn = [%d], b.frame_count = [%d]", + ALOGV("updateEchoReference1 START, frames = [%d], mRefFramesIn = [%d], b.frame_count = [%d]", frames, mRefFramesIn, frames - mRefFramesIn); if (mRefFramesIn < frames) { if (mRefBufSize < frames) { @@ -1638,12 +1638,12 @@ int32_t AudioHardware::AudioStreamInALSA::updateEchoReference(size_t frames) if (mEchoReference->read(mEchoReference, &b) == NO_ERROR) { mRefFramesIn += b.frame_count; - LOGV("updateEchoReference2: mRefFramesIn:[%d], mRefBufSize:[%d], "\ + ALOGV("updateEchoReference2: mRefFramesIn:[%d], mRefBufSize:[%d], "\ "frames:[%d], b.frame_count:[%d]", mRefFramesIn, mRefBufSize,frames,b.frame_count); } }else{ - LOGV("updateEchoReference3: NOT enough frames to read ref buffer"); + ALOGV("updateEchoReference3: NOT enough frames to read ref buffer"); } return b.delay_ns; } @@ -1675,7 +1675,7 @@ void AudioHardware::AudioStreamInALSA::pushEchoReference(size_t frames) mRefFramesIn -= refBuf.frameCount; if (mRefFramesIn) { - LOGV("pushEchoReference5: shifting mRefBuf down by = %d frames", mRefFramesIn); + ALOGV("pushEchoReference5: shifting mRefBuf down by = %d frames", mRefFramesIn); memcpy(mRefBuf, mRefBuf + refBuf.frameCount * mChannelCount, mRefFramesIn * mChannelCount * sizeof(int16_t)); @@ -1693,7 +1693,7 @@ status_t AudioHardware::AudioStreamInALSA::setPreProcessorEchoDelay(effect_handl *(uint32_t *)param->data = AEC_PARAM_ECHO_DELAY; *((int32_t *)param->data + 1) = delayUs; - LOGV("setPreProcessorEchoDelay: %d us", delayUs); + ALOGV("setPreProcessorEchoDelay: %d us", delayUs); return setPreprocessorParam(handle, param); } @@ -1728,7 +1728,7 @@ void AudioHardware::AudioStreamInALSA::getCaptureDelay(size_t frames, buffer->time_stamp.tv_sec = 0; buffer->time_stamp.tv_nsec = 0; buffer->delay_ns = 0; - LOGW("read getCaptureDelay(): pcm_htimestamp error"); + ALOGW("read getCaptureDelay(): pcm_htimestamp error"); return; } @@ -1750,7 +1750,7 @@ void AudioHardware::AudioStreamInALSA::getCaptureDelay(size_t frames, buffer->time_stamp = tstamp; buffer->delay_ns = delayNs; - LOGV("AudioStreamInALSA::getCaptureDelay TimeStamp = [%ld].[%ld], delayCaptureNs: [%d],"\ + ALOGV("AudioStreamInALSA::getCaptureDelay TimeStamp = [%ld].[%ld], delayCaptureNs: [%d],"\ " kernelDelay:[%ld], bufDelay:[%ld], rsmpDelay:[%ld], kernelFr:[%d], "\ "mInputFramesIn:[%d], mProcFramesIn:[%d], frames:[%d]", buffer->time_stamp.tv_sec , buffer->time_stamp.tv_nsec, buffer->delay_ns, @@ -1760,7 +1760,7 @@ void AudioHardware::AudioStreamInALSA::getCaptureDelay(size_t frames, ssize_t AudioHardware::AudioStreamInALSA::read(void* buffer, ssize_t bytes) { - LOGV("-----AudioStreamInALSA::read(%p, %d) START", buffer, (int)bytes); + ALOGV("-----AudioStreamInALSA::read(%p, %d) START", buffer, (int)bytes); status_t status = NO_INIT; if (mHardware == NULL) return NO_INIT; @@ -1777,7 +1777,7 @@ ssize_t AudioHardware::AudioStreamInALSA::read(void* buffer, ssize_t bytes) if (mStandby) { AutoMutex hwLock(mHardware->lock()); - LOGD("AudioHardware pcm capture is exiting standby."); + ALOGD("AudioHardware pcm capture is exiting standby."); sp<AudioStreamOutALSA> spOut = mHardware->output(); while (spOut != 0) { spOut->prepareLock(); @@ -1798,13 +1798,13 @@ ssize_t AudioHardware::AudioStreamInALSA::read(void* buffer, ssize_t bytes) // open output before input if (spOut != 0) { if (!spOut->checkStandby()) { - LOGV("AudioStreamInALSA::read() force output standby"); + ALOGV("AudioStreamInALSA::read() force output standby"); spOut->close_l(); if (spOut->open_l() != NO_ERROR) { spOut->doStandby_l(); } } - LOGV("AudioStreamInALSA exit standby mNeedEchoReference %d mEchoReference %p", + ALOGV("AudioStreamInALSA exit standby mNeedEchoReference %d mEchoReference %p", mNeedEchoReference, mEchoReference); if (mNeedEchoReference && mEchoReference == NULL) { mEchoReference = mHardware->getEchoReference(AUDIO_FORMAT_PCM_16_BIT, @@ -1832,11 +1832,11 @@ ssize_t AudioHardware::AudioStreamInALSA::read(void* buffer, ssize_t bytes) } if (framesRd >= 0) { - LOGV("-----AudioStreamInALSA::read(%p, %d) END", buffer, (int)bytes); + ALOGV("-----AudioStreamInALSA::read(%p, %d) END", buffer, (int)bytes); return framesRd * mChannelCount * sizeof(int16_t); } - LOGW("read error: %d", (int)framesRd); + ALOGW("read error: %d", (int)framesRd); status = framesRd; } @@ -1846,7 +1846,7 @@ Error: // Simulate audio output timing in case of error usleep((((bytes * 1000) / frameSize()) * 1000) / sampleRate()); - LOGE("-----AudioStreamInALSA::read(%p, %d) END ERROR", buffer, (int)bytes); + ALOGE("-----AudioStreamInALSA::read(%p, %d) END ERROR", buffer, (int)bytes); return status; } @@ -1873,7 +1873,7 @@ void AudioHardware::AudioStreamInALSA::doStandby_l() mStandbyCnt++; if (!mStandby) { - LOGD("AudioHardware pcm capture is going to standby."); + ALOGD("AudioHardware pcm capture is going to standby."); if (mEchoReference != NULL) { // stop reading from echo reference mEchoReference->read(mEchoReference, NULL); @@ -1933,14 +1933,15 @@ status_t AudioHardware::AudioStreamInALSA::open_l() start_threshold : 0, stop_threshold : 0, silence_threshold : 0, + avail_min : 0, }; - LOGV("open pcm_in driver"); + ALOGV("open pcm_in driver"); TRACE_DRIVER_IN(DRV_PCM_OPEN) mPcm = pcm_open(0, 0, flags, &config); TRACE_DRIVER_OUT if (!pcm_is_ready(mPcm)) { - LOGE("cannot open pcm_in driver: %s\n", pcm_get_error(mPcm)); + ALOGE("cannot open pcm_in driver: %s\n", pcm_get_error(mPcm)); TRACE_DRIVER_IN(DRV_PCM_CLOSE) pcm_close(mPcm); TRACE_DRIVER_OUT @@ -1967,7 +1968,7 @@ status_t AudioHardware::AudioStreamInALSA::open_l() if (mHardware->mode() != AudioSystem::MODE_IN_CALL) { const char *route = mHardware->getInputRouteFromDevice(mDevices); - LOGV("read() wakeup setting route %s", route); + ALOGV("read() wakeup setting route %s", route); if (mRouteCtl) { TRACE_DRIVER_IN(DRV_MIXER_SEL) mixer_ctl_set_enum_by_string(mRouteCtl, route); @@ -2025,7 +2026,7 @@ status_t AudioHardware::AudioStreamInALSA::setParameters(const String8& keyValue status_t status = NO_ERROR; int value; - LOGD("AudioStreamInALSA::setParameters() %s", keyValuePairs.string()); + ALOGD("AudioStreamInALSA::setParameters() %s", keyValuePairs.string()); if (mHardware == NULL) return NO_INIT; @@ -2079,25 +2080,25 @@ String8 AudioHardware::AudioStreamInALSA::getParameters(const String8& keys) param.addInt(key, (int)mDevices); } - LOGV("AudioStreamInALSA::getParameters() %s", param.toString().string()); + ALOGV("AudioStreamInALSA::getParameters() %s", param.toString().string()); return param.toString(); } status_t AudioHardware::AudioStreamInALSA::addAudioEffect(effect_handle_t effect) { - LOGV("AudioStreamInALSA::addAudioEffect() %p", effect); + ALOGV("AudioStreamInALSA::addAudioEffect() %p", effect); effect_descriptor_t desc; status_t status = (*effect)->get_descriptor(effect, &desc); if (status == 0) { if (memcmp(&desc.type, FX_IID_AEC, sizeof(effect_uuid_t)) == 0) { - LOGV("AudioStreamInALSA::addAudioEffect() mNeedEchoReference true"); + ALOGV("AudioStreamInALSA::addAudioEffect() mNeedEchoReference true"); mNeedEchoReference = true; standby(); } - LOGV("AudioStreamInALSA::addAudioEffect() name %s", desc.name); + ALOGV("AudioStreamInALSA::addAudioEffect() name %s", desc.name); } else { - LOGV("AudioStreamInALSA::addAudioEffect() get_descriptor() error"); + ALOGV("AudioStreamInALSA::addAudioEffect() get_descriptor() error"); } AutoMutex lock(mLock); @@ -2108,7 +2109,7 @@ status_t AudioHardware::AudioStreamInALSA::addAudioEffect(effect_handle_t effect status_t AudioHardware::AudioStreamInALSA::removeAudioEffect(effect_handle_t effect) { status_t status = INVALID_OPERATION; - LOGV("AudioStreamInALSA::removeAudioEffect() %p", effect); + ALOGV("AudioStreamInALSA::removeAudioEffect() %p", effect); { AutoMutex lock(mLock); for (size_t i = 0; i < mPreprocessors.size(); i++) { @@ -2124,7 +2125,7 @@ status_t AudioHardware::AudioStreamInALSA::removeAudioEffect(effect_handle_t eff effect_descriptor_t desc; if ((*effect)->get_descriptor(effect, &desc) == 0) { if (memcmp(&desc.type, FX_IID_AEC, sizeof(effect_uuid_t)) == 0) { - LOGV("AudioStreamInALSA::removeAudioEffect() mNeedEchoReference false"); + ALOGV("AudioStreamInALSA::removeAudioEffect() mNeedEchoReference false"); mNeedEchoReference = false; standby(); } @@ -2198,7 +2199,7 @@ size_t AudioHardware::AudioStreamInALSA::getBufferSize(uint32_t sampleRate, int } // this should never happen as getBufferSize() is always called after getInputSampleRate() // that checks for valid sampling rates. - LOGE("AudioStreamInALSA::getBufferSize() invalid sampling rate %d", sampleRate); + ALOGE("AudioStreamInALSA::getBufferSize() invalid sampling rate %d", sampleRate); return 0; } diff --git a/libaudio/AudioHardware.h b/libaudio/AudioHardware.h index a183a98..eb1148e 100644 --- a/libaudio/AudioHardware.h +++ b/libaudio/AudioHardware.h @@ -24,7 +24,6 @@ #include <utils/SortedVector.h> #include <hardware_legacy/AudioHardwareBase.h> -#include <media/mediarecorder.h> #include <hardware/audio_effect.h> #include "secril-client.h" @@ -48,7 +47,7 @@ namespace android_audio_legacy { using android::Vector; // TODO: determine actual audio DSP and hardware latency -// Additionnal latency introduced by audio DSP and hardware in ms +// Additional latency introduced by audio DSP and hardware in ms #define AUDIO_HW_OUT_LATENCY_MS 0 // Default audio output sample rate #define AUDIO_HW_OUT_SAMPLERATE 44100 @@ -57,8 +56,8 @@ namespace android_audio_legacy { // Default audio output sample format #define AUDIO_HW_OUT_FORMAT (AudioSystem::PCM_16_BIT) // Kernel pcm out buffer size in frames at 44.1kHz -#define AUDIO_HW_OUT_PERIOD_SZ 1024 -#define AUDIO_HW_OUT_PERIOD_CNT 4 +#define AUDIO_HW_OUT_PERIOD_SZ 880 +#define AUDIO_HW_OUT_PERIOD_CNT 2 // Default audio output buffer size in bytes #define AUDIO_HW_OUT_PERIOD_BYTES (AUDIO_HW_OUT_PERIOD_SZ * 2 * sizeof(int16_t)) diff --git a/libaudio/AudioPolicyManager.cpp b/libaudio/AudioPolicyManager.cpp index bfa6c00..ce99972 100644 --- a/libaudio/AudioPolicyManager.cpp +++ b/libaudio/AudioPolicyManager.cpp @@ -18,7 +18,6 @@ //#define LOG_NDEBUG 0 #include <utils/Log.h> #include "AudioPolicyManager.h" -#include <media/mediarecorder.h> namespace android_audio_legacy { diff --git a/libaudio/AudioPolicyManager.h b/libaudio/AudioPolicyManager.h index d660e78..5062ff0 100644 --- a/libaudio/AudioPolicyManager.h +++ b/libaudio/AudioPolicyManager.h @@ -34,13 +34,5 @@ public: virtual ~AudioPolicyManager() {} -protected: - // true is current platform implements a back microphone - virtual bool hasBackMicrophone() const { return false; } -#ifdef WITH_A2DP - // true is current platform supports duplication of notifications and ringtones over A2DP output - virtual bool a2dpUsedForSonification() const { return true; } -#endif - }; }; diff --git a/libaudio/audio_policy.conf b/libaudio/audio_policy.conf new file mode 100644 index 0000000..9e980a0 --- /dev/null +++ b/libaudio/audio_policy.conf @@ -0,0 +1,68 @@ +# Global configuration section: lists input and output devices always present on the device +# as well as the output device selected by default. +# Devices are designated by a string that corresponds to the enum in audio.h + +global_configuration { + attached_output_devices AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_SPEAKER + default_output_device AUDIO_DEVICE_OUT_SPEAKER + attached_input_devices AUDIO_DEVICE_IN_BUILTIN_MIC +} + +# audio hardware module section: contains descriptors for all audio hw modules present on the +# device. Each hw module node is named after the corresponding hw module library base name. +# For instance, "primary" corresponds to audio.primary.<device>.so. +# The "primary" module is mandatory and must include at least one output with +# AUDIO_OUTPUT_FLAG_PRIMARY flag. +# Each module descriptor contains one or more output profile descriptors and zero or more +# input profile descriptors. Each profile lists all the parameters supported by a given output +# or input stream category. +# The "channel_masks", "formats", "devices" and "flags" are specified using strings corresponding +# to enums in audio.h and audio_policy.h. They are concatenated by use of "|" without space or "\n". + +audio_hw_modules { + primary { + outputs { + primary { + sampling_rates 44100 + channel_masks AUDIO_CHANNEL_OUT_STEREO + formats AUDIO_FORMAT_PCM_16_BIT + devices AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_WIRED_HEADPHONE|AUDIO_DEVICE_OUT_ALL_SCO + flags AUDIO_OUTPUT_FLAG_PRIMARY + } + } + inputs { + primary { + sampling_rates 8000|11025|16000|22050|32000|44100 + channel_masks AUDIO_CHANNEL_IN_MONO|AUDIO_CHANNEL_IN_STEREO + formats AUDIO_FORMAT_PCM_16_BIT + devices AUDIO_DEVICE_IN_BUILTIN_MIC|AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET|AUDIO_DEVICE_IN_WIRED_HEADSET + } + } + } + a2dp { + outputs { + a2dp { + sampling_rates 44100 + channel_masks AUDIO_CHANNEL_OUT_STEREO + formats AUDIO_FORMAT_PCM_16_BIT + devices AUDIO_DEVICE_OUT_ALL_A2DP + } + } + } + usb { + outputs { + usb_accessory { + sampling_rates 44100 + channel_masks AUDIO_CHANNEL_OUT_STEREO + formats AUDIO_FORMAT_PCM_16_BIT + devices AUDIO_DEVICE_OUT_USB_ACCESSORY + } + usb_device { + sampling_rates 44100 + channel_masks AUDIO_CHANNEL_OUT_STEREO + formats AUDIO_FORMAT_PCM_16_BIT + devices AUDIO_DEVICE_OUT_USB_DEVICE + } + } + } +} diff --git a/libcamera/Android.mk b/libcamera/Android.mk index 4e9ac05..9abbf7e 100644 --- a/libcamera/Android.mk +++ b/libcamera/Android.mk @@ -9,6 +9,7 @@ LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/hw LOCAL_C_INCLUDES += $(LOCAL_PATH)/../include LOCAL_C_INCLUDES += $(LOCAL_PATH)/../libs3cjpeg +LOCAL_C_INCLUDES += frameworks/native/include/media/hardware LOCAL_SRC_FILES:= \ SecCamera.cpp \ diff --git a/libcamera/SecCamera.cpp b/libcamera/SecCamera.cpp index 2b09168..81bc3fb 100755 --- a/libcamera/SecCamera.cpp +++ b/libcamera/SecCamera.cpp @@ -39,7 +39,7 @@ using namespace android; #define CHECK(return_value) \ if (return_value < 0) { \ - LOGE("%s::%d fail. errno: %s, m_camera_id = %d\n", \ + ALOGE("%s::%d fail. errno: %s, m_camera_id = %d\n", \ __func__, __LINE__, strerror(errno), m_camera_id); \ return -1; \ } @@ -47,7 +47,7 @@ using namespace android; #define CHECK_PTR(return_value) \ if (return_value < 0) { \ - LOGE("%s::%d fail, errno: %s, m_camera_id = %d\n", \ + ALOGE("%s::%d fail, errno: %s, m_camera_id = %d\n", \ __func__,__LINE__, strerror(errno), m_camera_id); \ return NULL; \ } @@ -132,12 +132,12 @@ static int fimc_poll(struct pollfd *events) */ ret = poll(events, 1, 10000); if (ret < 0) { - LOGE("ERR(%s):poll error\n", __func__); + ALOGE("ERR(%s):poll error\n", __func__); return ret; } if (ret == 0) { - LOGE("ERR(%s):No data in 10 secs..\n", __func__); + ALOGE("ERR(%s):No data in 10 secs..\n", __func__); return ret; } @@ -156,7 +156,7 @@ int SecCamera::previewPoll(bool preview) status = getCameraSensorESDStatus(); m_esd_check_count = 0; if (status) { - LOGE("ERR(%s) ESD status(%d)", __func__, status); + ALOGE("ERR(%s) ESD status(%d)", __func__, status); return status; } } @@ -168,12 +168,12 @@ int SecCamera::previewPoll(bool preview) } if (ret < 0) { - LOGE("ERR(%s):poll error\n", __func__); + ALOGE("ERR(%s):poll error\n", __func__); return ret; } if (ret == 0) { - LOGE("ERR(%s):No data in 1 secs.. Camera Device Reset \n", __func__); + ALOGE("ERR(%s):No data in 1 secs.. Camera Device Reset \n", __func__); return ret; } @@ -188,12 +188,12 @@ static int fimc_v4l2_querycap(int fp) ret = ioctl(fp, VIDIOC_QUERYCAP, &cap); if (ret < 0) { - LOGE("ERR(%s):VIDIOC_QUERYCAP failed\n", __func__); + ALOGE("ERR(%s):VIDIOC_QUERYCAP failed\n", __func__); return -1; } if (!(cap.capabilities & V4L2_CAP_VIDEO_CAPTURE)) { - LOGE("ERR(%s):no capture devices\n", __func__); + ALOGE("ERR(%s):no capture devices\n", __func__); return -1; } @@ -206,10 +206,10 @@ static const __u8* fimc_v4l2_enuminput(int fp, int index) input.index = index; if (ioctl(fp, VIDIOC_ENUMINPUT, &input) != 0) { - LOGE("ERR(%s):No matching index found\n", __func__); + ALOGE("ERR(%s):No matching index found\n", __func__); return NULL; } - LOGI("Name of input channel[%d] is %s\n", input.index, input.name); + ALOGI("Name of input channel[%d] is %s\n", input.index, input.name); return input.name; } @@ -224,7 +224,7 @@ static int fimc_v4l2_s_input(int fp, int index) ret = ioctl(fp, VIDIOC_S_INPUT, &input); if (ret < 0) { - LOGE("ERR(%s):VIDIOC_S_INPUT failed\n", __func__); + ALOGE("ERR(%s):VIDIOC_S_INPUT failed\n", __func__); return ret; } @@ -254,7 +254,7 @@ static int fimc_v4l2_s_fmt(int fp, int width, int height, unsigned int fmt, int /* Set up for capture */ ret = ioctl(fp, VIDIOC_S_FMT, &v4l2_fmt); if (ret < 0) { - LOGE("ERR(%s):VIDIOC_S_FMT failed\n", __func__); + ALOGE("ERR(%s):VIDIOC_S_FMT failed\n", __func__); return -1; } @@ -282,12 +282,12 @@ static int fimc_v4l2_s_fmt_cap(int fp, int width, int height, unsigned int fmt) v4l2_fmt.fmt.pix = pixfmt; - //LOGE("ori_w %d, ori_h %d, w %d, h %d\n", width, height, v4l2_fmt.fmt.pix.width, v4l2_fmt.fmt.pix.height); + //ALOGE("ori_w %d, ori_h %d, w %d, h %d\n", width, height, v4l2_fmt.fmt.pix.width, v4l2_fmt.fmt.pix.height); /* Set up for capture */ ret = ioctl(fp, VIDIOC_S_FMT, &v4l2_fmt); if (ret < 0) { - LOGE("ERR(%s):VIDIOC_S_FMT failed\n", __func__); + ALOGE("ERR(%s):VIDIOC_S_FMT failed\n", __func__); return ret; } @@ -304,7 +304,7 @@ static int fimc_v4l2_enum_fmt(int fp, unsigned int fmt) while (ioctl(fp, VIDIOC_ENUM_FMT, &fmtdesc) == 0) { if (fmtdesc.pixelformat == fmt) { - LOGV("passed fmt = %#x found pixel format[%d]: %s\n", fmt, fmtdesc.index, fmtdesc.description); + ALOGV("passed fmt = %#x found pixel format[%d]: %s\n", fmt, fmtdesc.index, fmtdesc.description); found = 1; break; } @@ -313,7 +313,7 @@ static int fimc_v4l2_enum_fmt(int fp, unsigned int fmt) } if (!found) { - LOGE("unsupported pixel format\n"); + ALOGE("unsupported pixel format\n"); return -1; } @@ -331,7 +331,7 @@ static int fimc_v4l2_reqbufs(int fp, enum v4l2_buf_type type, int nr_bufs) ret = ioctl(fp, VIDIOC_REQBUFS, &req); if (ret < 0) { - LOGE("ERR(%s):VIDIOC_REQBUFS failed\n", __func__); + ALOGE("ERR(%s):VIDIOC_REQBUFS failed\n", __func__); return -1; } @@ -343,7 +343,7 @@ static int fimc_v4l2_querybuf(int fp, struct fimc_buffer *buffer, enum v4l2_buf_ struct v4l2_buffer v4l2_buf; int ret; - LOGI("%s :", __func__); + ALOGI("%s :", __func__); v4l2_buf.type = type; v4l2_buf.memory = V4L2_MEMORY_MMAP; @@ -351,7 +351,7 @@ static int fimc_v4l2_querybuf(int fp, struct fimc_buffer *buffer, enum v4l2_buf_ ret = ioctl(fp , VIDIOC_QUERYBUF, &v4l2_buf); if (ret < 0) { - LOGE("ERR(%s):VIDIOC_QUERYBUF failed\n", __func__); + ALOGE("ERR(%s):VIDIOC_QUERYBUF failed\n", __func__); return -1; } @@ -359,11 +359,11 @@ static int fimc_v4l2_querybuf(int fp, struct fimc_buffer *buffer, enum v4l2_buf_ if ((buffer->start = (char *)mmap(0, v4l2_buf.length, PROT_READ | PROT_WRITE, MAP_SHARED, fp, v4l2_buf.m.offset)) < 0) { - LOGE("%s %d] mmap() failed\n",__func__, __LINE__); + ALOGE("%s %d] mmap() failed\n",__func__, __LINE__); return -1; } - LOGI("%s: buffer->start = %p v4l2_buf.length = %d", + ALOGI("%s: buffer->start = %p v4l2_buf.length = %d", __func__, buffer->start, v4l2_buf.length); return 0; @@ -376,7 +376,7 @@ static int fimc_v4l2_streamon(int fp) ret = ioctl(fp, VIDIOC_STREAMON, &type); if (ret < 0) { - LOGE("ERR(%s):VIDIOC_STREAMON failed\n", __func__); + ALOGE("ERR(%s):VIDIOC_STREAMON failed\n", __func__); return ret; } @@ -388,10 +388,10 @@ static int fimc_v4l2_streamoff(int fp) enum v4l2_buf_type type = V4L2_BUF_TYPE_VIDEO_CAPTURE; int ret; - LOGV("%s :", __func__); + ALOGV("%s :", __func__); ret = ioctl(fp, VIDIOC_STREAMOFF, &type); if (ret < 0) { - LOGE("ERR(%s):VIDIOC_STREAMOFF failed\n", __func__); + ALOGE("ERR(%s):VIDIOC_STREAMOFF failed\n", __func__); return ret; } @@ -409,7 +409,7 @@ static int fimc_v4l2_qbuf(int fp, int index) ret = ioctl(fp, VIDIOC_QBUF, &v4l2_buf); if (ret < 0) { - LOGE("ERR(%s):VIDIOC_QBUF failed\n", __func__); + ALOGE("ERR(%s):VIDIOC_QBUF failed\n", __func__); return ret; } @@ -426,7 +426,7 @@ static int fimc_v4l2_dqbuf(int fp) ret = ioctl(fp, VIDIOC_DQBUF, &v4l2_buf); if (ret < 0) { - LOGE("ERR(%s):VIDIOC_DQBUF failed, dropped frame\n", __func__); + ALOGE("ERR(%s):VIDIOC_DQBUF failed, dropped frame\n", __func__); return ret; } @@ -442,7 +442,7 @@ static int fimc_v4l2_g_ctrl(int fp, unsigned int id) ret = ioctl(fp, VIDIOC_G_CTRL, &ctrl); if (ret < 0) { - LOGE("ERR(%s): VIDIOC_G_CTRL(id = 0x%x (%d)) failed, ret = %d\n", + ALOGE("ERR(%s): VIDIOC_G_CTRL(id = 0x%x (%d)) failed, ret = %d\n", __func__, id, id-V4L2_CID_PRIVATE_BASE, ret); return ret; } @@ -460,7 +460,7 @@ static int fimc_v4l2_s_ctrl(int fp, unsigned int id, unsigned int value) ret = ioctl(fp, VIDIOC_S_CTRL, &ctrl); if (ret < 0) { - LOGE("ERR(%s):VIDIOC_S_CTRL(id = %#x (%d), value = %d) failed ret = %d\n", + ALOGE("ERR(%s):VIDIOC_S_CTRL(id = %#x (%d), value = %d) failed ret = %d\n", __func__, id, id-V4L2_CID_PRIVATE_BASE, value, ret); return ret; @@ -469,26 +469,6 @@ static int fimc_v4l2_s_ctrl(int fp, unsigned int id, unsigned int value) return ctrl.value; } -static int fimc_v4l2_s_ext_ctrl(int fp, unsigned int id, void *value) -{ - struct v4l2_ext_controls ctrls; - struct v4l2_ext_control ctrl; - int ret; - - ctrl.id = id; - ctrl.reserved = value; - - ctrls.ctrl_class = V4L2_CTRL_CLASS_CAMERA; - ctrls.count = 1; - ctrls.controls = &ctrl; - - ret = ioctl(fp, VIDIOC_S_EXT_CTRLS, &ctrls); - if (ret < 0) - LOGE("ERR(%s):VIDIOC_S_EXT_CTRLS failed\n", __func__); - - return ret; -} - static int fimc_v4l2_g_parm(int fp, struct v4l2_streamparm *streamparm) { int ret; @@ -497,11 +477,11 @@ static int fimc_v4l2_g_parm(int fp, struct v4l2_streamparm *streamparm) ret = ioctl(fp, VIDIOC_G_PARM, streamparm); if (ret < 0) { - LOGE("ERR(%s):VIDIOC_G_PARM failed\n", __func__); + ALOGE("ERR(%s):VIDIOC_G_PARM failed\n", __func__); return -1; } - LOGV("%s : timeperframe: numerator %d, denominator %d\n", __func__, + ALOGV("%s : timeperframe: numerator %d, denominator %d\n", __func__, streamparm->parm.capture.timeperframe.numerator, streamparm->parm.capture.timeperframe.denominator); @@ -516,7 +496,7 @@ static int fimc_v4l2_s_parm(int fp, struct v4l2_streamparm *streamparm) ret = ioctl(fp, VIDIOC_S_PARM, streamparm); if (ret < 0) { - LOGE("ERR(%s):VIDIOC_S_PARM failed\n", __func__); + ALOGE("ERR(%s):VIDIOC_S_PARM failed\n", __func__); return ret; } @@ -592,17 +572,17 @@ SecCamera::SecCamera() : memset(&m_capture_buf, 0, sizeof(m_capture_buf)); - LOGV("%s :", __func__); + ALOGV("%s :", __func__); } SecCamera::~SecCamera() { - LOGV("%s :", __func__); + ALOGV("%s :", __func__); } int SecCamera::initCamera(int index) { - LOGV("%s :", __func__); + ALOGV("%s :", __func__); int ret = 0; if (!m_flag_init) { @@ -614,12 +594,12 @@ int SecCamera::initCamera(int index) m_cam_fd = open(CAMERA_DEV_NAME, O_RDWR); if (m_cam_fd < 0) { - LOGE("ERR(%s):Cannot open %s (error : %s)\n", __func__, CAMERA_DEV_NAME, strerror(errno)); + ALOGE("ERR(%s):Cannot open %s (error : %s)\n", __func__, CAMERA_DEV_NAME, strerror(errno)); return -1; } - LOGV("%s: open(%s) --> m_cam_fd %d", __FUNCTION__, CAMERA_DEV_NAME, m_cam_fd); + ALOGV("%s: open(%s) --> m_cam_fd %d", __FUNCTION__, CAMERA_DEV_NAME, m_cam_fd); - LOGE("initCamera: m_cam_fd(%d), m_jpeg_fd(%d)", m_cam_fd, m_jpeg_fd); + ALOGE("initCamera: m_cam_fd(%d), m_jpeg_fd(%d)", m_cam_fd, m_jpeg_fd); ret = fimc_v4l2_querycap(m_cam_fd); CHECK(ret); @@ -629,13 +609,13 @@ int SecCamera::initCamera(int index) CHECK(ret); m_cam_fd2 = open(CAMERA_DEV_NAME2, O_RDWR); - LOGV("%s: open(%s) --> m_cam_fd2 = %d", __FUNCTION__, CAMERA_DEV_NAME2, m_cam_fd2); + ALOGV("%s: open(%s) --> m_cam_fd2 = %d", __FUNCTION__, CAMERA_DEV_NAME2, m_cam_fd2); if (m_cam_fd2 < 0) { - LOGE("ERR(%s):Cannot open %s (error : %s)\n", __func__, CAMERA_DEV_NAME2, strerror(errno)); + ALOGE("ERR(%s):Cannot open %s (error : %s)\n", __func__, CAMERA_DEV_NAME2, strerror(errno)); return -1; } - LOGE("initCamera: m_cam_fd2(%d)", m_cam_fd2); + ALOGE("initCamera: m_cam_fd2(%d)", m_cam_fd2); ret = fimc_v4l2_querycap(m_cam_fd2); CHECK(ret); @@ -665,21 +645,21 @@ int SecCamera::initCamera(int index) setExifFixedAttribute(); m_flag_init = 1; - LOGI("%s : initialized", __FUNCTION__); + ALOGI("%s : initialized", __FUNCTION__); } return 0; } void SecCamera::resetCamera() { - LOGV("%s :", __func__); + ALOGV("%s :", __func__); DeinitCamera(); initCamera(m_camera_id); } void SecCamera::DeinitCamera() { - LOGV("%s :", __func__); + ALOGV("%s :", __func__); if (m_flag_init) { @@ -688,13 +668,13 @@ void SecCamera::DeinitCamera() /* close m_cam_fd after stopRecord() because stopRecord() * uses m_cam_fd to change frame rate */ - LOGI("DeinitCamera: m_cam_fd(%d)", m_cam_fd); + ALOGI("DeinitCamera: m_cam_fd(%d)", m_cam_fd); if (m_cam_fd > -1) { close(m_cam_fd); m_cam_fd = -1; } - LOGI("DeinitCamera: m_cam_fd2(%d)", m_cam_fd2); + ALOGI("DeinitCamera: m_cam_fd2(%d)", m_cam_fd2); if (m_cam_fd2 > -1) { close(m_cam_fd2); m_cam_fd2 = -1; @@ -702,7 +682,7 @@ void SecCamera::DeinitCamera() m_flag_init = 0; } - else LOGI("%s : already deinitialized", __FUNCTION__); + else ALOGI("%s : already deinitialized", __FUNCTION__); } @@ -719,16 +699,16 @@ int SecCamera::startPreview(void) v4l2_streamparm streamparm; struct sec_cam_parm *parms; parms = (struct sec_cam_parm*)&streamparm.parm.raw_data; - LOGV("%s :", __func__); + ALOGV("%s :", __func__); // aleady started if (m_flag_camera_start > 0) { - LOGE("ERR(%s):Preview was already started\n", __func__); + ALOGE("ERR(%s):Preview was already started\n", __func__); return 0; } if (m_cam_fd <= 0) { - LOGE("ERR(%s):Camera was closed\n", __func__); + ALOGE("ERR(%s):Camera was closed\n", __func__); return -1; } @@ -745,7 +725,7 @@ int SecCamera::startPreview(void) ret = fimc_v4l2_reqbufs(m_cam_fd, V4L2_BUF_TYPE_VIDEO_CAPTURE, MAX_BUFFERS); CHECK(ret); - LOGV("%s : m_preview_width: %d m_preview_height: %d m_angle: %d\n", + ALOGV("%s : m_preview_width: %d m_preview_height: %d m_angle: %d\n", __func__, m_preview_width, m_preview_height, m_angle); ret = fimc_v4l2_s_ctrl(m_cam_fd, @@ -774,7 +754,7 @@ int SecCamera::startPreview(void) if (m_camera_id == CAMERA_ID_FRONT) { /* Blur setting */ - LOGV("m_blur_level = %d", m_blur_level); + ALOGV("m_blur_level = %d", m_blur_level); ret = fimc_v4l2_s_ctrl(m_cam_fd, V4L2_CID_CAMERA_VGA_BLUR, m_blur_level); CHECK(ret); @@ -786,7 +766,7 @@ int SecCamera::startPreview(void) ret = fimc_v4l2_s_ctrl(m_cam_fd, V4L2_CID_CAMERA_RETURN_FOCUS, 0); CHECK(ret); - LOGV("%s: got the first frame of the preview\n", __func__); + ALOGV("%s: got the first frame of the preview\n", __func__); return 0; } @@ -795,10 +775,10 @@ int SecCamera::stopPreview(void) { int ret; - LOGV("%s :", __func__); + ALOGV("%s :", __func__); if (m_flag_camera_start == 0) { - LOGW("%s: doing nothing because m_flag_camera_start is zero", __func__); + ALOGW("%s: doing nothing because m_flag_camera_start is zero", __func__); return 0; } @@ -806,7 +786,7 @@ int SecCamera::stopPreview(void) setFlashMode(FLASH_MODE_OFF); if (m_cam_fd <= 0) { - LOGE("ERR(%s):Camera was closed\n", __func__); + ALOGE("ERR(%s):Camera was closed\n", __func__); return -1; } @@ -823,16 +803,16 @@ int SecCamera::startRecord(void) { int ret, i; - LOGV("%s :", __func__); + ALOGV("%s :", __func__); // aleady started if (m_flag_record_start > 0) { - LOGE("ERR(%s):Preview was already started\n", __func__); + ALOGE("ERR(%s):Preview was already started\n", __func__); return 0; } if (m_cam_fd2 <= 0) { - LOGE("ERR(%s):Camera was closed\n", __func__); + ALOGE("ERR(%s):Camera was closed\n", __func__); return -1; } @@ -840,7 +820,7 @@ int SecCamera::startRecord(void) ret = fimc_v4l2_enum_fmt(m_cam_fd2, V4L2_PIX_FMT_NV12T); CHECK(ret); - LOGI("%s: m_recording_width = %d, m_recording_height = %d\n", + ALOGI("%s: m_recording_width = %d, m_recording_height = %d\n", __func__, m_recording_width, m_recording_height); ret = fimc_v4l2_s_fmt(m_cam_fd2, m_recording_width, @@ -879,15 +859,15 @@ int SecCamera::stopRecord(void) { int ret; - LOGV("%s :", __func__); + ALOGV("%s :", __func__); if (m_flag_record_start == 0) { - LOGW("%s: doing nothing because m_flag_record_start is zero", __func__); + ALOGW("%s: doing nothing because m_flag_record_start is zero", __func__); return 0; } if (m_cam_fd2 <= 0) { - LOGE("ERR(%s):Camera was closed\n", __func__); + ALOGE("ERR(%s):Camera was closed\n", __func__); return -1; } @@ -950,7 +930,7 @@ int SecCamera::getPreview() int ret; if (m_flag_camera_start == 0 || previewPoll(true) == 0) { - LOGE("ERR(%s):Start Camera Device Reset \n", __func__); + ALOGE("ERR(%s):Start Camera Device Reset \n", __func__); /* GAUDI Project([arun.c@samsung.com]) 2010.05.20. [Implemented ESD code] */ /* * When there is no data for more than 1 second from the camera we inform @@ -968,14 +948,14 @@ int SecCamera::getPreview() CHECK(ret); ret = startPreview(); if (ret < 0) { - LOGE("ERR(%s): startPreview() return %d\n", __func__, ret); + ALOGE("ERR(%s): startPreview() return %d\n", __func__, ret); return 0; } } index = fimc_v4l2_dqbuf(m_cam_fd); if (!(0 <= index && index < MAX_BUFFERS)) { - LOGE("ERR(%s):wrong index = %d\n", __func__, index); + ALOGE("ERR(%s):wrong index = %d\n", __func__, index); return -1; } @@ -988,7 +968,7 @@ int SecCamera::getPreview() int SecCamera::getRecordFrame() { if (m_flag_record_start == 0) { - LOGE("%s: m_flag_record_start is 0", __func__); + ALOGE("%s: m_flag_record_start is 0", __func__); return -1; } @@ -1005,7 +985,7 @@ int SecCamera::releaseRecordFrame(int index) * cases where fimc could crash if we called qbuf and it * wasn't expecting it. */ - LOGI("%s: recording not in progress, ignoring", __func__); + ALOGI("%s: recording not in progress, ignoring", __func__); return 0; } @@ -1014,27 +994,27 @@ int SecCamera::releaseRecordFrame(int index) int SecCamera::setPreviewSize(int width, int height, int pixel_format) { - LOGV("%s(width(%d), height(%d), format(%d))", __func__, width, height, pixel_format); + ALOGV("%s(width(%d), height(%d), format(%d))", __func__, width, height, pixel_format); int v4lpixelformat = pixel_format; #if defined(LOG_NDEBUG) && LOG_NDEBUG == 0 if (v4lpixelformat == V4L2_PIX_FMT_YUV420) - LOGV("PreviewFormat:V4L2_PIX_FMT_YUV420"); + ALOGV("PreviewFormat:V4L2_PIX_FMT_YUV420"); else if (v4lpixelformat == V4L2_PIX_FMT_NV12) - LOGV("PreviewFormat:V4L2_PIX_FMT_NV12"); + ALOGV("PreviewFormat:V4L2_PIX_FMT_NV12"); else if (v4lpixelformat == V4L2_PIX_FMT_NV12T) - LOGV("PreviewFormat:V4L2_PIX_FMT_NV12T"); + ALOGV("PreviewFormat:V4L2_PIX_FMT_NV12T"); else if (v4lpixelformat == V4L2_PIX_FMT_NV21) - LOGV("PreviewFormat:V4L2_PIX_FMT_NV21"); + ALOGV("PreviewFormat:V4L2_PIX_FMT_NV21"); else if (v4lpixelformat == V4L2_PIX_FMT_YUV422P) - LOGV("PreviewFormat:V4L2_PIX_FMT_YUV422P"); + ALOGV("PreviewFormat:V4L2_PIX_FMT_YUV422P"); else if (v4lpixelformat == V4L2_PIX_FMT_YUYV) - LOGV("PreviewFormat:V4L2_PIX_FMT_YUYV"); + ALOGV("PreviewFormat:V4L2_PIX_FMT_YUYV"); else if (v4lpixelformat == V4L2_PIX_FMT_RGB565) - LOGV("PreviewFormat:V4L2_PIX_FMT_RGB565"); + ALOGV("PreviewFormat:V4L2_PIX_FMT_RGB565"); else - LOGV("PreviewFormat:UnknownFormat"); + ALOGV("PreviewFormat:UnknownFormat"); #endif m_preview_width = width; m_preview_height = height; @@ -1074,7 +1054,7 @@ int SecCamera::getPreviewPixelFormat(void) */ int SecCamera::setSnapshotCmd(void) { - LOGV("%s :", __func__); + ALOGV("%s :", __func__); int ret = 0; @@ -1082,13 +1062,13 @@ int SecCamera::setSnapshotCmd(void) LOG_TIME_DEFINE(1) if (m_cam_fd <= 0) { - LOGE("ERR(%s):Camera was closed\n", __func__); + ALOGE("ERR(%s):Camera was closed\n", __func__); return 0; } if (m_flag_camera_start > 0) { LOG_TIME_START(0) - LOGW("WARN(%s):Camera was in preview, should have been stopped\n", __func__); + ALOGW("WARN(%s):Camera was in preview, should have been stopped\n", __func__); stopPreview(); LOG_TIME_END(0) } @@ -1123,10 +1103,10 @@ int SecCamera::endSnapshot(void) { int ret; - LOGI("%s :", __func__); + ALOGI("%s :", __func__); if (m_capture_buf.start) { munmap(m_capture_buf.start, m_capture_buf.length); - LOGI("munmap():virt. addr %p size = %d\n", + ALOGI("munmap():virt. addr %p size = %d\n", m_capture_buf.start, m_capture_buf.length); m_capture_buf.start = NULL; m_capture_buf.length = 0; @@ -1139,7 +1119,7 @@ int SecCamera::endSnapshot(void) */ unsigned char* SecCamera::getJpeg(int *jpeg_size, unsigned int *phyaddr) { - LOGV("%s :", __func__); + ALOGV("%s :", __func__); int index, ret = 0; unsigned char *addr; @@ -1151,7 +1131,7 @@ unsigned char* SecCamera::getJpeg(int *jpeg_size, unsigned int *phyaddr) CHECK_PTR(ret); index = fimc_v4l2_dqbuf(m_cam_fd); if (index != 0) { - LOGE("ERR(%s):wrong index = %d\n", __func__, index); + ALOGE("ERR(%s):wrong index = %d\n", __func__, index); return NULL; } @@ -1165,7 +1145,7 @@ unsigned char* SecCamera::getJpeg(int *jpeg_size, unsigned int *phyaddr) ret = fimc_v4l2_s_ctrl(m_cam_fd, V4L2_CID_STREAM_PAUSE, 0); CHECK_PTR(ret); - LOGV("\nsnapshot dqueued buffer = %d snapshot_width = %d snapshot_height = %d, size = %d\n\n", + ALOGV("\nsnapshot dqueued buffer = %d snapshot_width = %d snapshot_height = %d, size = %d\n\n", index, m_snapshot_width, m_snapshot_height, *jpeg_size); addr = (unsigned char*)(m_capture_buf.start) + main_offset; @@ -1183,7 +1163,7 @@ int SecCamera::getExif(unsigned char *pExifDst, unsigned char *pThumbSrc) { JpegEncoder jpgEnc; - LOGV("%s : m_jpeg_thumbnail_width = %d, height = %d", + ALOGV("%s : m_jpeg_thumbnail_width = %d, height = %d", __func__, m_jpeg_thumbnail_width, m_jpeg_thumbnail_height); if ((m_jpeg_thumbnail_width > 0) && (m_jpeg_thumbnail_height > 0)) { int inFormat = JPG_MODESEL_YCBCR; @@ -1228,10 +1208,10 @@ int SecCamera::getExif(unsigned char *pExifDst, unsigned char *pThumbSrc) jpgEnc.encode(&thumbSize, NULL); - LOGV("%s : enableThumb set to true", __func__); + ALOGV("%s : enableThumb set to true", __func__); mExifInfo.enableThumb = true; } else { - LOGV("%s : enableThumb set to false", __func__); + ALOGV("%s : enableThumb set to false", __func__); mExifInfo.enableThumb = false; } @@ -1239,7 +1219,7 @@ int SecCamera::getExif(unsigned char *pExifDst, unsigned char *pThumbSrc) setExifChangedAttribute(); - LOGV("%s: calling jpgEnc.makeExif, mExifInfo.width set to %d, height to %d\n", + ALOGV("%s: calling jpgEnc.makeExif, mExifInfo.width set to %d, height to %d\n", __func__, mExifInfo.width, mExifInfo.height); jpgEnc.makeExif(pExifDst, &mExifInfo, &exifSize, true); @@ -1258,7 +1238,7 @@ void SecCamera::getPostViewConfig(int *width, int *height, int *size) *height = BACK_CAMERA_POSTVIEW_HEIGHT; *size = BACK_CAMERA_POSTVIEW_WIDTH * BACK_CAMERA_POSTVIEW_HEIGHT * BACK_CAMERA_POSTVIEW_BPP / 8; } - LOGV("[5B] m_preview_width : %d, mPostViewWidth = %d mPostViewHeight = %d mPostViewSize = %d", + ALOGV("[5B] m_preview_width : %d, mPostViewWidth = %d mPostViewHeight = %d mPostViewSize = %d", m_preview_width, *width, *height, *size); } @@ -1285,7 +1265,7 @@ int SecCamera::getPostViewOffset(void) int SecCamera::getSnapshotAndJpeg(unsigned char *yuv_buf, unsigned char *jpeg_buf, unsigned int *output_size) { - LOGV("%s :", __func__); + ALOGV("%s :", __func__); int index; //unsigned int addr; @@ -1302,13 +1282,13 @@ int SecCamera::getSnapshotAndJpeg(unsigned char *yuv_buf, unsigned char *jpeg_bu //fimc_v4l2_streamoff(m_cam_fd); [zzangdol] remove - it is separate in HWInterface with camera_id if (m_cam_fd <= 0) { - LOGE("ERR(%s):Camera was closed\n", __func__); + ALOGE("ERR(%s):Camera was closed\n", __func__); return -1; } if (m_flag_camera_start > 0) { LOG_TIME_START(0) - LOGW("WARN(%s):Camera was in preview, should have been stopped\n", __func__); + ALOGW("WARN(%s):Camera was in preview, should have been stopped\n", __func__); stopPreview(); LOG_TIME_END(0) } @@ -1319,23 +1299,23 @@ int SecCamera::getSnapshotAndJpeg(unsigned char *yuv_buf, unsigned char *jpeg_bu #if defined(LOG_NDEBUG) && LOG_NDEBUG == 0 if (m_snapshot_v4lformat == V4L2_PIX_FMT_YUV420) - LOGV("SnapshotFormat:V4L2_PIX_FMT_YUV420"); + ALOGV("SnapshotFormat:V4L2_PIX_FMT_YUV420"); else if (m_snapshot_v4lformat == V4L2_PIX_FMT_NV12) - LOGV("SnapshotFormat:V4L2_PIX_FMT_NV12"); + ALOGV("SnapshotFormat:V4L2_PIX_FMT_NV12"); else if (m_snapshot_v4lformat == V4L2_PIX_FMT_NV12T) - LOGV("SnapshotFormat:V4L2_PIX_FMT_NV12T"); + ALOGV("SnapshotFormat:V4L2_PIX_FMT_NV12T"); else if (m_snapshot_v4lformat == V4L2_PIX_FMT_NV21) - LOGV("SnapshotFormat:V4L2_PIX_FMT_NV21"); + ALOGV("SnapshotFormat:V4L2_PIX_FMT_NV21"); else if (m_snapshot_v4lformat == V4L2_PIX_FMT_YUV422P) - LOGV("SnapshotFormat:V4L2_PIX_FMT_YUV422P"); + ALOGV("SnapshotFormat:V4L2_PIX_FMT_YUV422P"); else if (m_snapshot_v4lformat == V4L2_PIX_FMT_YUYV) - LOGV("SnapshotFormat:V4L2_PIX_FMT_YUYV"); + ALOGV("SnapshotFormat:V4L2_PIX_FMT_YUYV"); else if (m_snapshot_v4lformat == V4L2_PIX_FMT_UYVY) - LOGV("SnapshotFormat:V4L2_PIX_FMT_UYVY"); + ALOGV("SnapshotFormat:V4L2_PIX_FMT_UYVY"); else if (m_snapshot_v4lformat == V4L2_PIX_FMT_RGB565) - LOGV("SnapshotFormat:V4L2_PIX_FMT_RGB565"); + ALOGV("SnapshotFormat:V4L2_PIX_FMT_RGB565"); else - LOGV("SnapshotFormat:UnknownFormat"); + ALOGV("SnapshotFormat:UnknownFormat"); #endif LOG_TIME_START(1) // prepare @@ -1361,12 +1341,12 @@ int SecCamera::getSnapshotAndJpeg(unsigned char *yuv_buf, unsigned char *jpeg_bu fimc_poll(&m_events_c); index = fimc_v4l2_dqbuf(m_cam_fd); fimc_v4l2_s_ctrl(m_cam_fd, V4L2_CID_STREAM_PAUSE, 0); - LOGV("\nsnapshot dequeued buffer = %d snapshot_width = %d snapshot_height = %d\n\n", + ALOGV("\nsnapshot dequeued buffer = %d snapshot_width = %d snapshot_height = %d\n\n", index, m_snapshot_width, m_snapshot_height); LOG_TIME_END(2) - LOGI("%s : calling memcpy from m_capture_buf", __func__); + ALOGI("%s : calling memcpy from m_capture_buf", __func__); memcpy(yuv_buf, (unsigned char*)m_capture_buf.start, m_snapshot_width * m_snapshot_height * 2); LOG_TIME_START(5) // post fimc_v4l2_streamoff(m_cam_fd); @@ -1396,10 +1376,10 @@ int SecCamera::getSnapshotAndJpeg(unsigned char *yuv_buf, unsigned char *jpeg_bu } if (jpgEnc.setConfig(JPEG_SET_ENCODE_IN_FORMAT, inFormat) != JPG_SUCCESS) - LOGE("[JPEG_SET_ENCODE_IN_FORMAT] Error\n"); + ALOGE("[JPEG_SET_ENCODE_IN_FORMAT] Error\n"); if (jpgEnc.setConfig(JPEG_SET_SAMPING_MODE, outFormat) != JPG_SUCCESS) - LOGE("[JPEG_SET_SAMPING_MODE] Error\n"); + ALOGE("[JPEG_SET_SAMPING_MODE] Error\n"); image_quality_type_t jpegQuality; if (m_jpeg_quality >= 90) @@ -1412,18 +1392,18 @@ int SecCamera::getSnapshotAndJpeg(unsigned char *yuv_buf, unsigned char *jpeg_bu jpegQuality = JPG_QUALITY_LEVEL_4; if (jpgEnc.setConfig(JPEG_SET_ENCODE_QUALITY, jpegQuality) != JPG_SUCCESS) - LOGE("[JPEG_SET_ENCODE_QUALITY] Error\n"); + ALOGE("[JPEG_SET_ENCODE_QUALITY] Error\n"); if (jpgEnc.setConfig(JPEG_SET_ENCODE_WIDTH, m_snapshot_width) != JPG_SUCCESS) - LOGE("[JPEG_SET_ENCODE_WIDTH] Error\n"); + ALOGE("[JPEG_SET_ENCODE_WIDTH] Error\n"); if (jpgEnc.setConfig(JPEG_SET_ENCODE_HEIGHT, m_snapshot_height) != JPG_SUCCESS) - LOGE("[JPEG_SET_ENCODE_HEIGHT] Error\n"); + ALOGE("[JPEG_SET_ENCODE_HEIGHT] Error\n"); unsigned int snapshot_size = m_snapshot_width * m_snapshot_height * 2; unsigned char *pInBuf = (unsigned char *)jpgEnc.getInBuf(snapshot_size); if (pInBuf == NULL) { - LOGE("JPEG input buffer is NULL!!\n"); + ALOGE("JPEG input buffer is NULL!!\n"); return -1; } memcpy(pInBuf, yuv_buf, snapshot_size); @@ -1435,7 +1415,7 @@ int SecCamera::getSnapshotAndJpeg(unsigned char *yuv_buf, unsigned char *jpeg_bu unsigned char *pOutBuf = (unsigned char *)jpgEnc.getOutBuf(&outbuf_size); if (pOutBuf == NULL) { - LOGE("JPEG output buffer is NULL!!\n"); + ALOGE("JPEG output buffer is NULL!!\n"); return -1; } @@ -1447,7 +1427,7 @@ int SecCamera::getSnapshotAndJpeg(unsigned char *yuv_buf, unsigned char *jpeg_bu int SecCamera::setSnapshotSize(int width, int height) { - LOGV("%s(width(%d), height(%d))", __func__, width, height); + ALOGV("%s(width(%d), height(%d))", __func__, width, height); m_snapshot_width = width; m_snapshot_height = height; @@ -1504,23 +1484,23 @@ int SecCamera::setSnapshotPixelFormat(int pixel_format) #if defined(LOG_NDEBUG) && LOG_NDEBUG == 0 if (m_snapshot_v4lformat == V4L2_PIX_FMT_YUV420) - LOGE("%s : SnapshotFormat:V4L2_PIX_FMT_YUV420", __func__); + ALOGE("%s : SnapshotFormat:V4L2_PIX_FMT_YUV420", __func__); else if (m_snapshot_v4lformat == V4L2_PIX_FMT_NV12) - LOGD("%s : SnapshotFormat:V4L2_PIX_FMT_NV12", __func__); + ALOGD("%s : SnapshotFormat:V4L2_PIX_FMT_NV12", __func__); else if (m_snapshot_v4lformat == V4L2_PIX_FMT_NV12T) - LOGD("%s : SnapshotFormat:V4L2_PIX_FMT_NV12T", __func__); + ALOGD("%s : SnapshotFormat:V4L2_PIX_FMT_NV12T", __func__); else if (m_snapshot_v4lformat == V4L2_PIX_FMT_NV21) - LOGD("%s : SnapshotFormat:V4L2_PIX_FMT_NV21", __func__); + ALOGD("%s : SnapshotFormat:V4L2_PIX_FMT_NV21", __func__); else if (m_snapshot_v4lformat == V4L2_PIX_FMT_YUV422P) - LOGD("%s : SnapshotFormat:V4L2_PIX_FMT_YUV422P", __func__); + ALOGD("%s : SnapshotFormat:V4L2_PIX_FMT_YUV422P", __func__); else if (m_snapshot_v4lformat == V4L2_PIX_FMT_YUYV) - LOGD("%s : SnapshotFormat:V4L2_PIX_FMT_YUYV", __func__); + ALOGD("%s : SnapshotFormat:V4L2_PIX_FMT_YUYV", __func__); else if (m_snapshot_v4lformat == V4L2_PIX_FMT_UYVY) - LOGD("%s : SnapshotFormat:V4L2_PIX_FMT_UYVY", __func__); + ALOGD("%s : SnapshotFormat:V4L2_PIX_FMT_UYVY", __func__); else if (m_snapshot_v4lformat == V4L2_PIX_FMT_RGB565) - LOGD("%s : SnapshotFormat:V4L2_PIX_FMT_RGB565", __func__); + ALOGD("%s : SnapshotFormat:V4L2_PIX_FMT_RGB565", __func__); else - LOGD("SnapshotFormat:UnknownFormat"); + ALOGD("SnapshotFormat:UnknownFormat"); #endif return 0; } @@ -1542,15 +1522,15 @@ int SecCamera::getCameraId(void) int SecCamera::setAutofocus(void) { - LOGV("%s :", __func__); + ALOGV("%s :", __func__); if (m_cam_fd <= 0) { - LOGE("ERR(%s):Camera was closed\n", __func__); + ALOGE("ERR(%s):Camera was closed\n", __func__); return -1; } if (fimc_v4l2_s_ctrl(m_cam_fd, V4L2_CID_CAMERA_SET_AUTO_FOCUS, AUTO_FOCUS_ON) < 0) { - LOGE("ERR(%s):Fail on V4L2_CID_CAMERA_SET_AUTO_FOCUS", __func__); + ALOGE("ERR(%s):Fail on V4L2_CID_CAMERA_SET_AUTO_FOCUS", __func__); return -1; } @@ -1568,7 +1548,7 @@ int SecCamera::getAutoFocusResult(void) usleep(AF_DELAY); } if ((count >= FIRST_AF_SEARCH_COUNT) || (ret != AF_SUCCESS)) { - LOGV("%s : 1st AF timed out, failed, or was canceled", __func__); + ALOGV("%s : 1st AF timed out, failed, or was canceled", __func__); af_result = 0; goto finish_auto_focus; } @@ -1581,17 +1561,17 @@ int SecCamera::getAutoFocusResult(void) usleep(AF_DELAY); } if (count >= SECOND_AF_SEARCH_COUNT) { - LOGV("%s : 2nd AF timed out, failed, or was canceled", __func__); + ALOGV("%s : 2nd AF timed out, failed, or was canceled", __func__); af_result = 0; goto finish_auto_focus; } af_result = 1; - LOGV("%s : AF was successful, returning %d", __func__, af_result); + ALOGV("%s : AF was successful, returning %d", __func__, af_result); finish_auto_focus: if (fimc_v4l2_s_ctrl(m_cam_fd, V4L2_CID_CAMERA_FINISH_AUTO_FOCUS, 0) < 0) { - LOGE("ERR(%s):Fail on V4L2_CID_CAMERA_SET_PRE_FLASH", __func__); + ALOGE("ERR(%s):Fail on V4L2_CID_CAMERA_SET_PRE_FLASH", __func__); return -1; } return af_result; @@ -1599,15 +1579,15 @@ finish_auto_focus: int SecCamera::cancelAutofocus(void) { - LOGV("%s :", __func__); + ALOGV("%s :", __func__); if (m_cam_fd <= 0) { - LOGE("ERR(%s):Camera was closed\n", __func__); + ALOGE("ERR(%s):Camera was closed\n", __func__); return -1; } if (fimc_v4l2_s_ctrl(m_cam_fd, V4L2_CID_CAMERA_SET_AUTO_FOCUS, AUTO_FOCUS_OFF) < 0) { - LOGE("ERR(%s):Fail on V4L2_CID_CAMERA_SET_AUTO_FOCUS", __func__); + ALOGE("ERR(%s):Fail on V4L2_CID_CAMERA_SET_AUTO_FOCUS", __func__); return -1; } @@ -1618,13 +1598,13 @@ int SecCamera::cancelAutofocus(void) int SecCamera::zoomIn(void) { - LOGV("%s :", __func__); + ALOGV("%s :", __func__); return 0; } int SecCamera::zoomOut(void) { - LOGV("%s :", __func__); + ALOGV("%s :", __func__); return 0; } @@ -1632,7 +1612,7 @@ int SecCamera::zoomOut(void) int SecCamera::SetRotate(int angle) { - LOGE("%s(angle(%d))", __func__, angle); + ALOGE("%s(angle(%d))", __func__, angle); if (m_angle != angle) { switch (angle) { @@ -1658,13 +1638,13 @@ int SecCamera::SetRotate(int angle) break; default: - LOGE("ERR(%s):Invalid angle(%d)", __func__, angle); + ALOGE("ERR(%s):Invalid angle(%d)", __func__, angle); return -1; } if (m_flag_camera_start) { if (fimc_v4l2_s_ctrl(m_cam_fd, V4L2_CID_ROTATION, angle) < 0) { - LOGE("ERR(%s):Fail on V4L2_CID_ROTATION", __func__); + ALOGE("ERR(%s):Fail on V4L2_CID_ROTATION", __func__); return -1; } } @@ -1675,22 +1655,22 @@ int SecCamera::SetRotate(int angle) int SecCamera::getRotate(void) { - LOGV("%s : angle(%d)", __func__, m_angle); + ALOGV("%s : angle(%d)", __func__, m_angle); return m_angle; } int SecCamera::setFrameRate(int frame_rate) { - LOGV("%s(FrameRate(%d))", __func__, frame_rate); + ALOGV("%s(FrameRate(%d))", __func__, frame_rate); if (frame_rate < FRAME_RATE_AUTO || FRAME_RATE_MAX < frame_rate ) - LOGE("ERR(%s):Invalid frame_rate(%d)", __func__, frame_rate); + ALOGE("ERR(%s):Invalid frame_rate(%d)", __func__, frame_rate); if (m_params->capture.timeperframe.denominator != (unsigned)frame_rate) { m_params->capture.timeperframe.denominator = frame_rate; if (m_flag_camera_start) { if (fimc_v4l2_s_ctrl(m_cam_fd, V4L2_CID_CAMERA_FRAME_RATE, frame_rate) < 0) { - LOGE("ERR(%s):Fail on V4L2_CID_CAMERA_FRAME_RATE", __func__); + ALOGE("ERR(%s):Fail on V4L2_CID_CAMERA_FRAME_RATE", __func__); return -1; } } @@ -1703,15 +1683,15 @@ int SecCamera::setFrameRate(int frame_rate) int SecCamera::setVerticalMirror(void) { - LOGV("%s :", __func__); + ALOGV("%s :", __func__); if (m_cam_fd <= 0) { - LOGE("ERR(%s):Camera was closed\n", __func__); + ALOGE("ERR(%s):Camera was closed\n", __func__); return -1; } if (fimc_v4l2_s_ctrl(m_cam_fd, V4L2_CID_VFLIP, 0) < 0) { - LOGE("ERR(%s):Fail on V4L2_CID_VFLIP", __func__); + ALOGE("ERR(%s):Fail on V4L2_CID_VFLIP", __func__); return -1; } @@ -1720,15 +1700,15 @@ int SecCamera::setVerticalMirror(void) int SecCamera::setHorizontalMirror(void) { - LOGV("%s :", __func__); + ALOGV("%s :", __func__); if (m_cam_fd <= 0) { - LOGE("ERR(%s):Camera was closed\n", __func__); + ALOGE("ERR(%s):Camera was closed\n", __func__); return -1; } if (fimc_v4l2_s_ctrl(m_cam_fd, V4L2_CID_HFLIP, 0) < 0) { - LOGE("ERR(%s):Fail on V4L2_CID_HFLIP", __func__); + ALOGE("ERR(%s):Fail on V4L2_CID_HFLIP", __func__); return -1; } @@ -1739,10 +1719,10 @@ int SecCamera::setHorizontalMirror(void) int SecCamera::setWhiteBalance(int white_balance) { - LOGV("%s(white_balance(%d))", __func__, white_balance); + ALOGV("%s(white_balance(%d))", __func__, white_balance); if (white_balance <= WHITE_BALANCE_BASE || WHITE_BALANCE_MAX <= white_balance) { - LOGE("ERR(%s):Invalid white_balance(%d)", __func__, white_balance); + ALOGE("ERR(%s):Invalid white_balance(%d)", __func__, white_balance); return -1; } @@ -1750,7 +1730,7 @@ int SecCamera::setWhiteBalance(int white_balance) m_params->white_balance = white_balance; if (m_flag_camera_start) { if (fimc_v4l2_s_ctrl(m_cam_fd, V4L2_CID_CAMERA_WHITE_BALANCE, white_balance) < 0) { - LOGE("ERR(%s):Fail on V4L2_CID_CAMERA_WHITE_BALANCE", __func__); + ALOGE("ERR(%s):Fail on V4L2_CID_CAMERA_WHITE_BALANCE", __func__); return -1; } } @@ -1761,7 +1741,7 @@ int SecCamera::setWhiteBalance(int white_balance) int SecCamera::getWhiteBalance(void) { - LOGV("%s : white_balance(%d)", __func__, m_params->white_balance); + ALOGV("%s : white_balance(%d)", __func__, m_params->white_balance); return m_params->white_balance; } @@ -1769,12 +1749,12 @@ int SecCamera::getWhiteBalance(void) int SecCamera::setBrightness(int brightness) { - LOGV("%s(brightness(%d))", __func__, brightness); + ALOGV("%s(brightness(%d))", __func__, brightness); brightness += EV_DEFAULT; if (brightness < EV_MINUS_4 || EV_PLUS_4 < brightness) { - LOGE("ERR(%s):Invalid brightness(%d)", __func__, brightness); + ALOGE("ERR(%s):Invalid brightness(%d)", __func__, brightness); return -1; } @@ -1782,7 +1762,7 @@ int SecCamera::setBrightness(int brightness) m_params->brightness = brightness; if (m_flag_camera_start) { if (fimc_v4l2_s_ctrl(m_cam_fd, V4L2_CID_CAMERA_BRIGHTNESS, brightness) < 0) { - LOGE("ERR(%s):Fail on V4L2_CID_CAMERA_BRIGHTNESS", __func__); + ALOGE("ERR(%s):Fail on V4L2_CID_CAMERA_BRIGHTNESS", __func__); return -1; } } @@ -1793,7 +1773,7 @@ int SecCamera::setBrightness(int brightness) int SecCamera::getBrightness(void) { - LOGV("%s : brightness(%d)", __func__, m_params->brightness); + ALOGV("%s : brightness(%d)", __func__, m_params->brightness); return m_params->brightness; } @@ -1801,10 +1781,10 @@ int SecCamera::getBrightness(void) int SecCamera::setImageEffect(int image_effect) { - LOGV("%s(image_effect(%d))", __func__, image_effect); + ALOGV("%s(image_effect(%d))", __func__, image_effect); if (image_effect <= IMAGE_EFFECT_BASE || IMAGE_EFFECT_MAX <= image_effect) { - LOGE("ERR(%s):Invalid image_effect(%d)", __func__, image_effect); + ALOGE("ERR(%s):Invalid image_effect(%d)", __func__, image_effect); return -1; } @@ -1812,7 +1792,7 @@ int SecCamera::setImageEffect(int image_effect) m_params->effects = image_effect; if (m_flag_camera_start) { if (fimc_v4l2_s_ctrl(m_cam_fd, V4L2_CID_CAMERA_EFFECT, image_effect) < 0) { - LOGE("ERR(%s):Fail on V4L2_CID_CAMERA_EFFECT", __func__); + ALOGE("ERR(%s):Fail on V4L2_CID_CAMERA_EFFECT", __func__); return -1; } } @@ -1823,17 +1803,17 @@ int SecCamera::setImageEffect(int image_effect) int SecCamera::getImageEffect(void) { - LOGV("%s : image_effect(%d)", __func__, m_params->effects); + ALOGV("%s : image_effect(%d)", __func__, m_params->effects); return m_params->effects; } // ====================================================================== int SecCamera::setAntiBanding(int anti_banding) { - LOGV("%s(anti_banding(%d))", __func__, anti_banding); + ALOGV("%s(anti_banding(%d))", __func__, anti_banding); if (anti_banding < ANTI_BANDING_AUTO || ANTI_BANDING_OFF < anti_banding) { - LOGE("ERR(%s):Invalid anti_banding (%d)", __func__, anti_banding); + ALOGE("ERR(%s):Invalid anti_banding (%d)", __func__, anti_banding); return -1; } @@ -1841,7 +1821,7 @@ int SecCamera::setAntiBanding(int anti_banding) m_anti_banding = anti_banding; if (m_flag_camera_start) { if (fimc_v4l2_s_ctrl(m_cam_fd, V4L2_CID_CAMERA_ANTI_BANDING, anti_banding) < 0) { - LOGE("ERR(%s):Fail on V4L2_CID_CAMERA_ANTI_BANDING", __func__); + ALOGE("ERR(%s):Fail on V4L2_CID_CAMERA_ANTI_BANDING", __func__); return -1; } } @@ -1853,10 +1833,10 @@ int SecCamera::setAntiBanding(int anti_banding) //====================================================================== int SecCamera::setSceneMode(int scene_mode) { - LOGV("%s(scene_mode(%d))", __func__, scene_mode); + ALOGV("%s(scene_mode(%d))", __func__, scene_mode); if (scene_mode <= SCENE_MODE_BASE || SCENE_MODE_MAX <= scene_mode) { - LOGE("ERR(%s):Invalid scene_mode (%d)", __func__, scene_mode); + ALOGE("ERR(%s):Invalid scene_mode (%d)", __func__, scene_mode); return -1; } @@ -1864,7 +1844,7 @@ int SecCamera::setSceneMode(int scene_mode) m_params->scene_mode = scene_mode; if (m_flag_camera_start) { if (fimc_v4l2_s_ctrl(m_cam_fd, V4L2_CID_CAMERA_SCENE_MODE, scene_mode) < 0) { - LOGE("ERR(%s):Fail on V4L2_CID_CAMERA_SCENE_MODE", __func__); + ALOGE("ERR(%s):Fail on V4L2_CID_CAMERA_SCENE_MODE", __func__); return -1; } } @@ -1882,10 +1862,10 @@ int SecCamera::getSceneMode(void) int SecCamera::setFlashMode(int flash_mode) { - LOGV("%s(flash_mode(%d))", __func__, flash_mode); + ALOGV("%s(flash_mode(%d))", __func__, flash_mode); if (flash_mode <= FLASH_MODE_BASE || FLASH_MODE_MAX <= flash_mode) { - LOGE("ERR(%s):Invalid flash_mode (%d)", __func__, flash_mode); + ALOGE("ERR(%s):Invalid flash_mode (%d)", __func__, flash_mode); return -1; } @@ -1893,7 +1873,7 @@ int SecCamera::setFlashMode(int flash_mode) m_params->flash_mode = flash_mode; if (m_flag_camera_start) { if (fimc_v4l2_s_ctrl(m_cam_fd, V4L2_CID_CAMERA_FLASH_MODE, flash_mode) < 0) { - LOGE("ERR(%s):Fail on V4L2_CID_CAMERA_FLASH_MODE", __func__); + ALOGE("ERR(%s):Fail on V4L2_CID_CAMERA_FLASH_MODE", __func__); return -1; } } @@ -1911,9 +1891,9 @@ int SecCamera::getFlashMode(void) int SecCamera::setISO(int iso_value) { - LOGV("%s(iso_value(%d))", __func__, iso_value); + ALOGV("%s(iso_value(%d))", __func__, iso_value); if (iso_value < ISO_AUTO || ISO_MAX <= iso_value) { - LOGE("ERR(%s):Invalid iso_value (%d)", __func__, iso_value); + ALOGE("ERR(%s):Invalid iso_value (%d)", __func__, iso_value); return -1; } @@ -1921,7 +1901,7 @@ int SecCamera::setISO(int iso_value) m_params->iso = iso_value; if (m_flag_camera_start) { if (fimc_v4l2_s_ctrl(m_cam_fd, V4L2_CID_CAMERA_ISO, iso_value) < 0) { - LOGE("ERR(%s):Fail on V4L2_CID_CAMERA_ISO", __func__); + ALOGE("ERR(%s):Fail on V4L2_CID_CAMERA_ISO", __func__); return -1; } } @@ -1939,10 +1919,10 @@ int SecCamera::getISO(void) int SecCamera::setContrast(int contrast_value) { - LOGV("%s(contrast_value(%d))", __func__, contrast_value); + ALOGV("%s(contrast_value(%d))", __func__, contrast_value); if (contrast_value < CONTRAST_MINUS_2 || CONTRAST_MAX <= contrast_value) { - LOGE("ERR(%s):Invalid contrast_value (%d)", __func__, contrast_value); + ALOGE("ERR(%s):Invalid contrast_value (%d)", __func__, contrast_value); return -1; } @@ -1950,7 +1930,7 @@ int SecCamera::setContrast(int contrast_value) m_params->contrast = contrast_value; if (m_flag_camera_start) { if (fimc_v4l2_s_ctrl(m_cam_fd, V4L2_CID_CAMERA_CONTRAST, contrast_value) < 0) { - LOGE("ERR(%s):Fail on V4L2_CID_CAMERA_CONTRAST", __func__); + ALOGE("ERR(%s):Fail on V4L2_CID_CAMERA_CONTRAST", __func__); return -1; } } @@ -1968,10 +1948,10 @@ int SecCamera::getContrast(void) int SecCamera::setSaturation(int saturation_value) { - LOGV("%s(saturation_value(%d))", __func__, saturation_value); + ALOGV("%s(saturation_value(%d))", __func__, saturation_value); if (saturation_value <SATURATION_MINUS_2 || SATURATION_MAX<= saturation_value) { - LOGE("ERR(%s):Invalid saturation_value (%d)", __func__, saturation_value); + ALOGE("ERR(%s):Invalid saturation_value (%d)", __func__, saturation_value); return -1; } @@ -1979,7 +1959,7 @@ int SecCamera::setSaturation(int saturation_value) m_params->saturation = saturation_value; if (m_flag_camera_start) { if (fimc_v4l2_s_ctrl(m_cam_fd, V4L2_CID_CAMERA_SATURATION, saturation_value) < 0) { - LOGE("ERR(%s):Fail on V4L2_CID_CAMERA_SATURATION", __func__); + ALOGE("ERR(%s):Fail on V4L2_CID_CAMERA_SATURATION", __func__); return -1; } } @@ -1997,10 +1977,10 @@ int SecCamera::getSaturation(void) int SecCamera::setSharpness(int sharpness_value) { - LOGV("%s(sharpness_value(%d))", __func__, sharpness_value); + ALOGV("%s(sharpness_value(%d))", __func__, sharpness_value); if (sharpness_value < SHARPNESS_MINUS_2 || SHARPNESS_MAX <= sharpness_value) { - LOGE("ERR(%s):Invalid sharpness_value (%d)", __func__, sharpness_value); + ALOGE("ERR(%s):Invalid sharpness_value (%d)", __func__, sharpness_value); return -1; } @@ -2008,7 +1988,7 @@ int SecCamera::setSharpness(int sharpness_value) m_params->sharpness = sharpness_value; if (m_flag_camera_start) { if (fimc_v4l2_s_ctrl(m_cam_fd, V4L2_CID_CAMERA_SHARPNESS, sharpness_value) < 0) { - LOGE("ERR(%s):Fail on V4L2_CID_CAMERA_SHARPNESS", __func__); + ALOGE("ERR(%s):Fail on V4L2_CID_CAMERA_SHARPNESS", __func__); return -1; } } @@ -2026,10 +2006,10 @@ int SecCamera::getSharpness(void) int SecCamera::setWDR(int wdr_value) { - LOGV("%s(wdr_value(%d))", __func__, wdr_value); + ALOGV("%s(wdr_value(%d))", __func__, wdr_value); if (wdr_value < WDR_OFF || WDR_MAX <= wdr_value) { - LOGE("ERR(%s):Invalid wdr_value (%d)", __func__, wdr_value); + ALOGE("ERR(%s):Invalid wdr_value (%d)", __func__, wdr_value); return -1; } @@ -2037,7 +2017,7 @@ int SecCamera::setWDR(int wdr_value) m_wdr = wdr_value; if (m_flag_camera_start) { if (fimc_v4l2_s_ctrl(m_cam_fd, V4L2_CID_CAMERA_WDR, wdr_value) < 0) { - LOGE("ERR(%s):Fail on V4L2_CID_CAMERA_WDR", __func__); + ALOGE("ERR(%s):Fail on V4L2_CID_CAMERA_WDR", __func__); return -1; } } @@ -2055,10 +2035,10 @@ int SecCamera::getWDR(void) int SecCamera::setAntiShake(int anti_shake) { - LOGV("%s(anti_shake(%d))", __func__, anti_shake); + ALOGV("%s(anti_shake(%d))", __func__, anti_shake); if (anti_shake < ANTI_SHAKE_OFF || ANTI_SHAKE_MAX <= anti_shake) { - LOGE("ERR(%s):Invalid anti_shake (%d)", __func__, anti_shake); + ALOGE("ERR(%s):Invalid anti_shake (%d)", __func__, anti_shake); return -1; } @@ -2066,7 +2046,7 @@ int SecCamera::setAntiShake(int anti_shake) m_anti_shake = anti_shake; if (m_flag_camera_start) { if (fimc_v4l2_s_ctrl(m_cam_fd, V4L2_CID_CAMERA_ANTI_SHAKE, anti_shake) < 0) { - LOGE("ERR(%s):Fail on V4L2_CID_CAMERA_ANTI_SHAKE", __func__); + ALOGE("ERR(%s):Fail on V4L2_CID_CAMERA_ANTI_SHAKE", __func__); return -1; } } @@ -2085,10 +2065,10 @@ int SecCamera::getAntiShake(void) int SecCamera::setMetering(int metering_value) { - LOGV("%s(metering (%d))", __func__, metering_value); + ALOGV("%s(metering (%d))", __func__, metering_value); if (metering_value <= METERING_BASE || METERING_MAX <= metering_value) { - LOGE("ERR(%s):Invalid metering_value (%d)", __func__, metering_value); + ALOGE("ERR(%s):Invalid metering_value (%d)", __func__, metering_value); return -1; } @@ -2096,7 +2076,7 @@ int SecCamera::setMetering(int metering_value) m_params->metering = metering_value; if (m_flag_camera_start) { if (fimc_v4l2_s_ctrl(m_cam_fd, V4L2_CID_CAMERA_METERING, metering_value) < 0) { - LOGE("ERR(%s):Fail on V4L2_CID_CAMERA_METERING", __func__); + ALOGE("ERR(%s):Fail on V4L2_CID_CAMERA_METERING", __func__); return -1; } } @@ -2114,10 +2094,10 @@ int SecCamera::getMetering(void) int SecCamera::setJpegQuality(int jpeg_quality) { - LOGV("%s(jpeg_quality (%d))", __func__, jpeg_quality); + ALOGV("%s(jpeg_quality (%d))", __func__, jpeg_quality); if (jpeg_quality < JPEG_QUALITY_ECONOMY || JPEG_QUALITY_MAX <= jpeg_quality) { - LOGE("ERR(%s):Invalid jpeg_quality (%d)", __func__, jpeg_quality); + ALOGE("ERR(%s):Invalid jpeg_quality (%d)", __func__, jpeg_quality); return -1; } @@ -2125,7 +2105,7 @@ int SecCamera::setJpegQuality(int jpeg_quality) m_jpeg_quality = jpeg_quality; if (m_flag_camera_start && (m_camera_id == CAMERA_ID_BACK)) { if (fimc_v4l2_s_ctrl(m_cam_fd, V4L2_CID_CAM_JPEG_QUALITY, jpeg_quality) < 0) { - LOGE("ERR(%s):Fail on V4L2_CID_CAM_JPEG_QUALITY", __func__); + ALOGE("ERR(%s):Fail on V4L2_CID_CAM_JPEG_QUALITY", __func__); return -1; } } @@ -2143,10 +2123,10 @@ int SecCamera::getJpegQuality(void) int SecCamera::setZoom(int zoom_level) { - LOGV("%s(zoom_level (%d))", __func__, zoom_level); + ALOGV("%s(zoom_level (%d))", __func__, zoom_level); if (zoom_level < ZOOM_LEVEL_0 || ZOOM_LEVEL_MAX <= zoom_level) { - LOGE("ERR(%s):Invalid zoom_level (%d)", __func__, zoom_level); + ALOGE("ERR(%s):Invalid zoom_level (%d)", __func__, zoom_level); return -1; } @@ -2154,7 +2134,7 @@ int SecCamera::setZoom(int zoom_level) m_zoom_level = zoom_level; if (m_flag_camera_start) { if (fimc_v4l2_s_ctrl(m_cam_fd, V4L2_CID_CAMERA_ZOOM, zoom_level) < 0) { - LOGE("ERR(%s):Fail on V4L2_CID_CAMERA_ZOOM", __func__); + ALOGE("ERR(%s):Fail on V4L2_CID_CAMERA_ZOOM", __func__); return -1; } } @@ -2172,10 +2152,10 @@ int SecCamera::getZoom(void) int SecCamera::setObjectTracking(int object_tracking) { - LOGV("%s(object_tracking (%d))", __func__, object_tracking); + ALOGV("%s(object_tracking (%d))", __func__, object_tracking); if (object_tracking < OBJECT_TRACKING_OFF || OBJECT_TRACKING_MAX <= object_tracking) { - LOGE("ERR(%s):Invalid object_tracking (%d)", __func__, object_tracking); + ALOGE("ERR(%s):Invalid object_tracking (%d)", __func__, object_tracking); return -1; } @@ -2200,12 +2180,12 @@ int SecCamera::getObjectTrackingStatus(void) int SecCamera::setObjectTrackingStartStop(int start_stop) { - LOGV("%s(object_tracking_start_stop (%d))", __func__, start_stop); + ALOGV("%s(object_tracking_start_stop (%d))", __func__, start_stop); if (m_object_tracking_start_stop != start_stop) { m_object_tracking_start_stop = start_stop; if (fimc_v4l2_s_ctrl(m_cam_fd, V4L2_CID_CAMERA_OBJ_TRACKING_START_STOP, start_stop) < 0) { - LOGE("ERR(%s):Fail on V4L2_CID_CAMERA_OBJ_TRACKING_START_STOP", __func__); + ALOGE("ERR(%s):Fail on V4L2_CID_CAMERA_OBJ_TRACKING_START_STOP", __func__); return -1; } } @@ -2215,12 +2195,12 @@ int SecCamera::setObjectTrackingStartStop(int start_stop) int SecCamera::setTouchAFStartStop(int start_stop) { - LOGV("%s(touch_af_start_stop (%d))", __func__, start_stop); + ALOGV("%s(touch_af_start_stop (%d))", __func__, start_stop); if (m_touch_af_start_stop != start_stop) { m_touch_af_start_stop = start_stop; if (fimc_v4l2_s_ctrl(m_cam_fd, V4L2_CID_CAMERA_TOUCH_AF_START_STOP, start_stop) < 0) { - LOGE("ERR(%s):Fail on V4L2_CID_CAMERA_TOUCH_AF_START_STOP", __func__); + ALOGE("ERR(%s):Fail on V4L2_CID_CAMERA_TOUCH_AF_START_STOP", __func__); return -1; } } @@ -2232,10 +2212,10 @@ int SecCamera::setTouchAFStartStop(int start_stop) int SecCamera::setSmartAuto(int smart_auto) { - LOGV("%s(smart_auto (%d))", __func__, smart_auto); + ALOGV("%s(smart_auto (%d))", __func__, smart_auto); if (smart_auto < SMART_AUTO_OFF || SMART_AUTO_MAX <= smart_auto) { - LOGE("ERR(%s):Invalid smart_auto (%d)", __func__, smart_auto); + ALOGE("ERR(%s):Invalid smart_auto (%d)", __func__, smart_auto); return -1; } @@ -2243,7 +2223,7 @@ int SecCamera::setSmartAuto(int smart_auto) m_smart_auto = smart_auto; if (m_flag_camera_start) { if (fimc_v4l2_s_ctrl(m_cam_fd, V4L2_CID_CAMERA_SMART_AUTO, smart_auto) < 0) { - LOGE("ERR(%s):Fail on V4L2_CID_CAMERA_SMART_AUTO", __func__); + ALOGE("ERR(%s):Fail on V4L2_CID_CAMERA_SMART_AUTO", __func__); return -1; } } @@ -2265,21 +2245,21 @@ int SecCamera::getAutosceneStatus(void) autoscene_status = fimc_v4l2_g_ctrl(m_cam_fd, V4L2_CID_CAMERA_SMART_AUTO_STATUS); if ((autoscene_status < SMART_AUTO_STATUS_AUTO) || (autoscene_status > SMART_AUTO_STATUS_MAX)) { - LOGE("ERR(%s):Invalid getAutosceneStatus (%d)", __func__, autoscene_status); + ALOGE("ERR(%s):Invalid getAutosceneStatus (%d)", __func__, autoscene_status); return -1; } } - //LOGV("%s : autoscene_status (%d)", __func__, autoscene_status); + //ALOGV("%s : autoscene_status (%d)", __func__, autoscene_status); return autoscene_status; } //====================================================================== int SecCamera::setBeautyShot(int beauty_shot) { - LOGV("%s(beauty_shot (%d))", __func__, beauty_shot); + ALOGV("%s(beauty_shot (%d))", __func__, beauty_shot); if (beauty_shot < BEAUTY_SHOT_OFF || BEAUTY_SHOT_MAX <= beauty_shot) { - LOGE("ERR(%s):Invalid beauty_shot (%d)", __func__, beauty_shot); + ALOGE("ERR(%s):Invalid beauty_shot (%d)", __func__, beauty_shot); return -1; } @@ -2287,7 +2267,7 @@ int SecCamera::setBeautyShot(int beauty_shot) m_beauty_shot = beauty_shot; if (m_flag_camera_start) { if (fimc_v4l2_s_ctrl(m_cam_fd, V4L2_CID_CAMERA_BEAUTY_SHOT, beauty_shot) < 0) { - LOGE("ERR(%s):Fail on V4L2_CID_CAMERA_BEAUTY_SHOT", __func__); + ALOGE("ERR(%s):Fail on V4L2_CID_CAMERA_BEAUTY_SHOT", __func__); return -1; } } @@ -2307,10 +2287,10 @@ int SecCamera::getBeautyShot(void) int SecCamera::setVintageMode(int vintage_mode) { - LOGV("%s(vintage_mode(%d))", __func__, vintage_mode); + ALOGV("%s(vintage_mode(%d))", __func__, vintage_mode); if (vintage_mode <= VINTAGE_MODE_BASE || VINTAGE_MODE_MAX <= vintage_mode) { - LOGE("ERR(%s):Invalid vintage_mode (%d)", __func__, vintage_mode); + ALOGE("ERR(%s):Invalid vintage_mode (%d)", __func__, vintage_mode); return -1; } @@ -2318,7 +2298,7 @@ int SecCamera::setVintageMode(int vintage_mode) m_vintage_mode = vintage_mode; if (m_flag_camera_start) { if (fimc_v4l2_s_ctrl(m_cam_fd, V4L2_CID_CAMERA_VINTAGE_MODE, vintage_mode) < 0) { - LOGE("ERR(%s):Fail on V4L2_CID_CAMERA_VINTAGE_MODE", __func__); + ALOGE("ERR(%s):Fail on V4L2_CID_CAMERA_VINTAGE_MODE", __func__); return -1; } } @@ -2336,10 +2316,10 @@ int SecCamera::getVintageMode(void) int SecCamera::setFocusMode(int focus_mode) { - LOGV("%s(focus_mode(%d))", __func__, focus_mode); + ALOGV("%s(focus_mode(%d))", __func__, focus_mode); if (FOCUS_MODE_MAX <= focus_mode) { - LOGE("ERR(%s):Invalid focus_mode (%d)", __func__, focus_mode); + ALOGE("ERR(%s):Invalid focus_mode (%d)", __func__, focus_mode); return -1; } @@ -2348,7 +2328,7 @@ int SecCamera::setFocusMode(int focus_mode) if (m_flag_camera_start) { if (fimc_v4l2_s_ctrl(m_cam_fd, V4L2_CID_CAMERA_FOCUS_MODE, focus_mode) < 0) { - LOGE("ERR(%s):Fail on V4L2_CID_CAMERA_FOCUS_MODE", __func__); + ALOGE("ERR(%s):Fail on V4L2_CID_CAMERA_FOCUS_MODE", __func__); return -1; } } @@ -2366,19 +2346,19 @@ int SecCamera::getFocusMode(void) int SecCamera::setFaceDetect(int face_detect) { - LOGV("%s(face_detect(%d))", __func__, face_detect); + ALOGV("%s(face_detect(%d))", __func__, face_detect); if (m_face_detect != face_detect) { m_face_detect = face_detect; if (m_flag_camera_start) { if (m_face_detect != FACE_DETECTION_OFF) { if (fimc_v4l2_s_ctrl(m_cam_fd, V4L2_CID_CAMERA_FOCUS_MODE, FOCUS_MODE_AUTO) < 0) { - LOGE("ERR(%s):Fail on V4L2_CID_CAMERA_FOCUS_MODin face detecion", __func__); + ALOGE("ERR(%s):Fail on V4L2_CID_CAMERA_FOCUS_MODin face detecion", __func__); return -1; } } if (fimc_v4l2_s_ctrl(m_cam_fd, V4L2_CID_CAMERA_FACE_DETECTION, face_detect) < 0) { - LOGE("ERR(%s):Fail on V4L2_CID_CAMERA_FACE_DETECTION", __func__); + ALOGE("ERR(%s):Fail on V4L2_CID_CAMERA_FACE_DETECTION", __func__); return -1; } } @@ -2396,7 +2376,7 @@ int SecCamera::getFaceDetect(void) int SecCamera::setGPSLatitude(const char *gps_latitude) { - LOGV("%s(gps_latitude(%s))", __func__, gps_latitude); + ALOGV("%s(gps_latitude(%s))", __func__, gps_latitude); if (gps_latitude == NULL) m_gps_enabled = false; else { @@ -2404,13 +2384,13 @@ int SecCamera::setGPSLatitude(const char *gps_latitude) m_gps_latitude = lround(strtod(gps_latitude, NULL) * 10000000); } - LOGV("%s(m_gps_latitude(%ld))", __func__, m_gps_latitude); + ALOGV("%s(m_gps_latitude(%ld))", __func__, m_gps_latitude); return 0; } int SecCamera::setGPSLongitude(const char *gps_longitude) { - LOGV("%s(gps_longitude(%s))", __func__, gps_longitude); + ALOGV("%s(gps_longitude(%s))", __func__, gps_longitude); if (gps_longitude == NULL) m_gps_enabled = false; else { @@ -2418,38 +2398,38 @@ int SecCamera::setGPSLongitude(const char *gps_longitude) m_gps_longitude = lround(strtod(gps_longitude, NULL) * 10000000); } - LOGV("%s(m_gps_longitude(%ld))", __func__, m_gps_longitude); + ALOGV("%s(m_gps_longitude(%ld))", __func__, m_gps_longitude); return 0; } int SecCamera::setGPSAltitude(const char *gps_altitude) { - LOGV("%s(gps_altitude(%s))", __func__, gps_altitude); + ALOGV("%s(gps_altitude(%s))", __func__, gps_altitude); if (gps_altitude == NULL) m_gps_altitude = 0; else { m_gps_altitude = lround(strtod(gps_altitude, NULL) * 100); } - LOGV("%s(m_gps_altitude(%ld))", __func__, m_gps_altitude); + ALOGV("%s(m_gps_altitude(%ld))", __func__, m_gps_altitude); return 0; } int SecCamera::setGPSTimeStamp(const char *gps_timestamp) { - LOGV("%s(gps_timestamp(%s))", __func__, gps_timestamp); + ALOGV("%s(gps_timestamp(%s))", __func__, gps_timestamp); if (gps_timestamp == NULL) m_gps_timestamp = 0; else m_gps_timestamp = atol(gps_timestamp); - LOGV("%s(m_gps_timestamp(%ld))", __func__, m_gps_timestamp); + ALOGV("%s(m_gps_timestamp(%ld))", __func__, m_gps_timestamp); return 0; } int SecCamera::setGPSProcessingMethod(const char *gps_processing_method) { - LOGV("%s(gps_processing_method(%s))", __func__, gps_processing_method); + ALOGV("%s(gps_processing_method(%s))", __func__, gps_processing_method); memset(mExifInfo.gps_processing_method, 0, sizeof(mExifInfo.gps_processing_method)); if (gps_processing_method != NULL) { size_t len = strlen(gps_processing_method); @@ -2463,10 +2443,10 @@ int SecCamera::setGPSProcessingMethod(const char *gps_processing_method) int SecCamera::setFaceDetectLockUnlock(int facedetect_lockunlock) { - LOGV("%s(facedetect_lockunlock(%d))", __func__, facedetect_lockunlock); + ALOGV("%s(facedetect_lockunlock(%d))", __func__, facedetect_lockunlock); if (fimc_v4l2_s_ctrl(m_cam_fd, V4L2_CID_CAMERA_FACEDETECT_LOCKUNLOCK, facedetect_lockunlock) < 0) { - LOGE("ERR(%s):Fail on V4L2_CID_CAMERA_FACEDETECT_LOCKUNLOCK", __func__); + ALOGE("ERR(%s):Fail on V4L2_CID_CAMERA_FACEDETECT_LOCKUNLOCK", __func__); return -1; } @@ -2475,15 +2455,15 @@ int SecCamera::setFaceDetectLockUnlock(int facedetect_lockunlock) int SecCamera::setObjectPosition(int x, int y) { - LOGV("%s(setObjectPosition(x=%d, y=%d))", __func__, x, y); + ALOGV("%s(setObjectPosition(x=%d, y=%d))", __func__, x, y); if (fimc_v4l2_s_ctrl(m_cam_fd, V4L2_CID_CAMERA_OBJECT_POSITION_X, x) < 0) { - LOGE("ERR(%s):Fail on V4L2_CID_CAMERA_OBJECT_POSITION_X", __func__); + ALOGE("ERR(%s):Fail on V4L2_CID_CAMERA_OBJECT_POSITION_X", __func__); return -1; } if (fimc_v4l2_s_ctrl(m_cam_fd, V4L2_CID_CAMERA_OBJECT_POSITION_Y, y) < 0) { - LOGE("ERR(%s):Fail on V4L2_CID_CAMERA_OBJECT_POSITION_Y", __func__); + ALOGE("ERR(%s):Fail on V4L2_CID_CAMERA_OBJECT_POSITION_Y", __func__); return -1; } @@ -2494,10 +2474,10 @@ int SecCamera::setObjectPosition(int x, int y) int SecCamera::setGamma(int gamma) { - LOGV("%s(gamma(%d))", __func__, gamma); + ALOGV("%s(gamma(%d))", __func__, gamma); if (gamma < GAMMA_OFF || GAMMA_MAX <= gamma) { - LOGE("ERR(%s):Invalid gamma (%d)", __func__, gamma); + ALOGE("ERR(%s):Invalid gamma (%d)", __func__, gamma); return -1; } @@ -2505,7 +2485,7 @@ int SecCamera::setGamma(int gamma) m_video_gamma = gamma; if (m_flag_camera_start) { if (fimc_v4l2_s_ctrl(m_cam_fd, V4L2_CID_CAMERA_SET_GAMMA, gamma) < 0) { - LOGE("ERR(%s):Fail on V4L2_CID_CAMERA_SET_GAMMA", __func__); + ALOGE("ERR(%s):Fail on V4L2_CID_CAMERA_SET_GAMMA", __func__); return -1; } } @@ -2518,10 +2498,10 @@ int SecCamera::setGamma(int gamma) int SecCamera::setSlowAE(int slow_ae) { - LOGV("%s(slow_ae(%d))", __func__, slow_ae); + ALOGV("%s(slow_ae(%d))", __func__, slow_ae); if (slow_ae < GAMMA_OFF || GAMMA_MAX <= slow_ae) { - LOGE("ERR(%s):Invalid slow_ae (%d)", __func__, slow_ae); + ALOGE("ERR(%s):Invalid slow_ae (%d)", __func__, slow_ae); return -1; } @@ -2529,7 +2509,7 @@ int SecCamera::setSlowAE(int slow_ae) m_slow_ae = slow_ae; if (m_flag_camera_start) { if (fimc_v4l2_s_ctrl(m_cam_fd, V4L2_CID_CAMERA_SET_SLOW_AE, slow_ae) < 0) { - LOGE("ERR(%s):Fail on V4L2_CID_CAMERA_SET_SLOW_AE", __func__); + ALOGE("ERR(%s):Fail on V4L2_CID_CAMERA_SET_SLOW_AE", __func__); return -1; } } @@ -2541,7 +2521,7 @@ int SecCamera::setSlowAE(int slow_ae) //====================================================================== int SecCamera::setRecordingSize(int width, int height) { - LOGV("%s(width(%d), height(%d))", __func__, width, height); + ALOGV("%s(width(%d), height(%d))", __func__, width, height); m_recording_width = width; m_recording_height = height; @@ -2553,10 +2533,10 @@ int SecCamera::setRecordingSize(int width, int height) int SecCamera::setExifOrientationInfo(int orientationInfo) { - LOGV("%s(orientationInfo(%d))", __func__, orientationInfo); + ALOGV("%s(orientationInfo(%d))", __func__, orientationInfo); if (orientationInfo < 0) { - LOGE("ERR(%s):Invalid orientationInfo (%d)", __func__, orientationInfo); + ALOGE("ERR(%s):Invalid orientationInfo (%d)", __func__, orientationInfo); return -1; } m_exif_orientation = orientationInfo; @@ -2569,7 +2549,7 @@ int SecCamera::setBatchReflection() { if (m_flag_camera_start) { if (fimc_v4l2_s_ctrl(m_cam_fd, V4L2_CID_CAMERA_BATCH_REFLECTION, 1) < 0) { - LOGE("ERR(%s):Fail on V4L2_CID_CAMERA_BATCH_REFLECTION", __func__); + ALOGE("ERR(%s):Fail on V4L2_CID_CAMERA_BATCH_REFLECTION", __func__); return -1; } } @@ -2580,10 +2560,10 @@ int SecCamera::setBatchReflection() /*Video call*/ int SecCamera::setVTmode(int vtmode) { - LOGV("%s(vtmode (%d))", __func__, vtmode); + ALOGV("%s(vtmode (%d))", __func__, vtmode); if (vtmode < VT_MODE_OFF || VT_MODE_MAX <= vtmode) { - LOGE("ERR(%s):Invalid vtmode (%d)", __func__, vtmode); + ALOGE("ERR(%s):Invalid vtmode (%d)", __func__, vtmode); return -1; } @@ -2597,10 +2577,10 @@ int SecCamera::setVTmode(int vtmode) /* Camcorder fix fps */ int SecCamera::setSensorMode(int sensor_mode) { - LOGV("%s(sensor_mode (%d))", __func__, sensor_mode); + ALOGV("%s(sensor_mode (%d))", __func__, sensor_mode); if (sensor_mode < SENSOR_MODE_CAMERA || SENSOR_MODE_MOVIE < sensor_mode) { - LOGE("ERR(%s):Invalid sensor mode (%d)", __func__, sensor_mode); + ALOGE("ERR(%s):Invalid sensor mode (%d)", __func__, sensor_mode); return -1; } @@ -2620,9 +2600,9 @@ int SecCamera::setSensorMode(int sensor_mode) */ int SecCamera::setShotMode(int shot_mode) { - LOGV("%s(shot_mode (%d))", __func__, shot_mode); + ALOGV("%s(shot_mode (%d))", __func__, shot_mode); if (shot_mode < SHOT_MODE_SINGLE || SHOT_MODE_SELF < shot_mode) { - LOGE("ERR(%s):Invalid shot_mode (%d)", __func__, shot_mode); + ALOGE("ERR(%s):Invalid shot_mode (%d)", __func__, shot_mode); return -1; } m_shot_mode = shot_mode; @@ -2637,10 +2617,10 @@ int SecCamera::getVTmode(void) int SecCamera::setBlur(int blur_level) { - LOGV("%s(level (%d))", __func__, blur_level); + ALOGV("%s(level (%d))", __func__, blur_level); if (blur_level < BLUR_LEVEL_0 || BLUR_LEVEL_MAX <= blur_level) { - LOGE("ERR(%s):Invalid level (%d)", __func__, blur_level); + ALOGE("ERR(%s):Invalid level (%d)", __func__, blur_level); return -1; } @@ -2648,7 +2628,7 @@ int SecCamera::setBlur(int blur_level) m_blur_level = blur_level; if (m_flag_camera_start) { if (fimc_v4l2_s_ctrl(m_cam_fd, V4L2_CID_CAMERA_VGA_BLUR, blur_level) < 0) { - LOGE("ERR(%s):Fail on V4L2_CID_CAMERA_VGA_BLUR", __func__); + ALOGE("ERR(%s):Fail on V4L2_CID_CAMERA_VGA_BLUR", __func__); return -1; } } @@ -2663,10 +2643,10 @@ int SecCamera::getBlur(void) int SecCamera::setDataLineCheck(int chk_dataline) { - LOGV("%s(chk_dataline (%d))", __func__, chk_dataline); + ALOGV("%s(chk_dataline (%d))", __func__, chk_dataline); if (chk_dataline < CHK_DATALINE_OFF || CHK_DATALINE_MAX <= chk_dataline) { - LOGE("ERR(%s):Invalid chk_dataline (%d)", __func__, chk_dataline); + ALOGE("ERR(%s):Invalid chk_dataline (%d)", __func__, chk_dataline); return -1; } @@ -2682,11 +2662,11 @@ int SecCamera::getDataLineCheck(void) int SecCamera::setDataLineCheckStop(void) { - LOGV("%s", __func__); + ALOGV("%s", __func__); if (m_flag_camera_start) { if (fimc_v4l2_s_ctrl(m_cam_fd, V4L2_CID_CAMERA_CHECK_DATALINE_STOP, 1) < 0) { - LOGE("ERR(%s):Fail on V4L2_CID_CAMERA_CHECK_DATALINE_STOP", __func__); + ALOGE("ERR(%s):Fail on V4L2_CID_CAMERA_CHECK_DATALINE_STOP", __func__); return -1; } } @@ -2695,7 +2675,7 @@ int SecCamera::setDataLineCheckStop(void) const __u8* SecCamera::getCameraSensorName(void) { - LOGV("%s", __func__); + ALOGV("%s", __func__); return fimc_v4l2_enuminput(m_cam_fd, getCameraId()); } @@ -2703,7 +2683,7 @@ const __u8* SecCamera::getCameraSensorName(void) #ifdef ENABLE_ESD_PREVIEW_CHECK int SecCamera::getCameraSensorESDStatus(void) { - LOGV("%s", __func__); + ALOGV("%s", __func__); // 0 : normal operation, 1 : abnormal operation int status = fimc_v4l2_g_ctrl(m_cam_fd, V4L2_CID_ESD_INT); @@ -2717,7 +2697,7 @@ int SecCamera::getCameraSensorESDStatus(void) int SecCamera::setJpegThumbnailSize(int width, int height) { - LOGV("%s(width(%d), height(%d))", __func__, width, height); + ALOGV("%s(width(%d), height(%d))", __func__, width, height); m_jpeg_thumbnail_width = width; m_jpeg_thumbnail_height = height; @@ -2841,7 +2821,7 @@ void SecCamera::setExifChangedAttribute() it current returns a negative err value, so avoid putting odd value into exif for now */ if (shutterSpeed < 0) { - LOGE("%s: error %d getting shutterSpeed, camera_id = %d, using 100", + ALOGE("%s: error %d getting shutterSpeed, camera_id = %d, using 100", __func__, shutterSpeed, m_camera_id); shutterSpeed = 100; } @@ -2855,7 +2835,7 @@ void SecCamera::setExifChangedAttribute() it current returns a negative err value, so avoid putting odd value into exif for now */ if (iso < 0) { - LOGE("%s: error %d getting iso, camera_id = %d, using 100", + ALOGE("%s: error %d getting iso, camera_id = %d, using 100", __func__, iso, m_camera_id); iso = ISO_100; } @@ -2889,8 +2869,8 @@ void SecCamera::setExifChangedAttribute() sv = APEX_ISO_TO_FILMSENSITIVITY(mExifInfo.iso_speed_rating); bv = av + tv - sv; ev = av + tv; - LOGD("Shutter speed=%d us, iso=%d\n", shutterSpeed, mExifInfo.iso_speed_rating); - LOGD("AV=%d, TV=%d, SV=%d\n", av, tv, sv); + ALOGD("Shutter speed=%d us, iso=%d\n", shutterSpeed, mExifInfo.iso_speed_rating); + ALOGD("AV=%d, TV=%d, SV=%d\n", av, tv, sv); //3 Shutter Speed mExifInfo.shutter_speed.num = tv*EXIF_DEF_APEX_DEN; @@ -3031,7 +3011,7 @@ inline int SecCamera::m_frameSize(int format, int width, int height) break; default : - LOGE("ERR(%s):Invalid V4L2 pixel format(%d)\n", __func__, format); + ALOGE("ERR(%s):Invalid V4L2 pixel format(%d)\n", __func__, format); case V4L2_PIX_FMT_RGB565: size = (width * height * BPP); break; diff --git a/libcamera/SecCamera.h b/libcamera/SecCamera.h index ec0e470..a6cca4e 100755 --- a/libcamera/SecCamera.h +++ b/libcamera/SecCamera.h @@ -46,8 +46,8 @@ namespace android { #define ENABLE_ESD_PREVIEW_CHECK #if defined(LOG_NDEBUG) && LOG_NDEBUG == 0 -#define LOG_CAMERA LOGD -#define LOG_CAMERA_PREVIEW LOGD +#define LOG_CAMERA ALOGD +#define LOG_CAMERA_PREVIEW ALOGD #define LOG_TIME_DEFINE(n) \ struct timeval time_start_##n, time_stop_##n; unsigned long log_time_##n = 0; diff --git a/libcamera/SecCameraHWInterface.cpp b/libcamera/SecCameraHWInterface.cpp index 87c2b96..63574e6 100755 --- a/libcamera/SecCameraHWInterface.cpp +++ b/libcamera/SecCameraHWInterface.cpp @@ -27,7 +27,7 @@ #include <fcntl.h> #include <sys/mman.h> #include <camera/Camera.h> -#include <media/stagefright/MetadataBufferType.h> +#include <MetadataBufferType.h> #define VIDEO_COMMENT_MARKER_H 0xFFBE #define VIDEO_COMMENT_MARKER_L 0xFFBF @@ -92,7 +92,7 @@ CameraHardwareSec::CameraHardwareSec(int cameraId, camera_device_t *dev) mPostViewSize(0), mHalDevice(dev) { - LOGV("%s :", __func__); + ALOGV("%s :", __func__); int ret = 0; mPreviewWindow = NULL; @@ -105,16 +105,16 @@ CameraHardwareSec::CameraHardwareSec(int cameraId, camera_device_t *dev) if (!mGrallocHal) { ret = hw_get_module(GRALLOC_HARDWARE_MODULE_ID, (const hw_module_t **)&mGrallocHal); if (ret) - LOGE("ERR(%s):Fail on loading gralloc HAL", __func__); + ALOGE("ERR(%s):Fail on loading gralloc HAL", __func__); } ret = mSecCamera->initCamera(cameraId); if (ret < 0) { - LOGE("ERR(%s):Fail on mSecCamera init", __func__); + ALOGE("ERR(%s):Fail on mSecCamera init", __func__); } mSecCamera->getPostViewConfig(&mPostViewWidth, &mPostViewHeight, &mPostViewSize); - LOGV("mPostViewWidth = %d mPostViewHeight = %d mPostViewSize = %d", + ALOGV("mPostViewWidth = %d mPostViewHeight = %d mPostViewSize = %d", mPostViewWidth,mPostViewHeight,mPostViewSize); initDefaultParameters(cameraId); @@ -139,7 +139,7 @@ int CameraHardwareSec::getCameraId() const void CameraHardwareSec::initDefaultParameters(int cameraId) { if (mSecCamera == NULL) { - LOGE("ERR(%s):mSecCamera object is NULL", __func__); + ALOGE("ERR(%s):mSecCamera object is NULL", __func__); return; } @@ -147,7 +147,7 @@ void CameraHardwareSec::initDefaultParameters(int cameraId) CameraParameters ip; mCameraSensorName = mSecCamera->getCameraSensorName(); - LOGV("CameraSensorName: %s", mCameraSensorName); + ALOGV("CameraSensorName: %s", mCameraSensorName); int preview_max_width = 0; int preview_max_height = 0; @@ -172,11 +172,11 @@ void CameraHardwareSec::initDefaultParameters(int cameraId) // sizes at zero to catch the error. if (mSecCamera->getPreviewMaxSize(&preview_max_width, &preview_max_height) < 0) - LOGE("getPreviewMaxSize fail (%d / %d) \n", + ALOGE("getPreviewMaxSize fail (%d / %d) \n", preview_max_width, preview_max_height); if (mSecCamera->getSnapshotMaxSize(&snapshot_max_width, &snapshot_max_height) < 0) - LOGE("getSnapshotMaxSize fail (%d / %d) \n", + ALOGE("getSnapshotMaxSize fail (%d / %d) \n", snapshot_max_width, snapshot_max_height); String8 previewColorString; previewColorString = CameraParameters::PIXEL_FORMAT_YUV420SP; @@ -363,7 +363,7 @@ void CameraHardwareSec::initDefaultParameters(int cameraId) CameraHardwareSec::~CameraHardwareSec() { - LOGV("%s", __func__); + ALOGV("%s", __func__); mSecCamera->DeinitCamera(); } @@ -372,33 +372,33 @@ status_t CameraHardwareSec::setPreviewWindow(preview_stream_ops *w) int min_bufs; mPreviewWindow = w; - LOGV("%s: mPreviewWindow %p", __func__, mPreviewWindow); + ALOGV("%s: mPreviewWindow %p", __func__, mPreviewWindow); if (!w) { - LOGE("preview window is NULL!"); + ALOGE("preview window is NULL!"); return OK; } mPreviewLock.lock(); if (mPreviewRunning && !mPreviewStartDeferred) { - LOGI("stop preview (window change)"); + ALOGI("stop preview (window change)"); stopPreviewInternal(); } if (w->get_min_undequeued_buffer_count(w, &min_bufs)) { - LOGE("%s: could not retrieve min undequeued buffer count", __func__); + ALOGE("%s: could not retrieve min undequeued buffer count", __func__); return INVALID_OPERATION; } if (min_bufs >= kBufferCount) { - LOGE("%s: min undequeued buffer count %d is too high (expecting at most %d)", __func__, + ALOGE("%s: min undequeued buffer count %d is too high (expecting at most %d)", __func__, min_bufs, kBufferCount - 1); } - LOGV("%s: setting buffer count to %d", __func__, kBufferCount); + ALOGV("%s: setting buffer count to %d", __func__, kBufferCount); if (w->set_buffer_count(w, kBufferCount)) { - LOGE("%s: could not set buffer count", __func__); + ALOGE("%s: could not set buffer count", __func__); return INVALID_OPERATION; } @@ -408,23 +408,23 @@ status_t CameraHardwareSec::setPreviewWindow(preview_stream_ops *w) int hal_pixel_format = HAL_PIXEL_FORMAT_YV12; const char *str_preview_format = mParameters.getPreviewFormat(); - LOGV("%s: preview format %s", __func__, str_preview_format); + ALOGV("%s: preview format %s", __func__, str_preview_format); if (w->set_usage(w, GRALLOC_USAGE_SW_WRITE_OFTEN)) { - LOGE("%s: could not set usage on gralloc buffer", __func__); + ALOGE("%s: could not set usage on gralloc buffer", __func__); return INVALID_OPERATION; } if (w->set_buffers_geometry(w, preview_width, preview_height, hal_pixel_format)) { - LOGE("%s: could not set buffers geometry to %s", + ALOGE("%s: could not set buffers geometry to %s", __func__, str_preview_format); return INVALID_OPERATION; } if (mPreviewRunning && mPreviewStartDeferred) { - LOGV("start/resume preview"); + ALOGV("start/resume preview"); status_t ret = startPreviewInternal(); if (ret == OK) { mPreviewStartDeferred = false; @@ -451,19 +451,19 @@ void CameraHardwareSec::setCallbacks(camera_notify_callback notify_cb, void CameraHardwareSec::enableMsgType(int32_t msgType) { - LOGV("%s : msgType = 0x%x, mMsgEnabled before = 0x%x", + ALOGV("%s : msgType = 0x%x, mMsgEnabled before = 0x%x", __func__, msgType, mMsgEnabled); mMsgEnabled |= msgType; - LOGV("%s : mMsgEnabled = 0x%x", __func__, mMsgEnabled); + ALOGV("%s : mMsgEnabled = 0x%x", __func__, mMsgEnabled); } void CameraHardwareSec::disableMsgType(int32_t msgType) { - LOGV("%s : msgType = 0x%x, mMsgEnabled before = 0x%x", + ALOGV("%s : msgType = 0x%x, mMsgEnabled before = 0x%x", __func__, msgType, mMsgEnabled); mMsgEnabled &= ~msgType; - LOGV("%s : mMsgEnabled = 0x%x", __func__, mMsgEnabled); + ALOGV("%s : mMsgEnabled = 0x%x", __func__, mMsgEnabled); } bool CameraHardwareSec::msgTypeEnabled(int32_t msgType) @@ -483,21 +483,21 @@ void CameraHardwareSec::setSkipFrame(int frame) int CameraHardwareSec::previewThreadWrapper() { - LOGI("%s: starting", __func__); + ALOGI("%s: starting", __func__); while (1) { mPreviewLock.lock(); while (!mPreviewRunning) { - LOGI("%s: calling mSecCamera->stopPreview() and waiting", __func__); + ALOGI("%s: calling mSecCamera->stopPreview() and waiting", __func__); mSecCamera->stopPreview(); /* signal that we're stopping */ mPreviewStoppedCondition.signal(); mPreviewCondition.wait(mPreviewLock); - LOGI("%s: return from wait", __func__); + ALOGI("%s: return from wait", __func__); } mPreviewLock.unlock(); if (mExitPreviewThread) { - LOGI("%s: exiting", __func__); + ALOGI("%s: exiting", __func__); mSecCamera->stopPreview(); return 0; } @@ -515,17 +515,17 @@ int CameraHardwareSec::previewThread() index = mSecCamera->getPreview(); if (index < 0) { - LOGE("ERR(%s):Fail on SecCamera->getPreview()", __func__); + ALOGE("ERR(%s):Fail on SecCamera->getPreview()", __func__); return UNKNOWN_ERROR; } -// LOGV("%s: index %d", __func__, index); +// ALOGV("%s: index %d", __func__, index); mSkipFrameLock.lock(); if (mSkipFrame > 0) { mSkipFrame--; mSkipFrameLock.unlock(); - LOGV("%s: index %d skipping frame", __func__, index); + ALOGV("%s: index %d skipping frame", __func__, index); return NO_ERROR; } mSkipFrameLock.unlock(); @@ -536,7 +536,7 @@ int CameraHardwareSec::previewThread() phyCAddr = mSecCamera->getPhyAddrC(index); if (phyYAddr == 0xffffffff || phyCAddr == 0xffffffff) { - LOGE("ERR(%s):Fail on SecCamera getPhyAddr Y addr = %0x C addr = %0x", + ALOGE("ERR(%s):Fail on SecCamera getPhyAddr Y addr = %0x C addr = %0x", __func__, phyYAddr, phyCAddr); return UNKNOWN_ERROR; } @@ -551,7 +551,7 @@ int CameraHardwareSec::previewThread() buffer_handle_t *buf_handle; int stride; if (0 != mPreviewWindow->dequeue_buffer(mPreviewWindow, &buf_handle, &stride)) { - LOGE("Could not dequeue gralloc buffer!\n"); + ALOGE("Could not dequeue gralloc buffer!\n"); goto callbacks; } @@ -597,10 +597,10 @@ int CameraHardwareSec::previewThread() mGrallocHal->unlock(mGrallocHal, *buf_handle); } else - LOGE("%s: could not obtain gralloc buffer", __func__); + ALOGE("%s: could not obtain gralloc buffer", __func__); if (0 != mPreviewWindow->enqueue_buffer(mPreviewWindow, buf_handle)) { - LOGE("Could not enqueue gralloc buffer!\n"); + ALOGE("Could not enqueue gralloc buffer!\n"); goto callbacks; } } @@ -632,7 +632,7 @@ callbacks: if (mRecordRunning == true) { index = mSecCamera->getRecordFrame(); if (index < 0) { - LOGE("ERR(%s):Fail on SecCamera->getRecord()", __func__); + ALOGE("ERR(%s):Fail on SecCamera->getRecord()", __func__); return UNKNOWN_ERROR; } @@ -640,7 +640,7 @@ callbacks: phyCAddr = mSecCamera->getRecPhyAddrC(index); if (phyYAddr == 0xffffffff || phyCAddr == 0xffffffff) { - LOGE("ERR(%s):Fail on SecCamera getRectPhyAddr Y addr = %0x C addr = %0x", __func__, + ALOGE("ERR(%s):Fail on SecCamera getRectPhyAddr Y addr = %0x C addr = %0x", __func__, phyYAddr, phyCAddr); return UNKNOWN_ERROR; } @@ -668,7 +668,7 @@ status_t CameraHardwareSec::startPreview() { int ret = 0; //s1 [Apply factory standard] - LOGV("%s :", __func__); + ALOGV("%s :", __func__); if (waitCaptureCompletion() != NO_ERROR) { return TIMED_OUT; @@ -677,7 +677,7 @@ status_t CameraHardwareSec::startPreview() mPreviewLock.lock(); if (mPreviewRunning) { // already running - LOGE("%s : preview thread already running", __func__); + ALOGE("%s : preview thread already running", __func__); mPreviewLock.unlock(); return INVALID_OPERATION; } @@ -686,7 +686,7 @@ status_t CameraHardwareSec::startPreview() mPreviewStartDeferred = false; if (!mPreviewWindow) { - LOGI("%s : deferring", __func__); + ALOGI("%s : deferring", __func__); mPreviewStartDeferred = true; mPreviewLock.unlock(); return NO_ERROR; @@ -702,13 +702,13 @@ status_t CameraHardwareSec::startPreview() status_t CameraHardwareSec::startPreviewInternal() { - LOGV("%s", __func__); + ALOGV("%s", __func__); int ret = mSecCamera->startPreview(); - LOGV("%s : mSecCamera->startPreview() returned %d", __func__, ret); + ALOGV("%s : mSecCamera->startPreview() returned %d", __func__, ret); if (ret < 0) { - LOGE("ERR(%s):Fail on mSecCamera->startPreview()", __func__); + ALOGE("ERR(%s):Fail on mSecCamera->startPreview()", __func__); return UNKNOWN_ERROR; } @@ -718,7 +718,7 @@ status_t CameraHardwareSec::startPreviewInternal() mSecCamera->getPreviewSize(&width, &height, &frame_size); - LOGD("mPreviewHeap(fd(%d), size(%d), width(%d), height(%d))", + ALOGD("mPreviewHeap(fd(%d), size(%d), width(%d), height(%d))", mSecCamera->getCameraFd(), frame_size, width, height); if (mPreviewHeap) { mPreviewHeap->release(mPreviewHeap); @@ -731,7 +731,7 @@ status_t CameraHardwareSec::startPreviewInternal() 0); // no cookie mSecCamera->getPostViewConfig(&mPostViewWidth, &mPostViewHeight, &mPostViewSize); - LOGV("CameraHardwareSec: mPostViewWidth = %d mPostViewHeight = %d mPostViewSize = %d", + ALOGV("CameraHardwareSec: mPostViewWidth = %d mPostViewHeight = %d mPostViewSize = %d", mPostViewWidth,mPostViewHeight,mPostViewSize); return NO_ERROR; @@ -739,7 +739,7 @@ status_t CameraHardwareSec::startPreviewInternal() void CameraHardwareSec::stopPreviewInternal() { - LOGV("%s :", __func__); + ALOGV("%s :", __func__); /* request that the preview thread stop. */ if (mPreviewRunning) { @@ -750,14 +750,14 @@ void CameraHardwareSec::stopPreviewInternal() mPreviewStoppedCondition.wait(mPreviewLock); } else - LOGV("%s : preview running but deferred, doing nothing", __func__); + ALOGV("%s : preview running but deferred, doing nothing", __func__); } else - LOGI("%s : preview not running, doing nothing", __func__); + ALOGI("%s : preview not running, doing nothing", __func__); } void CameraHardwareSec::stopPreview() { - LOGV("%s :", __func__); + ALOGV("%s :", __func__); /* request that the preview thread stop. */ mPreviewLock.lock(); @@ -768,7 +768,7 @@ void CameraHardwareSec::stopPreview() bool CameraHardwareSec::previewEnabled() { Mutex::Autolock lock(mPreviewLock); - LOGV("%s : %d", __func__, mPreviewRunning); + ALOGV("%s : %d", __func__, mPreviewRunning); return mPreviewRunning; } @@ -776,7 +776,7 @@ bool CameraHardwareSec::previewEnabled() status_t CameraHardwareSec::startRecording() { - LOGV("%s :", __func__); + ALOGV("%s :", __func__); Mutex::Autolock lock(mRecordLock); @@ -786,13 +786,13 @@ status_t CameraHardwareSec::startRecording() } mRecordHeap = mGetMemoryCb(-1, sizeof(struct addrs), kBufferCount, NULL); if (!mRecordHeap) { - LOGE("ERR(%s): Record heap creation fail", __func__); + ALOGE("ERR(%s): Record heap creation fail", __func__); return UNKNOWN_ERROR; } if (mRecordRunning == false) { if (mSecCamera->startRecord() < 0) { - LOGE("ERR(%s):Fail on mSecCamera->startRecord()", __func__); + ALOGE("ERR(%s):Fail on mSecCamera->startRecord()", __func__); return UNKNOWN_ERROR; } mRecordRunning = true; @@ -802,13 +802,13 @@ status_t CameraHardwareSec::startRecording() void CameraHardwareSec::stopRecording() { - LOGV("%s :", __func__); + ALOGV("%s :", __func__); Mutex::Autolock lock(mRecordLock); if (mRecordRunning == true) { if (mSecCamera->stopRecord() < 0) { - LOGE("ERR(%s):Fail on mSecCamera->stopRecord()", __func__); + ALOGE("ERR(%s):Fail on mSecCamera->stopRecord()", __func__); return; } mRecordRunning = false; @@ -817,7 +817,7 @@ void CameraHardwareSec::stopRecording() bool CameraHardwareSec::recordingEnabled() { - LOGV("%s :", __func__); + ALOGV("%s :", __func__); return mRecordRunning; } @@ -835,7 +835,7 @@ int CameraHardwareSec::autoFocusThread() int count =0; int af_status =0 ; - LOGV("%s : starting", __func__); + ALOGV("%s : starting", __func__); /* block until we're told to start. we don't want to use * a restartable thread and requestExitAndWait() in cancelAutoFocus() @@ -847,32 +847,32 @@ int CameraHardwareSec::autoFocusThread() /* check early exit request */ if (mExitAutoFocusThread) { mFocusLock.unlock(); - LOGV("%s : exiting on request0", __func__); + ALOGV("%s : exiting on request0", __func__); return NO_ERROR; } mFocusCondition.wait(mFocusLock); /* check early exit request */ if (mExitAutoFocusThread) { mFocusLock.unlock(); - LOGV("%s : exiting on request1", __func__); + ALOGV("%s : exiting on request1", __func__); return NO_ERROR; } mFocusLock.unlock(); - LOGV("%s : calling setAutoFocus", __func__); + ALOGV("%s : calling setAutoFocus", __func__); if (mSecCamera->setAutofocus() < 0) { - LOGE("ERR(%s):Fail on mSecCamera->setAutofocus()", __func__); + ALOGE("ERR(%s):Fail on mSecCamera->setAutofocus()", __func__); return UNKNOWN_ERROR; } af_status = mSecCamera->getAutoFocusResult(); if (af_status == 0x01) { - LOGV("%s : AF Success!!", __func__); + ALOGV("%s : AF Success!!", __func__); if (mMsgEnabled & CAMERA_MSG_FOCUS) mNotifyCb(CAMERA_MSG_FOCUS, true, 0, mCallbackCookie); } else if (af_status == 0x02) { - LOGV("%s : AF Cancelled !!", __func__); + ALOGV("%s : AF Cancelled !!", __func__); if (mMsgEnabled & CAMERA_MSG_FOCUS) { /* CAMERA_MSG_FOCUS only takes a bool. true for * finished and false for failure. cancel is still @@ -881,19 +881,19 @@ int CameraHardwareSec::autoFocusThread() mNotifyCb(CAMERA_MSG_FOCUS, true, 0, mCallbackCookie); } } else { - LOGV("%s : AF Fail !!", __func__); - LOGV("%s : mMsgEnabled = 0x%x", __func__, mMsgEnabled); + ALOGV("%s : AF Fail !!", __func__); + ALOGV("%s : mMsgEnabled = 0x%x", __func__, mMsgEnabled); if (mMsgEnabled & CAMERA_MSG_FOCUS) mNotifyCb(CAMERA_MSG_FOCUS, false, 0, mCallbackCookie); } - LOGV("%s : exiting with no error", __func__); + ALOGV("%s : exiting with no error", __func__); return NO_ERROR; } status_t CameraHardwareSec::autoFocus() { - LOGV("%s :", __func__); + ALOGV("%s :", __func__); /* signal autoFocusThread to run once */ mFocusCondition.signal(); return NO_ERROR; @@ -902,7 +902,12 @@ status_t CameraHardwareSec::autoFocus() /* 2009.10.14 by icarus for added interface */ status_t CameraHardwareSec::cancelAutoFocus() { - LOGV("%s :", __func__); + ALOGV("%s :", __func__); + + // If preview is not running, cancel autofocus can still be called. + // Since the camera subsystem is completely reset on preview start, + // cancel AF is a no-op. + if (!mPreviewRunning) return NO_ERROR; // cancelAutoFocus should be allowed after preview is started. But if // the preview is deferred, cancelAutoFocus will fail. Ignore it if that is @@ -910,7 +915,7 @@ status_t CameraHardwareSec::cancelAutoFocus() if (mPreviewRunning && mPreviewStartDeferred) return NO_ERROR; if (mSecCamera->cancelAutofocus() < 0) { - LOGE("ERR(%s):Fail on mSecCamera->cancelAutofocus()", __func__); + ALOGE("ERR(%s):Fail on mSecCamera->cancelAutofocus()", __func__); return UNKNOWN_ERROR; } @@ -925,14 +930,14 @@ int CameraHardwareSec::save_jpeg( unsigned char *real_jpeg, int jpeg_size) /* file create/open, note to "wb" */ yuv_fp = fopen("/data/camera_dump.jpeg", "wb"); if (yuv_fp == NULL) { - LOGE("Save jpeg file open error"); + ALOGE("Save jpeg file open error"); return -1; } - LOGV("[BestIQ] real_jpeg size ========> %d\n", jpeg_size); + ALOGV("[BestIQ] real_jpeg size ========> %d\n", jpeg_size); buffer = (char *) malloc(jpeg_size); if (buffer == NULL) { - LOGE("Save YUV] buffer alloc failed"); + ALOGE("Save YUV] buffer alloc failed"); if (yuv_fp) fclose(yuv_fp); @@ -961,24 +966,24 @@ void CameraHardwareSec::save_postview(const char *fname, uint8_t *buf, uint32_t int cnt = 0; uint32_t written = 0; - LOGD("opening file [%s]\n", fname); + ALOGD("opening file [%s]\n", fname); int fd = open(fname, O_RDWR | O_CREAT); if (fd < 0) { - LOGE("failed to create file [%s]: %s", fname, strerror(errno)); + ALOGE("failed to create file [%s]: %s", fname, strerror(errno)); return; } - LOGD("writing %d bytes to file [%s]\n", size, fname); + ALOGD("writing %d bytes to file [%s]\n", size, fname); while (written < size) { nw = ::write(fd, buf + written, size - written); if (nw < 0) { - LOGE("failed to write to file %d [%s]: %s",written,fname, strerror(errno)); + ALOGE("failed to write to file %d [%s]: %s",written,fname, strerror(errno)); break; } written += nw; cnt++; } - LOGD("done writing %d bytes to file [%s] in %d passes\n",size, fname, cnt); + ALOGD("done writing %d bytes to file [%s] in %d passes\n",size, fname, cnt); ::close(fd); } @@ -990,7 +995,7 @@ bool CameraHardwareSec::scaleDownYuv422(char *srcBuf, uint32_t srcWidth, uint32_ int32_t x, y, src_y_start_pos, dst_pos, src_pos; if (dstWidth % 2 != 0 || dstHeight % 2 != 0){ - LOGE("scale_down_yuv422: invalid width, height for scaling"); + ALOGE("scale_down_yuv422: invalid width, height for scaling"); return false; } @@ -1047,7 +1052,7 @@ bool CameraHardwareSec::YUY2toNV21(void *srcBuf, void *dstBuf, uint32_t srcWidth int CameraHardwareSec::pictureThread() { - LOGV("%s :", __func__); + ALOGV("%s :", __func__); int jpeg_size = 0; int ret = NO_ERROR; @@ -1082,7 +1087,7 @@ int CameraHardwareSec::pictureThread() addrs[0].width = mPostViewWidth; addrs[0].height = mPostViewHeight; - LOGV("[5B] mPostViewWidth = %d mPostViewHeight = %d\n",mPostViewWidth,mPostViewHeight); + ALOGV("[5B] mPostViewWidth = %d mPostViewHeight = %d\n",mPostViewWidth,mPostViewHeight); camera_memory_t *JpegHeap = mGetMemoryCb(-1, mJpegHeapSize, 1, 0); sp<MemoryHeapBase> PostviewHeap = new MemoryHeapBase(mPostViewSize); @@ -1107,7 +1112,7 @@ int CameraHardwareSec::pictureThread() if (mSecCamera->getCameraId() == SecCamera::CAMERA_ID_BACK){ jpeg_data = mSecCamera->getJpeg(&jpeg_size, &phyAddr); if (jpeg_data == NULL) { - LOGE("ERR(%s):Fail on SecCamera->getSnapshot()", __func__); + ALOGE("ERR(%s):Fail on SecCamera->getSnapshot()", __func__); ret = UNKNOWN_ERROR; goto out; } @@ -1117,7 +1122,7 @@ int CameraHardwareSec::pictureThread() ret = UNKNOWN_ERROR; goto out; } - LOGI("snapshotandjpeg done\n"); + ALOGI("snapshotandjpeg done\n"); } LOG_TIME_END(1) @@ -1126,7 +1131,7 @@ int CameraHardwareSec::pictureThread() if (mSecCamera->getCameraId() == SecCamera::CAMERA_ID_BACK) { isLSISensor = !strncmp((const char*)mCameraSensorName, "S5K4ECGX", 8); if(isLSISensor) { - LOGI("== Camera Sensor Detect %s - Samsung LSI SOC 5M ==\n", mCameraSensorName); + ALOGI("== Camera Sensor Detect %s - Samsung LSI SOC 5M ==\n", mCameraSensorName); // LSI 5M SOC if (!SplitFrame(jpeg_data, SecCamera::getInterleaveDataSize(), SecCamera::getJpegLineLength(), @@ -1137,7 +1142,7 @@ int CameraHardwareSec::pictureThread() goto out; } } else { - LOGI("== Camera Sensor Detect %s Sony SOC 5M ==\n", mCameraSensorName); + ALOGI("== Camera Sensor Detect %s Sony SOC 5M ==\n", mCameraSensorName); decodeInterleaveData(jpeg_data, SecCamera::getInterleaveDataSize(), mPostViewWidth, mPostViewHeight, @@ -1163,7 +1168,7 @@ int CameraHardwareSec::pictureThread() JpegExifSize = mSecCamera->getExif((unsigned char *)ExifHeap->data, (unsigned char *)ThumbnailHeap->base()); - LOGV("JpegExifSize=%d", JpegExifSize); + ALOGV("JpegExifSize=%d", JpegExifSize); if (JpegExifSize < 0) { ret = UNKNOWN_ERROR; @@ -1184,7 +1189,7 @@ int CameraHardwareSec::pictureThread() LOG_TIME_END(0) LOG_CAMERA("pictureThread interval: %lu us", LOG_TIME(0)); - LOGV("%s : pictureThread end", __func__); + ALOGV("%s : pictureThread end", __func__); out: JpegHeap->release(JpegHeap); @@ -1204,10 +1209,10 @@ status_t CameraHardwareSec::waitCaptureCompletion() { while (mCaptureInProgress) { nsecs_t remainingTime = endTime - systemTime(SYSTEM_TIME_MONOTONIC); if (remainingTime <= 0) { - LOGE("Timed out waiting picture thread."); + ALOGE("Timed out waiting picture thread."); return TIMED_OUT; } - LOGD("Waiting for picture thread to complete."); + ALOGD("Waiting for picture thread to complete."); mCaptureCondition.waitRelative(mCaptureLock, remainingTime); } return NO_ERROR; @@ -1215,16 +1220,16 @@ status_t CameraHardwareSec::waitCaptureCompletion() { status_t CameraHardwareSec::takePicture() { - LOGV("%s :", __func__); + ALOGV("%s :", __func__); stopPreview(); if (!mRawHeap) { int rawHeapSize = mPostViewSize; - LOGV("mRawHeap : MemoryHeapBase(previewHeapSize(%d))", rawHeapSize); + ALOGV("mRawHeap : MemoryHeapBase(previewHeapSize(%d))", rawHeapSize); mRawHeap = mGetMemoryCb(-1, rawHeapSize, 1, 0); if (!mRawHeap) { - LOGE("ERR(%s): Raw heap creation fail", __func__); + ALOGE("ERR(%s): Raw heap creation fail", __func__); } } @@ -1233,7 +1238,7 @@ status_t CameraHardwareSec::takePicture() } if (mPictureThread->run("CameraPictureThread", PRIORITY_DEFAULT) != NO_ERROR) { - LOGE("%s : couldn't run picture thread", __func__); + ALOGE("%s : couldn't run picture thread", __func__); return INVALID_OPERATION; } mCaptureLock.lock(); @@ -1245,12 +1250,12 @@ status_t CameraHardwareSec::takePicture() status_t CameraHardwareSec::cancelPicture() { - LOGV("%s", __func__); + ALOGV("%s", __func__); if (mPictureThread.get()) { - LOGV("%s: waiting for picture thread to exit", __func__); + ALOGV("%s: waiting for picture thread to exit", __func__); mPictureThread->requestExitAndWait(); - LOGV("%s: picture thread has exited", __func__); + ALOGV("%s: picture thread has exited", __func__); } return NO_ERROR; @@ -1259,7 +1264,7 @@ status_t CameraHardwareSec::cancelPicture() bool CameraHardwareSec::CheckVideoStartMarker(unsigned char *pBuf) { if (!pBuf) { - LOGE("CheckVideoStartMarker() => pBuf is NULL\n"); + ALOGE("CheckVideoStartMarker() => pBuf is NULL\n"); return false; } @@ -1273,7 +1278,7 @@ bool CameraHardwareSec::CheckVideoStartMarker(unsigned char *pBuf) bool CameraHardwareSec::CheckEOIMarker(unsigned char *pBuf) { if (!pBuf) { - LOGE("CheckEOIMarker() => pBuf is NULL\n"); + ALOGE("CheckEOIMarker() => pBuf is NULL\n"); return false; } @@ -1287,7 +1292,7 @@ bool CameraHardwareSec::CheckEOIMarker(unsigned char *pBuf) bool CameraHardwareSec::FindEOIMarkerInJPEG(unsigned char *pBuf, int dwBufSize, int *pnJPEGsize) { if (NULL == pBuf || 0 >= dwBufSize) { - LOGE("FindEOIMarkerInJPEG() => There is no contents."); + ALOGE("FindEOIMarkerInJPEG() => There is no contents."); return false; } @@ -1308,15 +1313,15 @@ bool CameraHardwareSec::SplitFrame(unsigned char *pFrame, int dwSize, void *pJPEG, int *pdwJPEGSize, void *pVideo, int *pdwVideoSize) { - LOGV("===========SplitFrame Start=============="); + ALOGV("===========SplitFrame Start=============="); if (NULL == pFrame || 0 >= dwSize) { - LOGE("There is no contents (pFrame=%p, dwSize=%d", pFrame, dwSize); + ALOGE("There is no contents (pFrame=%p, dwSize=%d", pFrame, dwSize); return false; } if (0 == dwJPEGLineLength || 0 == dwVideoLineLength) { - LOGE("There in no input information for decoding interleaved jpeg"); + ALOGE("There in no input information for decoding interleaved jpeg"); return false; } @@ -1385,14 +1390,14 @@ bool CameraHardwareSec::SplitFrame(unsigned char *pFrame, int dwSize, if(pdwVideoSize) *pdwVideoSize = dwVSize; } else { - LOGE("DecodeInterleaveJPEG_WithOutDT() => Can not find EOI"); + ALOGE("DecodeInterleaveJPEG_WithOutDT() => Can not find EOI"); bRet = false; if(pdwJPEGSize) *pdwJPEGSize = 0; if(pdwVideoSize) *pdwVideoSize = 0; } - LOGV("===========SplitFrame end=============="); + ALOGV("===========SplitFrame end=============="); return bRet; } @@ -1418,18 +1423,18 @@ int CameraHardwareSec::decodeInterleaveData(unsigned char *pInterleaveData, int i = 0; - LOGV("decodeInterleaveData Start~~~"); + ALOGV("decodeInterleaveData Start~~~"); while (i < interleaveDataSize) { if ((*interleave_ptr == 0xFFFFFFFF) || (*interleave_ptr == 0x02FFFFFF) || (*interleave_ptr == 0xFF02FFFF)) { // Padding Data -// LOGE("%d(%x) padding data\n", i, *interleave_ptr); +// ALOGE("%d(%x) padding data\n", i, *interleave_ptr); interleave_ptr++; i += 4; } else if ((*interleave_ptr & 0xFFFF) == 0x05FF) { // Start-code of YUV Data -// LOGE("%d(%x) yuv data\n", i, *interleave_ptr); +// ALOGE("%d(%x) yuv data\n", i, *interleave_ptr); p = (unsigned char *)interleave_ptr; p += 2; i += 2; @@ -1453,7 +1458,7 @@ int CameraHardwareSec::decodeInterleaveData(unsigned char *pInterleaveData, } } else { // Extract JPEG Data -// LOGE("%d(%x) jpg data, jpeg_size = %d bytes\n", i, *interleave_ptr, jpeg_size); +// ALOGE("%d(%x) jpg data, jpeg_size = %d bytes\n", i, *interleave_ptr, jpeg_size); if (pJpegData != NULL) { memcpy(jpeg_ptr, interleave_ptr, 4); jpeg_ptr += 4; @@ -1482,7 +1487,7 @@ int CameraHardwareSec::decodeInterleaveData(unsigned char *pInterleaveData, } } } - LOGV("decodeInterleaveData End~~~"); + ALOGV("decodeInterleaveData End~~~"); return ret; } @@ -1549,7 +1554,7 @@ bool CameraHardwareSec::isSupportedParameter(const char * const parm, status_t CameraHardwareSec::setParameters(const CameraParameters& params) { - LOGV("%s :", __func__); + ALOGV("%s :", __func__); status_t ret = NO_ERROR; @@ -1565,12 +1570,12 @@ status_t CameraHardwareSec::setParameters(const CameraParameters& params) int new_preview_height = 0; params.getPreviewSize(&new_preview_width, &new_preview_height); const char *new_str_preview_format = params.getPreviewFormat(); - LOGV("%s : new_preview_width x new_preview_height = %dx%d, format = %s", + ALOGV("%s : new_preview_width x new_preview_height = %dx%d, format = %s", __func__, new_preview_width, new_preview_height, new_str_preview_format); if (strcmp(new_str_preview_format, CameraParameters::PIXEL_FORMAT_YUV420SP) && strcmp(new_str_preview_format, CameraParameters::PIXEL_FORMAT_YUV420P)) { - LOGE("Unsupported preview color format: %s", new_str_preview_format); + ALOGE("Unsupported preview color format: %s", new_str_preview_format); return BAD_VALUE; } @@ -1590,33 +1595,33 @@ status_t CameraHardwareSec::setParameters(const CameraParameters& params) current_pixel_format != new_preview_format) { if (mSecCamera->setPreviewSize(new_preview_width, new_preview_height, new_preview_format) < 0) { - LOGE("ERR(%s):Fail on mSecCamera->setPreviewSize(width(%d), height(%d), format(%d))", + ALOGE("ERR(%s):Fail on mSecCamera->setPreviewSize(width(%d), height(%d), format(%d))", __func__, new_preview_width, new_preview_height, new_preview_format); ret = UNKNOWN_ERROR; } else { if (mPreviewWindow) { if (mPreviewRunning && !mPreviewStartDeferred) { - LOGE("ERR(%s): preview is running, cannot change size and format!", + ALOGE("ERR(%s): preview is running, cannot change size and format!", __func__); ret = INVALID_OPERATION; } - LOGV("%s: mPreviewWindow (%p) set_buffers_geometry", __func__, mPreviewWindow); - LOGV("%s: mPreviewWindow->set_buffers_geometry (%p)", __func__, + ALOGV("%s: mPreviewWindow (%p) set_buffers_geometry", __func__, mPreviewWindow); + ALOGV("%s: mPreviewWindow->set_buffers_geometry (%p)", __func__, mPreviewWindow->set_buffers_geometry); mPreviewWindow->set_buffers_geometry(mPreviewWindow, new_preview_width, new_preview_height, new_preview_format); - LOGV("%s: DONE mPreviewWindow (%p) set_buffers_geometry", __func__, mPreviewWindow); + ALOGV("%s: DONE mPreviewWindow (%p) set_buffers_geometry", __func__, mPreviewWindow); } mParameters.setPreviewSize(new_preview_width, new_preview_height); mParameters.setPreviewFormat(new_str_preview_format); } } - else LOGV("%s: preview size and format has not changed", __func__); + else ALOGV("%s: preview size and format has not changed", __func__); } else { - LOGE("%s: Invalid preview size(%dx%d)", + ALOGE("%s: Invalid preview size(%dx%d)", __func__, new_preview_width, new_preview_height); ret = INVALID_OPERATION; @@ -1626,11 +1631,11 @@ status_t CameraHardwareSec::setParameters(const CameraParameters& params) int new_picture_height = 0; params.getPictureSize(&new_picture_width, &new_picture_height); - LOGV("%s : new_picture_width x new_picture_height = %dx%d", __func__, new_picture_width, new_picture_height); + ALOGV("%s : new_picture_width x new_picture_height = %dx%d", __func__, new_picture_width, new_picture_height); if (0 < new_picture_width && 0 < new_picture_height) { - LOGV("%s: setSnapshotSize", __func__); + ALOGV("%s: setSnapshotSize", __func__); if (mSecCamera->setSnapshotSize(new_picture_width, new_picture_height) < 0) { - LOGE("ERR(%s):Fail on mSecCamera->setSnapshotSize(width(%d), height(%d))", + ALOGE("ERR(%s):Fail on mSecCamera->setSnapshotSize(width(%d), height(%d))", __func__, new_picture_width, new_picture_height); ret = UNKNOWN_ERROR; } else { @@ -1640,7 +1645,7 @@ status_t CameraHardwareSec::setParameters(const CameraParameters& params) // picture format const char *new_str_picture_format = params.getPictureFormat(); - LOGV("%s : new_str_picture_format %s", __func__, new_str_picture_format); + ALOGV("%s : new_str_picture_format %s", __func__, new_str_picture_format); if (new_str_picture_format != NULL) { int new_picture_format = 0; @@ -1668,7 +1673,7 @@ status_t CameraHardwareSec::setParameters(const CameraParameters& params) new_picture_format = V4L2_PIX_FMT_NV21; //for 3rd party if (mSecCamera->setSnapshotPixelFormat(new_picture_format) < 0) { - LOGE("ERR(%s):Fail on mSecCamera->setSnapshotPixelFormat(format(%d))", __func__, new_picture_format); + ALOGE("ERR(%s):Fail on mSecCamera->setSnapshotPixelFormat(format(%d))", __func__, new_picture_format); ret = UNKNOWN_ERROR; } else { mParameters.setPictureFormat(new_str_picture_format); @@ -1677,11 +1682,11 @@ status_t CameraHardwareSec::setParameters(const CameraParameters& params) //JPEG image quality int new_jpeg_quality = params.getInt(CameraParameters::KEY_JPEG_QUALITY); - LOGV("%s : new_jpeg_quality %d", __func__, new_jpeg_quality); + ALOGV("%s : new_jpeg_quality %d", __func__, new_jpeg_quality); /* we ignore bad values */ if (new_jpeg_quality >=1 && new_jpeg_quality <= 100) { if (mSecCamera->setJpegQuality(new_jpeg_quality) < 0) { - LOGE("ERR(%s):Fail on mSecCamera->setJpegQuality(quality(%d))", __func__, new_jpeg_quality); + ALOGE("ERR(%s):Fail on mSecCamera->setJpegQuality(quality(%d))", __func__, new_jpeg_quality); ret = UNKNOWN_ERROR; } else { mParameters.set(CameraParameters::KEY_JPEG_QUALITY, new_jpeg_quality); @@ -1693,7 +1698,7 @@ status_t CameraHardwareSec::setParameters(const CameraParameters& params) int new_jpeg_thumbnail_height= params.getInt(CameraParameters::KEY_JPEG_THUMBNAIL_HEIGHT); if (0 <= new_jpeg_thumbnail_width && 0 <= new_jpeg_thumbnail_height) { if (mSecCamera->setJpegThumbnailSize(new_jpeg_thumbnail_width, new_jpeg_thumbnail_height) < 0) { - LOGE("ERR(%s):Fail on mSecCamera->setJpegThumbnailSize(width(%d), height(%d))", __func__, new_jpeg_thumbnail_width, new_jpeg_thumbnail_height); + ALOGE("ERR(%s):Fail on mSecCamera->setJpegThumbnailSize(width(%d), height(%d))", __func__, new_jpeg_thumbnail_width, new_jpeg_thumbnail_height); ret = UNKNOWN_ERROR; } else { mParameters.set(CameraParameters::KEY_JPEG_THUMBNAIL_WIDTH, new_jpeg_thumbnail_width); @@ -1707,17 +1712,17 @@ status_t CameraHardwareSec::setParameters(const CameraParameters& params) * on scene mode. don't return an error because it causes CTS failure. */ if (new_frame_rate != mParameters.getPreviewFrameRate()) { - LOGW("WARN(%s): request for preview frame %d not allowed, != %d\n", + ALOGW("WARN(%s): request for preview frame %d not allowed, != %d\n", __func__, new_frame_rate, mParameters.getPreviewFrameRate()); } // rotation int new_rotation = params.getInt(CameraParameters::KEY_ROTATION); - LOGV("%s : new_rotation %d", __func__, new_rotation); + ALOGV("%s : new_rotation %d", __func__, new_rotation); if (0 <= new_rotation) { - LOGV("%s : set orientation:%d\n", __func__, new_rotation); + ALOGV("%s : set orientation:%d\n", __func__, new_rotation); if (mSecCamera->setExifOrientationInfo(new_rotation) < 0) { - LOGE("ERR(%s):Fail on mSecCamera->setExifOrientationInfo(%d)", __func__, new_rotation); + ALOGE("ERR(%s):Fail on mSecCamera->setExifOrientationInfo(%d)", __func__, new_rotation); ret = UNKNOWN_ERROR; } else { mParameters.set(CameraParameters::KEY_ROTATION, new_rotation); @@ -1728,11 +1733,11 @@ status_t CameraHardwareSec::setParameters(const CameraParameters& params) int new_exposure_compensation = params.getInt(CameraParameters::KEY_EXPOSURE_COMPENSATION); int max_exposure_compensation = params.getInt(CameraParameters::KEY_MAX_EXPOSURE_COMPENSATION); int min_exposure_compensation = params.getInt(CameraParameters::KEY_MIN_EXPOSURE_COMPENSATION); - LOGV("%s : new_exposure_compensation %d", __func__, new_exposure_compensation); + ALOGV("%s : new_exposure_compensation %d", __func__, new_exposure_compensation); if ((min_exposure_compensation <= new_exposure_compensation) && (max_exposure_compensation >= new_exposure_compensation)) { if (mSecCamera->setBrightness(new_exposure_compensation) < 0) { - LOGE("ERR(%s):Fail on mSecCamera->setBrightness(brightness(%d))", __func__, new_exposure_compensation); + ALOGE("ERR(%s):Fail on mSecCamera->setBrightness(brightness(%d))", __func__, new_exposure_compensation); ret = UNKNOWN_ERROR; } else { mParameters.set(CameraParameters::KEY_EXPOSURE_COMPENSATION, new_exposure_compensation); @@ -1741,7 +1746,7 @@ status_t CameraHardwareSec::setParameters(const CameraParameters& params) // whitebalance const char *new_white_str = params.get(CameraParameters::KEY_WHITE_BALANCE); - LOGV("%s : new_white_str %s", __func__, new_white_str); + ALOGV("%s : new_white_str %s", __func__, new_white_str); if (new_white_str != NULL) { int new_white = -1; @@ -1760,13 +1765,13 @@ status_t CameraHardwareSec::setParameters(const CameraParameters& params) CameraParameters::WHITE_BALANCE_INCANDESCENT)) new_white = WHITE_BALANCE_TUNGSTEN; else { - LOGE("ERR(%s):Invalid white balance(%s)", __func__, new_white_str); //twilight, shade, warm_flourescent + ALOGE("ERR(%s):Invalid white balance(%s)", __func__, new_white_str); //twilight, shade, warm_flourescent ret = UNKNOWN_ERROR; } if (0 <= new_white) { if (mSecCamera->setWhiteBalance(new_white) < 0) { - LOGE("ERR(%s):Fail on mSecCamera->setWhiteBalance(white(%d))", __func__, new_white); + ALOGE("ERR(%s):Fail on mSecCamera->setWhiteBalance(white(%d))", __func__, new_white); ret = UNKNOWN_ERROR; } else { mParameters.set(CameraParameters::KEY_WHITE_BALANCE, new_white_str); @@ -1791,9 +1796,9 @@ status_t CameraHardwareSec::setParameters(const CameraParameters& params) if (new_scene_mode_str && current_scene_mode_str) { if (!strcmp(new_scene_mode_str, current_scene_mode_str)) { if ((new_min_fps != current_min_fps) || (new_max_fps != current_max_fps)) { - LOGW("%s : requested new_min_fps = %d, new_max_fps = %d not allowed", + ALOGW("%s : requested new_min_fps = %d, new_max_fps = %d not allowed", __func__, new_min_fps, new_max_fps); - LOGE("%s : current_min_fps = %d, current_max_fps = %d", + ALOGE("%s : current_min_fps = %d, current_max_fps = %d", __func__, current_min_fps, current_max_fps); ret = UNKNOWN_ERROR; } @@ -1878,7 +1883,7 @@ status_t CameraHardwareSec::setParameters(const CameraParameters& params) new_flash_mode_str = CameraParameters::FLASH_MODE_OFF; mParameters.set(CameraParameters::KEY_SUPPORTED_FLASH_MODES, "off"); } else { - LOGE("%s::unmatched scene_mode(%s)", + ALOGE("%s::unmatched scene_mode(%s)", __func__, new_scene_mode_str); //action, night-portrait, theatre, steadyphoto ret = UNKNOWN_ERROR; } @@ -1907,13 +1912,13 @@ status_t CameraHardwareSec::setParameters(const CameraParameters& params) BACK_CAMERA_INFINITY_FOCUS_DISTANCES_STR); } else { - LOGE("%s::unmatched focus_mode(%s)", __func__, new_focus_mode_str); + ALOGE("%s::unmatched focus_mode(%s)", __func__, new_focus_mode_str); ret = UNKNOWN_ERROR; } if (0 <= new_focus_mode) { if (mSecCamera->setFocusMode(new_focus_mode) < 0) { - LOGE("%s::mSecCamera->setFocusMode(%d) fail", __func__, new_focus_mode); + ALOGE("%s::mSecCamera->setFocusMode(%d) fail", __func__, new_focus_mode); ret = UNKNOWN_ERROR; } else { mParameters.set(CameraParameters::KEY_FOCUS_MODE, new_focus_mode_str); @@ -1934,12 +1939,12 @@ status_t CameraHardwareSec::setParameters(const CameraParameters& params) else if (!strcmp(new_flash_mode_str, CameraParameters::FLASH_MODE_TORCH)) new_flash_mode = FLASH_MODE_TORCH; else { - LOGE("%s::unmatched flash_mode(%s)", __func__, new_flash_mode_str); //red-eye + ALOGE("%s::unmatched flash_mode(%s)", __func__, new_flash_mode_str); //red-eye ret = UNKNOWN_ERROR; } if (0 <= new_flash_mode) { if (mSecCamera->setFlashMode(new_flash_mode) < 0) { - LOGE("%s::mSecCamera->setFlashMode(%d) fail", __func__, new_flash_mode); + ALOGE("%s::mSecCamera->setFlashMode(%d) fail", __func__, new_flash_mode); ret = UNKNOWN_ERROR; } else { mParameters.set(CameraParameters::KEY_FLASH_MODE, new_flash_mode_str); @@ -1950,7 +1955,7 @@ status_t CameraHardwareSec::setParameters(const CameraParameters& params) // scene.. if (0 <= new_scene_mode) { if (mSecCamera->setSceneMode(new_scene_mode) < 0) { - LOGE("%s::mSecCamera->setSceneMode(%d) fail", __func__, new_scene_mode); + ALOGE("%s::mSecCamera->setSceneMode(%d) fail", __func__, new_scene_mode); ret = UNKNOWN_ERROR; } else { mParameters.set(CameraParameters::KEY_SCENE_MODE, new_scene_mode_str); @@ -1982,7 +1987,7 @@ status_t CameraHardwareSec::setParameters(const CameraParameters& params) } else { if (!isSupportedParameter(new_focus_mode_str, mParameters.get(CameraParameters::KEY_SUPPORTED_FOCUS_MODES))) { - LOGE("%s: Unsupported focus mode: %s", __func__, new_focus_mode_str); + ALOGE("%s: Unsupported focus mode: %s", __func__, new_focus_mode_str); ret = UNKNOWN_ERROR; } } @@ -2007,13 +2012,13 @@ status_t CameraHardwareSec::setParameters(const CameraParameters& params) new_image_effect = IMAGE_EFFECT_NEGATIVE; else { //posterize, whiteboard, blackboard, solarize - LOGE("ERR(%s):Invalid effect(%s)", __func__, new_image_effect_str); + ALOGE("ERR(%s):Invalid effect(%s)", __func__, new_image_effect_str); ret = UNKNOWN_ERROR; } if (new_image_effect >= 0) { if (mSecCamera->setImageEffect(new_image_effect) < 0) { - LOGE("ERR(%s):Fail on mSecCamera->setImageEffect(effect(%d))", __func__, new_image_effect); + ALOGE("ERR(%s):Fail on mSecCamera->setImageEffect(effect(%d))", __func__, new_image_effect); ret = UNKNOWN_ERROR; } else { const char *old_image_effect_str = mParameters.get(CameraParameters::KEY_EFFECT); @@ -2033,7 +2038,7 @@ status_t CameraHardwareSec::setParameters(const CameraParameters& params) int new_vtmode = mInternalParameters.getInt("vtmode"); if (0 <= new_vtmode) { if (mSecCamera->setVTmode(new_vtmode) < 0) { - LOGE("ERR(%s):Fail on mSecCamera->setVTMode(%d)", __func__, new_vtmode); + ALOGE("ERR(%s):Fail on mSecCamera->setVTMode(%d)", __func__, new_vtmode); ret = UNKNOWN_ERROR; } } @@ -2043,7 +2048,7 @@ status_t CameraHardwareSec::setParameters(const CameraParameters& params) if (0 <= new_contrast) { if (mSecCamera->setContrast(new_contrast) < 0) { - LOGE("ERR(%s):Fail on mSecCamera->setContrast(%d)", __func__, new_contrast); + ALOGE("ERR(%s):Fail on mSecCamera->setContrast(%d)", __func__, new_contrast); ret = UNKNOWN_ERROR; } } @@ -2053,7 +2058,7 @@ status_t CameraHardwareSec::setParameters(const CameraParameters& params) if (0 <= new_wdr) { if (mSecCamera->setWDR(new_wdr) < 0) { - LOGE("ERR(%s):Fail on mSecCamera->setWDR(%d)", __func__, new_wdr); + ALOGE("ERR(%s):Fail on mSecCamera->setWDR(%d)", __func__, new_wdr); ret = UNKNOWN_ERROR; } } @@ -2063,7 +2068,7 @@ status_t CameraHardwareSec::setParameters(const CameraParameters& params) if (0 <= new_anti_shake) { if (mSecCamera->setAntiShake(new_anti_shake) < 0) { - LOGE("ERR(%s):Fail on mSecCamera->setWDR(%d)", __func__, new_anti_shake); + ALOGE("ERR(%s):Fail on mSecCamera->setWDR(%d)", __func__, new_anti_shake); ret = UNKNOWN_ERROR; } } @@ -2071,7 +2076,7 @@ status_t CameraHardwareSec::setParameters(const CameraParameters& params) // gps latitude const char *new_gps_latitude_str = params.get(CameraParameters::KEY_GPS_LATITUDE); if (mSecCamera->setGPSLatitude(new_gps_latitude_str) < 0) { - LOGE("%s::mSecCamera->setGPSLatitude(%s) fail", __func__, new_gps_latitude_str); + ALOGE("%s::mSecCamera->setGPSLatitude(%s) fail", __func__, new_gps_latitude_str); ret = UNKNOWN_ERROR; } else { if (new_gps_latitude_str) { @@ -2085,7 +2090,7 @@ status_t CameraHardwareSec::setParameters(const CameraParameters& params) const char *new_gps_longitude_str = params.get(CameraParameters::KEY_GPS_LONGITUDE); if (mSecCamera->setGPSLongitude(new_gps_longitude_str) < 0) { - LOGE("%s::mSecCamera->setGPSLongitude(%s) fail", __func__, new_gps_longitude_str); + ALOGE("%s::mSecCamera->setGPSLongitude(%s) fail", __func__, new_gps_longitude_str); ret = UNKNOWN_ERROR; } else { if (new_gps_longitude_str) { @@ -2099,7 +2104,7 @@ status_t CameraHardwareSec::setParameters(const CameraParameters& params) const char *new_gps_altitude_str = params.get(CameraParameters::KEY_GPS_ALTITUDE); if (mSecCamera->setGPSAltitude(new_gps_altitude_str) < 0) { - LOGE("%s::mSecCamera->setGPSAltitude(%s) fail", __func__, new_gps_altitude_str); + ALOGE("%s::mSecCamera->setGPSAltitude(%s) fail", __func__, new_gps_altitude_str); ret = UNKNOWN_ERROR; } else { if (new_gps_altitude_str) { @@ -2113,7 +2118,7 @@ status_t CameraHardwareSec::setParameters(const CameraParameters& params) const char *new_gps_timestamp_str = params.get(CameraParameters::KEY_GPS_TIMESTAMP); if (mSecCamera->setGPSTimeStamp(new_gps_timestamp_str) < 0) { - LOGE("%s::mSecCamera->setGPSTimeStamp(%s) fail", __func__, new_gps_timestamp_str); + ALOGE("%s::mSecCamera->setGPSTimeStamp(%s) fail", __func__, new_gps_timestamp_str); ret = UNKNOWN_ERROR; } else { if (new_gps_timestamp_str) { @@ -2127,7 +2132,7 @@ status_t CameraHardwareSec::setParameters(const CameraParameters& params) const char *new_gps_processing_method_str = params.get(CameraParameters::KEY_GPS_PROCESSING_METHOD); if (mSecCamera->setGPSProcessingMethod(new_gps_processing_method_str) < 0) { - LOGE("%s::mSecCamera->setGPSProcessingMethod(%s) fail", __func__, new_gps_processing_method_str); + ALOGE("%s::mSecCamera->setGPSProcessingMethod(%s) fail", __func__, new_gps_processing_method_str); ret = UNKNOWN_ERROR; } else { if (new_gps_processing_method_str) { @@ -2143,12 +2148,12 @@ status_t CameraHardwareSec::setParameters(const CameraParameters& params) if (0 < new_recording_width && 0 < new_recording_height) { if (mSecCamera->setRecordingSize(new_recording_width, new_recording_height) < 0) { - LOGE("ERR(%s):Fail on mSecCamera->setRecordingSize(width(%d), height(%d))", __func__, new_recording_width, new_recording_height); + ALOGE("ERR(%s):Fail on mSecCamera->setRecordingSize(width(%d), height(%d))", __func__, new_recording_width, new_recording_height); ret = UNKNOWN_ERROR; } } else { if (mSecCamera->setRecordingSize(new_preview_width, new_preview_height) < 0) { - LOGE("ERR(%s):Fail on mSecCamera->setRecordingSize(width(%d), height(%d))", __func__, new_preview_width, new_preview_height); + ALOGE("ERR(%s):Fail on mSecCamera->setRecordingSize(width(%d), height(%d))", __func__, new_preview_width, new_preview_height); ret = UNKNOWN_ERROR; } } @@ -2163,13 +2168,13 @@ status_t CameraHardwareSec::setParameters(const CameraParameters& params) else if (!strcmp(new_gamma_str, "on")) new_gamma = GAMMA_ON; else { - LOGE("%s::unmatched gamma(%s)", __func__, new_gamma_str); + ALOGE("%s::unmatched gamma(%s)", __func__, new_gamma_str); ret = UNKNOWN_ERROR; } if (0 <= new_gamma) { if (mSecCamera->setGamma(new_gamma) < 0) { - LOGE("%s::mSecCamera->setGamma(%d) fail", __func__, new_gamma); + ALOGE("%s::mSecCamera->setGamma(%d) fail", __func__, new_gamma); ret = UNKNOWN_ERROR; } } @@ -2186,13 +2191,13 @@ status_t CameraHardwareSec::setParameters(const CameraParameters& params) else if (!strcmp(new_slow_ae_str, "on")) new_slow_ae = SLOW_AE_ON; else { - LOGE("%s::unmatched slow_ae(%s)", __func__, new_slow_ae_str); + ALOGE("%s::unmatched slow_ae(%s)", __func__, new_slow_ae_str); ret = UNKNOWN_ERROR; } if (0 <= new_slow_ae) { if (mSecCamera->setSlowAE(new_slow_ae) < 0) { - LOGE("%s::mSecCamera->setSlowAE(%d) fail", __func__, new_slow_ae); + ALOGE("%s::mSecCamera->setSlowAE(%d) fail", __func__, new_slow_ae); ret = UNKNOWN_ERROR; } } @@ -2203,7 +2208,7 @@ status_t CameraHardwareSec::setParameters(const CameraParameters& params) if (0 <= new_sensor_mode) { if (mSecCamera->setSensorMode(new_sensor_mode) < 0) { - LOGE("ERR(%s):Fail on mSecCamera->setSensorMode(%d)", __func__, new_sensor_mode); + ALOGE("ERR(%s):Fail on mSecCamera->setSensorMode(%d)", __func__, new_sensor_mode); ret = UNKNOWN_ERROR; } } else { @@ -2215,7 +2220,7 @@ status_t CameraHardwareSec::setParameters(const CameraParameters& params) if (0 <= new_shot_mode) { if (mSecCamera->setShotMode(new_shot_mode) < 0) { - LOGE("ERR(%s):Fail on mSecCamera->setShotMode(%d)", __func__, new_shot_mode); + ALOGE("ERR(%s):Fail on mSecCamera->setShotMode(%d)", __func__, new_shot_mode); ret = UNKNOWN_ERROR; } } else { @@ -2227,7 +2232,7 @@ status_t CameraHardwareSec::setParameters(const CameraParameters& params) if (0 <= new_blur_level) { if (mSecCamera->setBlur(new_blur_level) < 0) { - LOGE("ERR(%s):Fail on mSecCamera->setBlur(%d)", __func__, new_blur_level); + ALOGE("ERR(%s):Fail on mSecCamera->setBlur(%d)", __func__, new_blur_level); ret = UNKNOWN_ERROR; } } @@ -2238,18 +2243,18 @@ status_t CameraHardwareSec::setParameters(const CameraParameters& params) if (0 <= new_dataline) { if (mSecCamera->setDataLineCheck(new_dataline) < 0) { - LOGE("ERR(%s):Fail on mSecCamera->setDataLineCheck(%d)", __func__, new_dataline); + ALOGE("ERR(%s):Fail on mSecCamera->setDataLineCheck(%d)", __func__, new_dataline); ret = UNKNOWN_ERROR; } } - LOGV("%s return ret = %d", __func__, ret); + ALOGV("%s return ret = %d", __func__, ret); return ret; } CameraParameters CameraHardwareSec::getParameters() const { - LOGV("%s :", __func__); + ALOGV("%s :", __func__); return mParameters; } @@ -2260,7 +2265,7 @@ status_t CameraHardwareSec::sendCommand(int32_t command, int32_t arg1, int32_t a void CameraHardwareSec::release() { - LOGV("%s", __func__); + ALOGV("%s", __func__); /* shut down any threads we have that might be running. do it here * instead of the destructor. we're guaranteed to be on another thread @@ -2322,7 +2327,7 @@ status_t CameraHardwareSec::storeMetaDataInBuffers(bool enable) // metadata buffer mode can be turned on or off. // Samsung needs to fix this. if (!enable) { - LOGE("Non-metadata buffer mode is not supported!"); + ALOGE("Non-metadata buffer mode is not supported!"); return INVALID_OPERATION; } return OK; @@ -2345,7 +2350,7 @@ static camera_device_t *g_cam_device; static int HAL_camera_device_close(struct hw_device_t* device) { - LOGI("%s", __func__); + ALOGI("%s", __func__); if (device) { camera_device_t *cam_device = (camera_device_t *)device; delete static_cast<CameraHardwareSec *>(cam_device->priv); @@ -2364,7 +2369,7 @@ static inline CameraHardwareSec *obj(struct camera_device *dev) static int HAL_camera_device_set_preview_window(struct camera_device *dev, struct preview_stream_ops *buf) { - LOGV("%s", __func__); + ALOGV("%s", __func__); return obj(dev)->setPreviewWindow(buf); } @@ -2376,7 +2381,7 @@ static void HAL_camera_device_set_callbacks(struct camera_device *dev, camera_request_memory get_memory, void* user) { - LOGV("%s", __func__); + ALOGV("%s", __func__); obj(dev)->setCallbacks(notify_cb, data_cb, data_cb_timestamp, get_memory, user); @@ -2392,7 +2397,7 @@ static void HAL_camera_device_set_callbacks(struct camera_device *dev, */ static void HAL_camera_device_enable_msg_type(struct camera_device *dev, int32_t msg_type) { - LOGV("%s", __func__); + ALOGV("%s", __func__); obj(dev)->enableMsgType(msg_type); } @@ -2408,7 +2413,7 @@ static void HAL_camera_device_enable_msg_type(struct camera_device *dev, int32_t */ static void HAL_camera_device_disable_msg_type(struct camera_device *dev, int32_t msg_type) { - LOGV("%s", __func__); + ALOGV("%s", __func__); obj(dev)->disableMsgType(msg_type); } @@ -2419,7 +2424,7 @@ static void HAL_camera_device_disable_msg_type(struct camera_device *dev, int32_ */ static int HAL_camera_device_msg_type_enabled(struct camera_device *dev, int32_t msg_type) { - LOGV("%s", __func__); + ALOGV("%s", __func__); return obj(dev)->msgTypeEnabled(msg_type); } @@ -2428,7 +2433,7 @@ static int HAL_camera_device_msg_type_enabled(struct camera_device *dev, int32_t */ static int HAL_camera_device_start_preview(struct camera_device *dev) { - LOGV("%s", __func__); + ALOGV("%s", __func__); return obj(dev)->startPreview(); } @@ -2437,7 +2442,7 @@ static int HAL_camera_device_start_preview(struct camera_device *dev) */ static void HAL_camera_device_stop_preview(struct camera_device *dev) { - LOGV("%s", __func__); + ALOGV("%s", __func__); obj(dev)->stopPreview(); } @@ -2446,7 +2451,7 @@ static void HAL_camera_device_stop_preview(struct camera_device *dev) */ static int HAL_camera_device_preview_enabled(struct camera_device *dev) { - LOGV("%s", __func__); + ALOGV("%s", __func__); return obj(dev)->previewEnabled(); } @@ -2482,7 +2487,7 @@ static int HAL_camera_device_preview_enabled(struct camera_device *dev) */ static int HAL_camera_device_store_meta_data_in_buffers(struct camera_device *dev, int enable) { - LOGV("%s", __func__); + ALOGV("%s", __func__); return obj(dev)->storeMetaDataInBuffers(enable); } @@ -2498,7 +2503,7 @@ static int HAL_camera_device_store_meta_data_in_buffers(struct camera_device *de */ static int HAL_camera_device_start_recording(struct camera_device *dev) { - LOGV("%s", __func__); + ALOGV("%s", __func__); return obj(dev)->startRecording(); } @@ -2507,7 +2512,7 @@ static int HAL_camera_device_start_recording(struct camera_device *dev) */ static void HAL_camera_device_stop_recording(struct camera_device *dev) { - LOGV("%s", __func__); + ALOGV("%s", __func__); obj(dev)->stopRecording(); } @@ -2516,7 +2521,7 @@ static void HAL_camera_device_stop_recording(struct camera_device *dev) */ static int HAL_camera_device_recording_enabled(struct camera_device *dev) { - LOGV("%s", __func__); + ALOGV("%s", __func__); return obj(dev)->recordingEnabled(); } @@ -2532,7 +2537,7 @@ static int HAL_camera_device_recording_enabled(struct camera_device *dev) static void HAL_camera_device_release_recording_frame(struct camera_device *dev, const void *opaque) { - LOGV("%s", __func__); + ALOGV("%s", __func__); obj(dev)->releaseRecordingFrame(opaque); } @@ -2543,7 +2548,7 @@ static void HAL_camera_device_release_recording_frame(struct camera_device *dev, */ static int HAL_camera_device_auto_focus(struct camera_device *dev) { - LOGV("%s", __func__); + ALOGV("%s", __func__); return obj(dev)->autoFocus(); } @@ -2555,7 +2560,7 @@ static int HAL_camera_device_auto_focus(struct camera_device *dev) */ static int HAL_camera_device_cancel_auto_focus(struct camera_device *dev) { - LOGV("%s", __func__); + ALOGV("%s", __func__); return obj(dev)->cancelAutoFocus(); } @@ -2564,7 +2569,7 @@ static int HAL_camera_device_cancel_auto_focus(struct camera_device *dev) */ static int HAL_camera_device_take_picture(struct camera_device *dev) { - LOGV("%s", __func__); + ALOGV("%s", __func__); return obj(dev)->takePicture(); } @@ -2574,7 +2579,7 @@ static int HAL_camera_device_take_picture(struct camera_device *dev) */ static int HAL_camera_device_cancel_picture(struct camera_device *dev) { - LOGV("%s", __func__); + ALOGV("%s", __func__); return obj(dev)->cancelPicture(); } @@ -2585,7 +2590,7 @@ static int HAL_camera_device_cancel_picture(struct camera_device *dev) static int HAL_camera_device_set_parameters(struct camera_device *dev, const char *parms) { - LOGV("%s", __func__); + ALOGV("%s", __func__); String8 str(parms); CameraParameters p(str); return obj(dev)->setParameters(p); @@ -2594,7 +2599,7 @@ static int HAL_camera_device_set_parameters(struct camera_device *dev, /** Return the camera parameters. */ char *HAL_camera_device_get_parameters(struct camera_device *dev) { - LOGV("%s", __func__); + ALOGV("%s", __func__); String8 str; CameraParameters parms = obj(dev)->getParameters(); str = parms.flatten(); @@ -2603,7 +2608,7 @@ char *HAL_camera_device_get_parameters(struct camera_device *dev) void HAL_camera_device_put_parameters(struct camera_device *dev, char *parms) { - LOGV("%s", __func__); + ALOGV("%s", __func__); free(parms); } @@ -2613,7 +2618,7 @@ void HAL_camera_device_put_parameters(struct camera_device *dev, char *parms) static int HAL_camera_device_send_command(struct camera_device *dev, int32_t cmd, int32_t arg1, int32_t arg2) { - LOGV("%s", __func__); + ALOGV("%s", __func__); return obj(dev)->sendCommand(cmd, arg1, arg2); } @@ -2623,7 +2628,7 @@ static int HAL_camera_device_send_command(struct camera_device *dev, */ static void HAL_camera_device_release(struct camera_device *dev) { - LOGV("%s", __func__); + ALOGV("%s", __func__); obj(dev)->release(); } @@ -2632,19 +2637,19 @@ static void HAL_camera_device_release(struct camera_device *dev) */ static int HAL_camera_device_dump(struct camera_device *dev, int fd) { - LOGV("%s", __func__); + ALOGV("%s", __func__); return obj(dev)->dump(fd); } static int HAL_getNumberOfCameras() { - LOGV("%s", __func__); + ALOGV("%s", __func__); return sizeof(sCameraInfo) / sizeof(sCameraInfo[0]); } static int HAL_getCameraInfo(int cameraId, struct camera_info *cameraInfo) { - LOGV("%s", __func__); + ALOGV("%s", __func__); memcpy(cameraInfo, &sCameraInfo[cameraId], sizeof(CameraInfo)); return 0; } @@ -2683,20 +2688,20 @@ static int HAL_camera_device_open(const struct hw_module_t* module, const char *id, struct hw_device_t** device) { - LOGV("%s", __func__); + ALOGV("%s", __func__); int cameraId = atoi(id); if (cameraId < 0 || cameraId >= HAL_getNumberOfCameras()) { - LOGE("Invalid camera ID %s", id); + ALOGE("Invalid camera ID %s", id); return -EINVAL; } if (g_cam_device) { if (obj(g_cam_device)->getCameraId() == cameraId) { - LOGV("returning existing camera ID %s", id); + ALOGV("returning existing camera ID %s", id); goto done; } else { - LOGE("Cannot open camera %d. camera %d is already running!", + ALOGE("Cannot open camera %d. camera %d is already running!", cameraId, obj(g_cam_device)->getCameraId()); return -ENOSYS; } @@ -2713,13 +2718,13 @@ static int HAL_camera_device_open(const struct hw_module_t* module, g_cam_device->ops = &camera_device_ops; - LOGI("%s: open camera %s", __func__, id); + ALOGI("%s: open camera %s", __func__, id); g_cam_device->priv = new CameraHardwareSec(cameraId, g_cam_device); done: *device = (hw_device_t *)g_cam_device; - LOGI("%s: opened camera %s (%p)", __func__, id, *device); + ALOGI("%s: opened camera %s (%p)", __func__, id, *device); return 0; } diff --git a/libhwcomposer/Android.mk b/libhwcomposer/Android.mk index f484dfd..72c7b59 100644 --- a/libhwcomposer/Android.mk +++ b/libhwcomposer/Android.mk @@ -21,7 +21,7 @@ LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_PRELINK_MODULE := false LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/hw -LOCAL_SHARED_LIBRARIES := liblog libcutils libEGL libGLESv1_CM libhardware +LOCAL_SHARED_LIBRARIES := liblog libcutils libEGL libGLESv1_CM libhardware libhardware_legacy LOCAL_CFLAGS += -DLOG_TAG=\"hwcomposer\" LOCAL_C_INCLUDES := \ diff --git a/libhwcomposer/SecHWC.cpp b/libhwcomposer/SecHWC.cpp index 31c0b2c..dda1108 100644 --- a/libhwcomposer/SecHWC.cpp +++ b/libhwcomposer/SecHWC.cpp @@ -23,10 +23,12 @@ * */ +#include <sys/resource.h> #include <cutils/log.h> #include <cutils/atomic.h> #include <EGL/egl.h> #include <GLES/gl.h> +#include <hardware_legacy/uevent.h> #include "SecHWCUtils.h" static IMG_gralloc_module_public_t *gpsGrallocModule; @@ -41,8 +43,8 @@ static struct hw_module_methods_t hwc_module_methods = { hwc_module_t HAL_MODULE_INFO_SYM = { common: { tag: HARDWARE_MODULE_TAG, - version_major: 1, - version_minor: 0, + module_api_version: HWC_MODULE_API_VERSION_0_1, + hal_api_version: HARDWARE_HAL_API_VERSION, id: HWC_HARDWARE_MODULE_ID, name: "Samsung S5PC11X hwcomposer module", author: "SAMSUNG", @@ -51,7 +53,7 @@ hwc_module_t HAL_MODULE_INFO_SYM = { }; static void dump_layer(hwc_layer_t const* l) { - LOGD("\ttype=%d, flags=%08x, handle=%p, tr=%02x, blend=%04x, {%d,%d,%d,%d}, {%d,%d,%d,%d}", + ALOGD("\ttype=%d, flags=%08x, handle=%p, tr=%02x, blend=%04x, {%d,%d,%d,%d}, {%d,%d,%d,%d}", l->compositionType, l->flags, l->handle, l->transform, l->blending, l->sourceCrop.left, l->sourceCrop.top, @@ -118,7 +120,7 @@ static int set_src_dst_info(hwc_layer_t *cur, dst_rect->w = win->rect_info.w; dst_rect->h = win->rect_info.h; - LOGV("%s::sr_x %d sr_y %d sr_w %d sr_h %d dr_x %d dr_y %d dr_w %d dr_h %d ", + ALOGV("%s::sr_x %d sr_y %d sr_w %d sr_h %d dr_x %d dr_y %d dr_w %d dr_h %d ", __func__, src_rect->x, src_rect->y, src_rect->w, src_rect->h, dst_rect->x, dst_rect->y, dst_rect->w, dst_rect->h); @@ -128,7 +130,7 @@ static int set_src_dst_info(hwc_layer_t *cur, static int get_hwc_compos_decision(hwc_layer_t* cur) { if(cur->flags & HWC_SKIP_LAYER || !cur->handle) { - LOGV("%s::is_skip_layer %d cur->handle %x", + ALOGV("%s::is_skip_layer %d cur->handle %x", __func__, cur->flags & HWC_SKIP_LAYER, (uint32_t)cur->handle); return HWC_FRAMEBUFFER; } @@ -156,7 +158,7 @@ static int get_hwc_compos_decision(hwc_layer_t* cur) else compositionType = HWC_FRAMEBUFFER; - LOGV("%s::compositionType %d bpp %d format %x usage %x", + ALOGV("%s::compositionType %d bpp %d format %x usage %x", __func__,compositionType, prev_handle->uiBpp, prev_handle->iFormat, prev_handle->usage & GRALLOC_USAGE_PHYS_CONTIG); @@ -196,7 +198,7 @@ static int assign_overlay_window(struct hwc_context_t *ctx, win->layer_index = layer_idx; win->status = HWC_WIN_RESERVED; - LOGV("%s:: win_x %d win_y %d win_w %d win_h %d lay_idx %d win_idx %d", + ALOGV("%s:: win_x %d win_y %d win_w %d win_h %d lay_idx %d win_idx %d", __func__, win->rect_info.x, win->rect_info.y, win->rect_info.w, win->rect_info.h, win->layer_index, win_idx ); @@ -231,7 +233,7 @@ static int hwc_prepare(hwc_composer_device_t *dev, hwc_layer_list_t* list) } ctx->num_of_hwc_layer = 0; ctx->num_of_fb_layer = 0; - LOGV("%s:: hwc_prepare list->numHwLayers %d", __func__, list->numHwLayers); + ALOGV("%s:: hwc_prepare list->numHwLayers %d", __func__, list->numHwLayers); for (int i = 0; i < list->numHwLayers ; i++) { hwc_layer_t* cur = &list->hwLayers[i]; @@ -262,7 +264,7 @@ static int hwc_prepare(hwc_composer_device_t *dev, hwc_layer_list_t* list) } if(list->numHwLayers != (ctx->num_of_fb_layer + ctx->num_of_hwc_layer)) - LOGV("%s:: numHwLayers %d num_of_fb_layer %d num_of_hwc_layer %d ", + ALOGV("%s:: numHwLayers %d num_of_fb_layer %d num_of_hwc_layer %d ", __func__, list->numHwLayers, ctx->num_of_fb_layer, ctx->num_of_hwc_layer); @@ -292,7 +294,6 @@ static int hwc_set(hwc_composer_device_t *dev, struct sec_rect src_rect; struct sec_rect dst_rect; - if (dpy == NULL && sur == NULL && list == NULL) { // release our resources, the screen is turning off // in our case, there is nothing to do. @@ -358,7 +359,7 @@ static int hwc_set(hwc_composer_device_t *dev, ret = gpsGrallocModule->GetPhyAddrs(gpsGrallocModule, cur->handle, phyAddr); if (ret) { - LOGE("%s::GetPhyAddrs fail : ret=%d\n", __func__, ret); + ALOGE("%s::GetPhyAddrs fail : ret=%d\n", __func__, ret); skipped_window_mask |= (1 << i); continue; } @@ -370,7 +371,7 @@ static int hwc_set(hwc_composer_device_t *dev, ret = runFimc(ctx, &src_img, &src_rect, &dst_img, &dst_rect, phyAddr, cur->transform); if (ret < 0){ - LOGE("%s::runFimc fail : ret=%d\n", __func__, ret); + ALOGE("%s::runFimc fail : ret=%d\n", __func__, ret); skipped_window_mask |= (1 << i); continue; } @@ -378,7 +379,7 @@ static int hwc_set(hwc_composer_device_t *dev, if (win->set_win_flag == 1) { /* turnoff the window and set the window position with new conf... */ if (window_set_pos(win) < 0) { - LOGE("%s::window_set_pos is failed : %s", __func__, + ALOGE("%s::window_set_pos is failed : %s", __func__, strerror(errno)); skipped_window_mask |= (1 << i); continue; @@ -400,13 +401,13 @@ static int hwc_set(hwc_composer_device_t *dev, window_show(win); } else { - LOGE("%s:: error : layer %d compositionType should have been \ + ALOGE("%s:: error : layer %d compositionType should have been \ HWC_OVERLAY", __func__, win->layer_index); skipped_window_mask |= (1 << i); continue; } } else { - LOGE("%s:: error : window status should have been HWC_WIN_RESERVED \ + ALOGE("%s:: error : window status should have been HWC_WIN_RESERVED \ by now... ", __func__); skipped_window_mask |= (1 << i); continue; @@ -424,6 +425,94 @@ static int hwc_set(hwc_composer_device_t *dev, return 0; } +static void hwc_registerProcs(struct hwc_composer_device* dev, + hwc_procs_t const* procs) +{ + struct hwc_context_t* ctx = (struct hwc_context_t*)dev; + ctx->procs = const_cast<hwc_procs_t *>(procs); +} + +static int hwc_query(struct hwc_composer_device* dev, + int what, int* value) +{ + struct hwc_context_t* ctx = (struct hwc_context_t*)dev; + + switch (what) { + case HWC_BACKGROUND_LAYER_SUPPORTED: + // we don't support the background layer yet + value[0] = 0; + break; + case HWC_VSYNC_PERIOD: + // vsync period in nanosecond + value[0] = 1000000000.0 / gpsGrallocModule->psFrameBufferDevice->base.fps; + break; + default: + // unsupported query + return -EINVAL; + } + return 0; +} + +static int hwc_eventControl(struct hwc_composer_device* dev, + int event, int enabled) +{ + struct hwc_context_t* ctx = (struct hwc_context_t*)dev; + + switch (event) { + case HWC_EVENT_VSYNC: + int val = !!enabled; + int err = ioctl(ctx->global_lcd_win.fd, S3CFB_SET_VSYNC_INT, &val); + if (err < 0) + return -errno; + + return 0; + } + + return -EINVAL; +} + +void handle_vsync_uevent(hwc_context_t *ctx, const char *buff, int len) +{ + uint64_t timestamp = 0; + const char *s = buff; + + if(!ctx->procs || !ctx->procs->vsync) + return; + + s += strlen(s) + 1; + + while(*s) { + if (!strncmp(s, "VSYNC=", strlen("VSYNC="))) + timestamp = strtoull(s + strlen("VSYNC="), NULL, 0); + + s += strlen(s) + 1; + if (s - buff >= len) + break; + } + + ctx->procs->vsync(ctx->procs, 0, timestamp); +} + +static void *hwc_vsync_thread(void *data) +{ + hwc_context_t *ctx = (hwc_context_t *)(data); + char uevent_desc[4096]; + memset(uevent_desc, 0, sizeof(uevent_desc)); + + setpriority(PRIO_PROCESS, 0, HAL_PRIORITY_URGENT_DISPLAY); + + uevent_init(); + while(true) { + int len = uevent_next_event(uevent_desc, sizeof(uevent_desc) - 2); + + bool vsync = !strcmp(uevent_desc, "change@/devices/platform/s3cfb"); + if(vsync) + handle_vsync_uevent(ctx, uevent_desc, len); + } + + return NULL; +} + static int hwc_device_close(struct hw_device_t *dev) { struct hwc_context_t* ctx = (struct hwc_context_t*)dev; @@ -432,26 +521,38 @@ static int hwc_device_close(struct hw_device_t *dev) if (ctx) { if (destroyFimc(&ctx->fimc) < 0) { - LOGE("%s::destroyFimc fail", __func__); + ALOGE("%s::destroyFimc fail", __func__); + ret = -1; + } + + if (window_close(&ctx->global_lcd_win) < 0) { + ALOGE("%s::window_close() fail", __func__); ret = -1; } for (i = 0; i < NUM_OF_WIN; i++) { if (window_close(&ctx->win[i]) < 0) { - LOGE("%s::window_close() fail", __func__); + ALOGE("%s::window_close() fail", __func__); ret = -1; } } + // TODO: stop vsync_thread + free(ctx); } return ret; } +static const struct hwc_methods hwc_methods = { + eventControl: hwc_eventControl +}; + static int hwc_device_open(const struct hw_module_t* module, const char* name, struct hw_device_t** device) { int status = 0; + int err; struct hwc_win_info_t *win; if(hw_get_module(GRALLOC_HARDWARE_MODULE_ID, @@ -472,32 +573,42 @@ static int hwc_device_open(const struct hw_module_t* module, const char* name, /* initialize the procs */ dev->device.common.tag = HARDWARE_DEVICE_TAG; - dev->device.common.version = 0; + dev->device.common.version = HWC_DEVICE_API_VERSION_0_3; dev->device.common.module = const_cast<hw_module_t*>(module); dev->device.common.close = hwc_device_close; dev->device.prepare = hwc_prepare; dev->device.set = hwc_set; + dev->device.registerProcs = hwc_registerProcs; + dev->device.query = hwc_query; + dev->device.methods = &hwc_methods; *device = &dev->device.common; /* initializing */ memset(&(dev->fimc), 0, sizeof(s5p_fimc_t)); - dev->fimc.dev_fd = -1; + dev->fimc.dev_fd = -1; /* open WIN0 & WIN1 here */ for (int i = 0; i < NUM_OF_WIN; i++) { if (window_open(&(dev->win[i]), i) < 0) { - LOGE("%s:: Failed to open window %d device ", __func__, i); + ALOGE("%s:: Failed to open window %d device ", __func__, i); status = -EINVAL; goto err; } } + /* open window 2, used to query global LCD info */ + if (window_open(&dev->global_lcd_win, 2) < 0) { + ALOGE("%s:: Failed to open window 2 device ", __func__); + status = -EINVAL; + goto err; + } + /* get default window config */ - if (window_get_global_lcd_info(&dev->lcd_info) < 0) { - LOGE("%s::window_get_global_lcd_info is failed : %s", - __func__, strerror(errno)); + if (window_get_global_lcd_info(dev) < 0) { + ALOGE("%s::window_get_global_lcd_info is failed : %s", + __func__, strerror(errno)); status = -EINVAL; goto err; } @@ -516,15 +627,15 @@ static int hwc_device_open(const struct hw_module_t* module, const char* name, win->rect_info.h = win->var_info.yres; if (window_set_pos(win) < 0) { - LOGE("%s::window_set_pos is failed : %s", - __func__, strerror(errno)); + ALOGE("%s::window_set_pos is failed : %s", + __func__, strerror(errno)); status = -EINVAL; goto err; } if (window_get_info(win) < 0) { - LOGE("%s::window_get_info is failed : %s", - __func__, strerror(errno)); + ALOGE("%s::window_get_info is failed : %s", + __func__, strerror(errno)); status = -EINVAL; goto err; } @@ -532,35 +643,45 @@ static int hwc_device_open(const struct hw_module_t* module, const char* name, win->size = win->fix_info.line_length * win->var_info.yres; if (!win->fix_info.smem_start){ - LOGE("%s:: win-%d failed to get the reserved memory", __func__, i); + ALOGE("%s:: win-%d failed to get the reserved memory", __func__, i); status = -EINVAL; goto err; } for (int j = 0; j < NUM_OF_WIN_BUF; j++) { win->addr[j] = win->fix_info.smem_start + (win->size * j); - LOGI("%s::win-%d add[%d] %x ", __func__, i, j, win->addr[j]); + ALOGI("%s::win-%d add[%d] %x ", __func__, i, j, win->addr[j]); } } /* open pp */ if (createFimc(&dev->fimc) < 0) { - LOGE("%s::creatFimc() fail", __func__); + ALOGE("%s::creatFimc() fail", __func__); status = -EINVAL; goto err; } - LOGD("%s:: success\n", __func__); + err = pthread_create(&dev->vsync_thread, NULL, hwc_vsync_thread, dev); + if (err) { + ALOGE("%s::pthread_create() failed : %s", __func__, strerror(err)); + status = -err; + goto err; + } + + ALOGD("%s:: success\n", __func__); return 0; err: if (destroyFimc(&dev->fimc) < 0) - LOGE("%s::destroyFimc() fail", __func__); + ALOGE("%s::destroyFimc() fail", __func__); + + if (window_close(&dev->global_lcd_win) < 0) + ALOGE("%s::window_close() fail", __func__); for (int i = 0; i < NUM_OF_WIN; i++) { if (window_close(&dev->win[i]) < 0) - LOGE("%s::window_close() fail", __func__); + ALOGE("%s::window_close() fail", __func__); } return status; diff --git a/libhwcomposer/SecHWCUtils.cpp b/libhwcomposer/SecHWCUtils.cpp index 4a5b7b4..2b3f09f 100644 --- a/libhwcomposer/SecHWCUtils.cpp +++ b/libhwcomposer/SecHWCUtils.cpp @@ -44,7 +44,7 @@ int window_open(struct hwc_win_info_t *win, int id) case 2: break; default: - LOGE("%s::id(%d) is weird", __func__, id); + ALOGE("%s::id(%d) is weird", __func__, id); goto error; } @@ -52,7 +52,7 @@ int window_open(struct hwc_win_info_t *win, int id) win->fd = open(name, O_RDWR); if (win->fd < 0) { - LOGE("%s::Failed to open window device (%s) : %s", + ALOGE("%s::Failed to open window device (%s) : %s", __func__, strerror(errno), device_template); goto error; } @@ -93,7 +93,7 @@ int window_set_pos(struct hwc_win_info_t *win) win->var_info.activate |= FB_ACTIVATE_FORCE; if (ioctl(win->fd, FBIOPUT_VSCREENINFO, &(win->var_info)) < 0) { - LOGE("%s::FBIOPUT_VSCREENINFO(%d, %d) fail", + ALOGE("%s::FBIOPUT_VSCREENINFO(%d, %d) fail", __func__, win->rect_info.w, win->rect_info.h); return -1; } @@ -102,7 +102,7 @@ int window_set_pos(struct hwc_win_info_t *win) window.y = win->rect_info.y; if (ioctl(win->fd, SECFB_WIN_POSITION, &window) < 0) { - LOGE("%s::S3CFB_WIN_POSITION(%d, %d) fail", + ALOGE("%s::S3CFB_WIN_POSITION(%d, %d) fail", __func__, window.x, window.y); return -1; } @@ -113,7 +113,7 @@ int window_set_pos(struct hwc_win_info_t *win) int window_get_info(struct hwc_win_info_t *win) { if (ioctl(win->fd, FBIOGET_FSCREENINFO, &win->fix_info) < 0) { - LOGE("FBIOGET_FSCREENINFO failed : %s", strerror(errno)); + ALOGE("FBIOGET_FSCREENINFO failed : %s", strerror(errno)); goto error; } @@ -132,7 +132,7 @@ int window_pan_display(struct hwc_win_info_t *win) lcd_info->yoffset = lcd_info->yres * win->buf_index; if (ioctl(win->fd, FBIOPAN_DISPLAY, lcd_info) < 0) { - LOGE("%s::FBIOPAN_DISPLAY(%d / %d / %d) fail(%s)", + ALOGE("%s::FBIOPAN_DISPLAY(%d / %d / %d) fail(%s)", __func__, lcd_info->yres, win->buf_index, lcd_info->yres_virtual, strerror(errno)); return -1; @@ -144,7 +144,7 @@ int window_show(struct hwc_win_info_t *win) { if(win->power_state == 0) { if (ioctl(win->fd, FBIOBLANK, FB_BLANK_UNBLANK) < 0) { - LOGE("%s: FBIOBLANK failed : (%d:%s)", __func__, win->fd, + ALOGE("%s: FBIOBLANK failed : (%d:%s)", __func__, win->fd, strerror(errno)); return -1; } @@ -157,7 +157,7 @@ int window_hide(struct hwc_win_info_t *win) { if (win->power_state == 1) { if (ioctl(win->fd, FBIOBLANK, FB_BLANK_POWERDOWN) < 0) { - LOGE("%s::FBIOBLANK failed : (%d:%s)", + ALOGE("%s::FBIOBLANK failed : (%d:%s)", __func__, win->fd, strerror(errno)); return -1; } @@ -166,40 +166,30 @@ int window_hide(struct hwc_win_info_t *win) return 0; } -int window_get_global_lcd_info(struct fb_var_screeninfo *lcd_info) +int window_get_global_lcd_info(struct hwc_context_t *ctx) { struct hwc_win_info_t win; int ret = 0; - if (window_open(&win, 2) < 0) { - LOGE("%s:: Failed to open window 2 device ", __func__); + if (ioctl(ctx->global_lcd_win.fd, FBIOGET_VSCREENINFO, &ctx->lcd_info) < 0) { + ALOGE("FBIOGET_VSCREENINFO failed : %s", strerror(errno)); return -1; } - if (ioctl(win.fd, FBIOGET_VSCREENINFO, lcd_info) < 0) { - LOGE("FBIOGET_VSCREENINFO failed : %s", strerror(errno)); - ret = -1; - goto fun_err; - } - - if (lcd_info->xres == 0) { - lcd_info->xres = DEFAULT_LCD_WIDTH; - lcd_info->xres_virtual = DEFAULT_LCD_WIDTH; + if (ctx->lcd_info.xres == 0) { + ctx->lcd_info.xres = DEFAULT_LCD_WIDTH; + ctx->lcd_info.xres_virtual = DEFAULT_LCD_WIDTH; } - if (lcd_info->yres == 0) { - lcd_info->yres = DEFAULT_LCD_HEIGHT; - lcd_info->yres_virtual = DEFAULT_LCD_HEIGHT * NUM_OF_WIN_BUF; + if (ctx->lcd_info.yres == 0) { + ctx->lcd_info.yres = DEFAULT_LCD_HEIGHT; + ctx->lcd_info.yres_virtual = DEFAULT_LCD_HEIGHT * NUM_OF_WIN_BUF; } - if (lcd_info->bits_per_pixel == 0) - lcd_info->bits_per_pixel = DEFAULT_LCD_BPP; + if (ctx->lcd_info.bits_per_pixel == 0) + ctx->lcd_info.bits_per_pixel = DEFAULT_LCD_BPP; -fun_err: - if (window_close(&win) < 0) - LOGE("%s::window2 close fail", __func__); - - return ret; + return 0; } int fimc_v4l2_set_src(int fd, unsigned int hw_ver, s5p_fimc_img_info *src) @@ -219,7 +209,7 @@ int fimc_v4l2_set_src(int fd, unsigned int hw_ver, s5p_fimc_img_info *src) fmt.fmt.pix.field = V4L2_FIELD_NONE; if (ioctl (fd, VIDIOC_S_FMT, &fmt) < 0) { - LOGE("VIDIOC_S_FMT failed : errno=%d (%s) : fd=%d", errno, + ALOGE("VIDIOC_S_FMT failed : errno=%d (%s) : fd=%d", errno, strerror(errno), fd); return -1; } @@ -238,7 +228,7 @@ int fimc_v4l2_set_src(int fd, unsigned int hw_ver, s5p_fimc_img_info *src) crop.c.width = src->width; crop.c.height = src->height; if (ioctl(fd, VIDIOC_S_CROP, &crop) < 0) { - LOGE("Error in video VIDIOC_S_CROP (%d, %d, %d, %d)", + ALOGE("Error in video VIDIOC_S_CROP (%d, %d, %d, %d)", crop.c.left, crop.c.top, crop.c.width, crop.c.height); return -1; } @@ -251,7 +241,7 @@ int fimc_v4l2_set_src(int fd, unsigned int hw_ver, s5p_fimc_img_info *src) req.memory = V4L2_MEMORY_USERPTR; if (ioctl (fd, VIDIOC_REQBUFS, &req) < 0) { - LOGE("Error in VIDIOC_REQBUFS"); + ALOGE("Error in VIDIOC_REQBUFS"); return -1; } @@ -275,21 +265,21 @@ int fimc_v4l2_set_dst(int fd, vc.id = V4L2_CID_HFLIP; vc.value = flag_h_flip; if (ioctl(fd, VIDIOC_S_CTRL, &vc) < 0) { - LOGE("Error in video VIDIOC_S_CTRL - flag_h_flip (%d)", flag_h_flip); + ALOGE("Error in video VIDIOC_S_CTRL - flag_h_flip (%d)", flag_h_flip); return -1; } vc.id = V4L2_CID_VFLIP; vc.value = flag_v_flip; if (ioctl(fd, VIDIOC_S_CTRL, &vc) < 0) { - LOGE("Error in video VIDIOC_S_CTRL - flag_v_flip (%d)", flag_v_flip); + ALOGE("Error in video VIDIOC_S_CTRL - flag_v_flip (%d)", flag_v_flip); return -1; } vc.id = V4L2_CID_ROTATION; vc.value = rotation; if (ioctl(fd, VIDIOC_S_CTRL, &vc) < 0) { - LOGE("Error in video VIDIOC_S_CTRL - rotation (%d)", rotation); + ALOGE("Error in video VIDIOC_S_CTRL - rotation (%d)", rotation); return -1; } @@ -297,7 +287,7 @@ int fimc_v4l2_set_dst(int fd, * set size, format & address for destination image (DMA-OUTPUT) */ if (ioctl (fd, VIDIOC_G_FBUF, &fbuf) < 0) { - LOGE("Error in video VIDIOC_G_FBUF"); + ALOGE("Error in video VIDIOC_G_FBUF"); return -1; } @@ -306,7 +296,7 @@ int fimc_v4l2_set_dst(int fd, fbuf.fmt.height = dst->full_height; fbuf.fmt.pixelformat = dst->color_space; if (ioctl (fd, VIDIOC_S_FBUF, &fbuf) < 0) { - LOGE("Error in video VIDIOC_S_FBUF 0x%x %d %d %d", + ALOGE("Error in video VIDIOC_S_FBUF 0x%x %d %d %d", (void *)addr, dst->full_width, dst->full_height, dst->color_space); return -1; @@ -321,7 +311,7 @@ int fimc_v4l2_set_dst(int fd, sFormat.fmt.win.w.width = dst->width; sFormat.fmt.win.w.height = dst->height; if (ioctl(fd, VIDIOC_S_FMT, &sFormat) < 0) { - LOGE("Error in video VIDIOC_S_FMT %d %d %d %d", + ALOGE("Error in video VIDIOC_S_FMT %d %d %d %d", dst->start_x, dst->start_y, dst->width, dst->height); return -1; } @@ -332,7 +322,7 @@ int fimc_v4l2_set_dst(int fd, int fimc_v4l2_stream_on(int fd, enum v4l2_buf_type type) { if (ioctl (fd, VIDIOC_STREAMON, &type) < 0) { - LOGE("Error in VIDIOC_STREAMON"); + ALOGE("Error in VIDIOC_STREAMON"); return -1; } @@ -350,7 +340,7 @@ int fimc_v4l2_queue(int fd, struct fimc_buf *fimc_buf) buf.index = 0; if (ioctl (fd, VIDIOC_QBUF, &buf) < 0) { - LOGE("Error in VIDIOC_QBUF"); + ALOGE("Error in VIDIOC_QBUF"); return -1; } @@ -365,7 +355,7 @@ int fimc_v4l2_dequeue(int fd) buf.memory = V4L2_MEMORY_USERPTR; if (ioctl (fd, VIDIOC_DQBUF, &buf) < 0) { - LOGE("Error in VIDIOC_DQBUF"); + ALOGE("Error in VIDIOC_DQBUF"); return -1; } @@ -378,7 +368,7 @@ int fimc_v4l2_stream_off(int fd) type = V4L2_BUF_TYPE_VIDEO_OUTPUT; if (ioctl (fd, VIDIOC_STREAMOFF, &type) < 0) { - LOGE("Error in VIDIOC_STREAMOFF"); + ALOGE("Error in VIDIOC_STREAMOFF"); return -1; } @@ -394,7 +384,7 @@ int fimc_v4l2_clr_buf(int fd) req.memory = V4L2_MEMORY_USERPTR; if (ioctl (fd, VIDIOC_REQBUFS, &req) < 0) { - LOGE("Error in VIDIOC_REQBUFS"); + ALOGE("Error in VIDIOC_REQBUFS"); } return 0; @@ -405,30 +395,30 @@ int fimc_handle_oneshot(int fd, struct fimc_buf *fimc_buf) int ret =0; if (fimc_v4l2_stream_on(fd, V4L2_BUF_TYPE_VIDEO_OUTPUT) < 0) { - LOGE("Fail : v4l2_stream_on()"); + ALOGE("Fail : v4l2_stream_on()"); return -1; } if (fimc_v4l2_queue(fd, fimc_buf) < 0) { - LOGE("Fail : v4l2_queue()"); + ALOGE("Fail : v4l2_queue()"); ret = -1; goto stream_off; } if (fimc_v4l2_dequeue(fd) < 0) { - LOGE("Fail : v4l2_dequeue()"); + ALOGE("Fail : v4l2_dequeue()"); ret = -1; goto stream_off; } stream_off: if (fimc_v4l2_stream_off(fd) < 0) { - LOGE("Fail : v4l2_stream_off()"); + ALOGE("Fail : v4l2_stream_off()"); return -1; } if (fimc_v4l2_clr_buf(fd) < 0) { - LOGE("Fail : v4l2_clr_buf()"); + ALOGE("Fail : v4l2_clr_buf()"); return -1; } @@ -448,12 +438,12 @@ static int get_src_phys_addr(struct hwc_context_t *ctx, fimc->params.src.buf_addr_phy_cb = phyAddr[1]; break; default: - LOGE("%s format error (format=0x%x)", __func__, + ALOGE("%s format error (format=0x%x)", __func__, src_img->format); return -1; } } else { - LOGE("%s mem_type error (mem_type=%d)", __func__, src_img->mem_type); + ALOGE("%s mem_type error (mem_type=%d)", __func__, src_img->mem_type); return -1; } @@ -468,7 +458,7 @@ static int get_dst_phys_addr(struct hwc_context_t *ctx, if (HWC_PHYS_MEM_TYPE == dst_img->mem_type && 0 != dst_img->base) dst_phys_addr = dst_img->base; else { - LOGE("%s::get_dst_phys_addr fail ", __func__); + ALOGE("%s::get_dst_phys_addr fail ", __func__); dst_phys_addr = 0; } return dst_phys_addr; @@ -639,7 +629,7 @@ static int runcFimcCore(struct hwc_context_t *ctx, /* check minimum */ if (src_rect->w < 16 || src_rect->h < 8) { - LOGE("%s src size is not supported by fimc : f_w=%d f_h=%d x=%d y=%d \ + ALOGE("%s src size is not supported by fimc : f_w=%d f_h=%d x=%d y=%d \ w=%d h=%d (ow=%d oh=%d) format=0x%x", __func__, params->src.full_width, params->src.full_height, params->src.start_x, params->src.start_y, params->src.width, @@ -708,7 +698,7 @@ switch (rotate_value) { /* check minimum */ if (dst_rect->w < 8 || dst_rect->h < 4) { - LOGE("%s dst size is not supported by fimc : \ + ALOGE("%s dst size is not supported by fimc : \ f_w=%d f_h=%d x=%d y=%d w=%d h=%d (ow=%d oh=%d) format=0x%x", __func__, params->dst.full_width, params->dst.full_height, params->dst.start_x, params->dst.start_y, params->dst.width, @@ -724,7 +714,7 @@ switch (rotate_value) { ((src_rect->w / dst_rect->w) > MAX_RESIZING_RATIO_LIMIT)) || ((dst_rect->w > src_rect->w) && ((dst_rect->w / src_rect->w) > MAX_RESIZING_RATIO_LIMIT))) { - LOGE("%s over scaling limit : src.w=%d dst.w=%d (limit=%d)", + ALOGE("%s over scaling limit : src.w=%d dst.w=%d (limit=%d)", __func__, src_rect->w, dst_rect->w, MAX_RESIZING_RATIO_LIMIT); return -1; } @@ -789,24 +779,24 @@ int createFimc(s5p_fimc_t *fimc) fimc->dev_fd = open(PP_DEVICE_DEV_NAME, O_RDWR); if (fimc->dev_fd < 0) { - LOGE("%s::Post processor open error (%d)", __func__, errno); + ALOGE("%s::Post processor open error (%d)", __func__, errno); goto err; } } /* check capability */ if (ioctl(fimc->dev_fd, VIDIOC_QUERYCAP, &cap) < 0) { - LOGE("VIDIOC_QUERYCAP failed"); + ALOGE("VIDIOC_QUERYCAP failed"); goto err; } if (!(cap.capabilities & V4L2_CAP_STREAMING)) { - LOGE("%d has no streaming support", fimc->dev_fd); + ALOGE("%d has no streaming support", fimc->dev_fd); goto err; } if (!(cap.capabilities & V4L2_CAP_VIDEO_OUTPUT)) { - LOGE("%d is no video output", fimc->dev_fd); + ALOGE("%d is no video output", fimc->dev_fd); goto err; } @@ -815,7 +805,7 @@ int createFimc(s5p_fimc_t *fimc) */ fmt.type = V4L2_BUF_TYPE_VIDEO_OUTPUT; if (ioctl(fimc->dev_fd, VIDIOC_G_FMT, &fmt) < 0) { - LOGE("%s::Error in video VIDIOC_G_FMT", __func__); + ALOGE("%s::Error in video VIDIOC_G_FMT", __func__); goto err; } @@ -823,7 +813,7 @@ int createFimc(s5p_fimc_t *fimc) vc.value = 0; if (ioctl(fimc->dev_fd, VIDIOC_G_CTRL, &vc) < 0) { - LOGE("%s::Error in video VIDIOC_G_CTRL", __func__); + ALOGE("%s::Error in video VIDIOC_G_CTRL", __func__); goto err; } fimc->hw_ver = vc.value; diff --git a/libhwcomposer/SecHWCUtils.h b/libhwcomposer/SecHWCUtils.h index 21d6598..d59c120 100644 --- a/libhwcomposer/SecHWCUtils.h +++ b/libhwcomposer/SecHWCUtils.h @@ -113,8 +113,11 @@ struct hwc_context_t { /* our private state goes below here */ struct hwc_win_info_t win[NUM_OF_WIN]; + struct hwc_win_info_t global_lcd_win; struct fb_var_screeninfo lcd_info; s5p_fimc_t fimc; + hwc_procs_t *procs; + pthread_t vsync_thread; unsigned int num_of_fb_layer; unsigned int num_of_hwc_layer; unsigned int num_of_fb_layer_prev; @@ -127,7 +130,7 @@ int window_get_info(struct hwc_win_info_t *win); int window_pan_display(struct hwc_win_info_t *win); int window_show(struct hwc_win_info_t *win); int window_hide(struct hwc_win_info_t *win); -int window_get_global_lcd_info(struct fb_var_screeninfo *lcd_info); +int window_get_global_lcd_info(struct hwc_context_t *ctx); int createFimc(s5p_fimc_t *fimc); int destroyFimc(s5p_fimc_t *fimc); diff --git a/liblight/lights.c b/liblight/lights.c index 470c217..7f2d91d 100755 --- a/liblight/lights.c +++ b/liblight/lights.c @@ -38,7 +38,7 @@ static int write_int(char const *path, int value) int fd; static int already_warned = 0; - LOGV("write_int: path %s, value %d", path, value); + ALOGV("write_int: path %s, value %d", path, value); fd = open(path, O_RDWR); if (fd >= 0) { @@ -49,7 +49,7 @@ static int write_int(char const *path, int value) return amt == -1 ? -errno : 0; } else { if (already_warned == 0) { - LOGE("write_int failed to open %s\n", path); + ALOGE("write_int failed to open %s\n", path); already_warned = 1; } return -errno; @@ -98,7 +98,7 @@ static int set_light_backlight(struct light_device_t *dev, static int close_lights(struct light_device_t *dev) { - LOGV("close_light is called"); + ALOGV("close_light is called"); if (dev) free(dev); @@ -111,7 +111,7 @@ static int open_lights(const struct hw_module_t *module, char const *name, int (*set_light)(struct light_device_t *dev, struct light_state_t const *state); - LOGV("open_lights: open with %s", name); + ALOGV("open_lights: open with %s", name); if (0 == strcmp(LIGHT_ID_BACKLIGHT, name)) set_light = set_light_backlight; @@ -140,7 +140,7 @@ static struct hw_module_methods_t lights_module_methods = { .open = open_lights, }; -const struct hw_module_t HAL_MODULE_INFO_SYM = { +struct hw_module_t HAL_MODULE_INFO_SYM = { .tag = HARDWARE_MODULE_TAG, .version_major = 1, .version_minor = 0, diff --git a/libs3cjpeg/JpegEncoder.cpp b/libs3cjpeg/JpegEncoder.cpp index 1361bca..d2b6a6f 100644 --- a/libs3cjpeg/JpegEncoder.cpp +++ b/libs3cjpeg/JpegEncoder.cpp @@ -40,7 +40,7 @@ JpegEncoder::JpegEncoder() : available(false) mDevFd = open(JPG_DRIVER_NAME, O_RDWR); if (mDevFd < 0) { - LOGE("Failed to open the device"); + ALOGE("Failed to open the device"); return; } @@ -52,20 +52,20 @@ JpegEncoder::JpegEncoder() : available(false) 0); if (mArgs.mmapped_addr == MAP_FAILED) { - LOGE("Failed to mmap"); + ALOGE("Failed to mmap"); return; } mArgs.enc_param = new jpg_enc_proc_param; if (mArgs.enc_param == NULL) { - LOGE("Failed to allocate the memory for enc_param"); + ALOGE("Failed to allocate the memory for enc_param"); return; } memset(mArgs.enc_param, 0, sizeof(jpg_enc_proc_param)); mArgs.thumb_enc_param = new jpg_enc_proc_param; if (mArgs.thumb_enc_param == NULL) { - LOGE("Failed to allocate the memory for thumb_enc_param"); + ALOGE("Failed to allocate the memory for thumb_enc_param"); delete mArgs.enc_param; return; } @@ -154,12 +154,12 @@ jpg_return_status JpegEncoder::setConfig(jpeg_conf type, int32_t value) break; default: - LOGE("Invalid Config type"); + ALOGE("Invalid Config type"); ret = ERR_UNKNOWN; } if (ret == JPG_FAIL) - LOGE("Invalid value(%d) for %d type", value, type); + ALOGE("Invalid value(%d) for %d type", value, type); return ret; } @@ -170,7 +170,7 @@ void* JpegEncoder::getInBuf(uint64_t size) return NULL; if (size > JPG_FRAME_BUF_SIZE) { - LOGE("The buffer size requested is too large"); + ALOGE("The buffer size requested is too large"); return NULL; } mArgs.in_buf = (char *)ioctl(mDevFd, IOCTL_JPG_GET_FRMBUF, mArgs.mmapped_addr); @@ -183,7 +183,7 @@ void* JpegEncoder::getOutBuf(uint64_t *size) return NULL; if (mArgs.enc_param->file_size <= 0) { - LOGE("The buffer requested doesn't have data"); + ALOGE("The buffer requested doesn't have data"); return NULL; } mArgs.out_buf = (char *)ioctl(mDevFd, IOCTL_JPG_GET_STRBUF, mArgs.mmapped_addr); @@ -197,7 +197,7 @@ void* JpegEncoder::getThumbInBuf(uint64_t size) return NULL; if (size > JPG_FRAME_THUMB_BUF_SIZE) { - LOGE("The buffer size requested is too large"); + ALOGE("The buffer size requested is too large"); return NULL; } mArgs.in_thumb_buf = (char *)ioctl(mDevFd, IOCTL_JPG_GET_THUMB_FRMBUF, mArgs.mmapped_addr); @@ -210,7 +210,7 @@ void* JpegEncoder::getThumbOutBuf(uint64_t *size) return NULL; if (mArgs.thumb_enc_param->file_size <= 0) { - LOGE("The buffer requested doesn't have data"); + ALOGE("The buffer requested doesn't have data"); return NULL; } mArgs.out_thumb_buf = (char *)ioctl(mDevFd, IOCTL_JPG_GET_THUMB_STRBUF, mArgs.mmapped_addr); @@ -223,7 +223,7 @@ jpg_return_status JpegEncoder::encode(unsigned int *size, exif_attribute_t *exif if (!available) return JPG_FAIL; - LOGD("encode E"); + ALOGD("encode E"); jpg_return_status ret = JPG_FAIL; unsigned char *exifOut = NULL; @@ -236,7 +236,7 @@ jpg_return_status JpegEncoder::encode(unsigned int *size, exif_attribute_t *exif param->enc_type = JPG_MAIN; ret = (jpg_return_status)ioctl(mDevFd, IOCTL_JPG_ENCODE, &mArgs); if (ret != JPG_SUCCESS) { - LOGE("Failed to encode main image"); + ALOGE("Failed to encode main image"); return ret; } @@ -249,7 +249,7 @@ jpg_return_status JpegEncoder::encode(unsigned int *size, exif_attribute_t *exif if (exifInfo->enableThumb) { ret = encodeThumbImg(&thumbLen); if (ret != JPG_SUCCESS) { - LOGE("Failed to encode for thumbnail image"); + ALOGE("Failed to encode for thumbnail image"); bufSize = EXIF_FILE_SIZE; exifInfo->enableThumb = false; } else { @@ -264,14 +264,14 @@ jpg_return_status JpegEncoder::encode(unsigned int *size, exif_attribute_t *exif exifOut = new unsigned char[bufSize]; if (exifOut == NULL) { - LOGE("Failed to allocate for exifOut"); + ALOGE("Failed to allocate for exifOut"); return ret; } memset(exifOut, 0, bufSize); ret = makeExif (exifOut, exifInfo, &exifLen); if (ret != JPG_SUCCESS) { - LOGE("Failed to make EXIF"); + ALOGE("Failed to make EXIF"); delete[] exifOut; return ret; } @@ -295,7 +295,7 @@ jpg_return_status JpegEncoder::encode(unsigned int *size, exif_attribute_t *exif fclose(fout); #endif - LOGD("encode X"); + ALOGD("encode X"); return ret; } @@ -305,7 +305,7 @@ jpg_return_status JpegEncoder::encodeThumbImg(unsigned int *size, bool useMain) if (!available) return JPG_FAIL; - LOGD("encodeThumbImg E"); + ALOGD("encodeThumbImg E"); jpg_return_status ret = JPG_FAIL; jpg_enc_proc_param *param = mArgs.thumb_enc_param; @@ -313,7 +313,7 @@ jpg_return_status JpegEncoder::encodeThumbImg(unsigned int *size, bool useMain) if (useMain) { mArgs.in_thumb_buf = (char *)getThumbInBuf(param->width*param->height*2); if (mArgs.in_thumb_buf == NULL) { - LOGE("Failed to get the buffer for thumbnail"); + ALOGE("Failed to get the buffer for thumbnail"); return JPG_FAIL; } @@ -334,7 +334,7 @@ jpg_return_status JpegEncoder::encodeThumbImg(unsigned int *size, bool useMain) mArgs.enc_param->enc_type = JPG_THUMBNAIL; ret = (jpg_return_status)ioctl(mDevFd, IOCTL_JPG_ENCODE, &mArgs); if (ret != JPG_SUCCESS) { - LOGE("Failed to encode for thumbnail"); + ALOGE("Failed to encode for thumbnail"); return JPG_FAIL; } @@ -350,7 +350,7 @@ jpg_return_status JpegEncoder::encodeThumbImg(unsigned int *size, bool useMain) fclose(fout); #endif - LOGD("encodeThumbImg X"); + ALOGD("encodeThumbImg X"); return JPG_SUCCESS; } @@ -363,7 +363,7 @@ jpg_return_status JpegEncoder::makeExif (unsigned char *exifOut, if (!available) return JPG_FAIL; - LOGD("makeExif E"); + ALOGD("makeExif E"); unsigned char *pCur, *pApp1Start, *pIfdStart, *pGpsIfdPtr, *pNextIfdOffset; unsigned int tmp, LongerTagOffest = 0; @@ -595,7 +595,7 @@ jpg_return_status JpegEncoder::makeExif (unsigned char *exifOut, unsigned char size_mm[2] = {(tmp >> 8) & 0xFF, tmp & 0xFF}; memcpy(pApp1Start, size_mm, 2); - LOGD("makeExif X"); + ALOGD("makeExif X"); return JPG_SUCCESS; } @@ -625,20 +625,20 @@ jpg_return_status JpegEncoder::checkMcu(sample_mode_t sampleMode, break; default: - LOGE("Invaild sample mode"); + ALOGE("Invaild sample mode"); return JPG_FAIL; } if (expectedWidth == width && expectedHeight == height) return JPG_SUCCESS; - LOGW("The image is not matched for MCU"); + ALOGW("The image is not matched for MCU"); uint32_t size = width*height * 2; char *srcBuf, *dstBuf; if ((srcBuf = new char[size]) == NULL) { - LOGE("Failed to allocate for srcBuf"); + ALOGE("Failed to allocate for srcBuf"); return JPG_FAIL; } @@ -662,7 +662,7 @@ bool JpegEncoder::pad(char *srcBuf, uint32_t srcWidth, uint32_t srcHight, return false; if (srcBuf == NULL || dstBuf == NULL) { - LOGE("srcBuf or dstBuf is NULL"); + ALOGE("srcBuf or dstBuf is NULL"); return false; } @@ -671,7 +671,7 @@ bool JpegEncoder::pad(char *srcBuf, uint32_t srcWidth, uint32_t srcHight, if ((int)(dstWidth - srcWidth) < 0 || (int)(dstHight - srcHight) < 0) { - LOGE("dstSize is smaller than srcSize"); + ALOGE("dstSize is smaller than srcSize"); return false; } memset(dstBuf, 0, dstWidth*dstHight * 2); @@ -693,7 +693,7 @@ bool JpegEncoder::scaleDownYuv422(char *srcBuf, uint32_t srcWidth, uint32_t srcH int32_t x, y, src_y_start_pos, dst_pos, src_pos; if (dstWidth % 2 != 0 || dstHight % 2 != 0){ - LOGE("scale_down_yuv422: invalid width, height for scaling"); + ALOGE("scale_down_yuv422: invalid width, height for scaling"); return false; } diff --git a/libsensors/AkmSensor.cpp b/libsensors/AkmSensor.cpp index 34a24f2..ce28dbf 100644 --- a/libsensors/AkmSensor.cpp +++ b/libsensors/AkmSensor.cpp @@ -163,7 +163,7 @@ int AkmSensor::enable(int32_t handle, int en) else err = akm_disable_sensor(sensor_type); - LOGE_IF(err, "Could not change sensor state (%s)", strerror(-err)); + ALOGE_IF(err, "Could not change sensor state (%s)", strerror(-err)); if (!err) { mEnabled &= ~(1<<what); mEnabled |= (uint32_t(flags)<<what); @@ -200,7 +200,7 @@ int AkmSensor::loadAKMLibrary() akm_enable_sensor = stub_enable_disable_sensor; akm_disable_sensor = stub_enable_disable_sensor; akm_set_delay = stub_set_delay; - LOGE("AkmSensor: unable to load AKM Library, %s", dlerror()); + ALOGE("AkmSensor: unable to load AKM Library, %s", dlerror()); return -ENOENT; } @@ -246,7 +246,7 @@ int AkmSensor::readEvents(sensors_event_t* data, int count) mInputReader.next(); } } else { - LOGE("AkmSensor: unknown event (type=%d, code=%d)", + ALOGE("AkmSensor: unknown event (type=%d, code=%d)", type, event->code); mInputReader.next(); } diff --git a/libsensors/GyroSensor.cpp b/libsensors/GyroSensor.cpp index ecebb61..c54235d 100644 --- a/libsensors/GyroSensor.cpp +++ b/libsensors/GyroSensor.cpp @@ -164,7 +164,7 @@ again: count--; } } else { - LOGE("GyroSensor: unknown event (type=%d, code=%d)", + ALOGE("GyroSensor: unknown event (type=%d, code=%d)", type, event->code); } mInputReader.next(); diff --git a/libsensors/LightSensor.cpp b/libsensors/LightSensor.cpp index 5df7cd5..fe0b8b3 100644 --- a/libsensors/LightSensor.cpp +++ b/libsensors/LightSensor.cpp @@ -136,7 +136,7 @@ int LightSensor::readEvents(sensors_event_t* data, int count) numEventReceived++; } } else { - LOGE("LightSensor: unknown event (type=%d, code=%d)", + ALOGE("LightSensor: unknown event (type=%d, code=%d)", type, event->code); } mInputReader.next(); diff --git a/libsensors/ProximitySensor.cpp b/libsensors/ProximitySensor.cpp index 794a586..77a7f3c 100644 --- a/libsensors/ProximitySensor.cpp +++ b/libsensors/ProximitySensor.cpp @@ -129,7 +129,7 @@ int ProximitySensor::readEvents(sensors_event_t* data, int count) numEventReceived++; } } else { - LOGE("ProximitySensor: unknown event (type=%d, code=%d)", + ALOGE("ProximitySensor: unknown event (type=%d, code=%d)", type, event->code); } mInputReader.next(); diff --git a/libsensors/SensorBase.cpp b/libsensors/SensorBase.cpp index d448eb2..79b1ee2 100644 --- a/libsensors/SensorBase.cpp +++ b/libsensors/SensorBase.cpp @@ -53,7 +53,7 @@ SensorBase::~SensorBase() { int SensorBase::open_device() { if (dev_fd<0 && dev_name) { dev_fd = open(dev_name, O_RDONLY); - LOGE_IF(dev_fd<0, "Couldn't open %s (%s)", dev_name, strerror(errno)); + ALOGE_IF(dev_fd<0, "Couldn't open %s (%s)", dev_name, strerror(errno)); } return 0; } @@ -123,6 +123,6 @@ int SensorBase::openInput(const char* inputName) { } } closedir(dir); - LOGE_IF(fd<0, "couldn't find '%s' input device", inputName); + ALOGE_IF(fd<0, "couldn't find '%s' input device", inputName); return fd; } diff --git a/libsensors/sensors.cpp b/libsensors/sensors.cpp index 847f3ca..850cbf9 100644 --- a/libsensors/sensors.cpp +++ b/libsensors/sensors.cpp @@ -190,7 +190,7 @@ sensors_poll_context_t::sensors_poll_context_t() int wakeFds[2]; int result = pipe(wakeFds); - LOGE_IF(result<0, "error creating wake pipe (%s)", strerror(errno)); + ALOGE_IF(result<0, "error creating wake pipe (%s)", strerror(errno)); fcntl(wakeFds[0], F_SETFL, O_NONBLOCK); fcntl(wakeFds[1], F_SETFL, O_NONBLOCK); mWritePipeFd = wakeFds[1]; @@ -215,7 +215,7 @@ int sensors_poll_context_t::activate(int handle, int enabled) { if (enabled && !err) { const char wakeMessage(WAKE_MESSAGE); int result = write(mWritePipeFd, &wakeMessage, 1); - LOGE_IF(result<0, "error sending wake message (%s)", strerror(errno)); + ALOGE_IF(result<0, "error sending wake message (%s)", strerror(errno)); } return err; } @@ -256,14 +256,14 @@ int sensors_poll_context_t::pollEvents(sensors_event_t* data, int count) n = poll(mPollFds, numFds, nbEvents ? 0 : -1); } while (n < 0 && errno == EINTR); if (n<0) { - LOGE("poll() failed (%s)", strerror(errno)); + ALOGE("poll() failed (%s)", strerror(errno)); return -errno; } if (mPollFds[wake].revents & POLLIN) { char msg; int result = read(mPollFds[wake].fd, &msg, 1); - LOGE_IF(result<0, "error reading from wake pipe (%s)", strerror(errno)); - LOGE_IF(msg != WAKE_MESSAGE, "unknown message on wake queue (0x%02x)", int(msg)); + ALOGE_IF(result<0, "error reading from wake pipe (%s)", strerror(errno)); + ALOGE_IF(msg != WAKE_MESSAGE, "unknown message on wake queue (0x%02x)", int(msg)); mPollFds[wake].revents = 0; } } diff --git a/libstagefrighthw/Android.mk b/libstagefrighthw/Android.mk index 3598451..052050c 100644 --- a/libstagefrighthw/Android.mk +++ b/libstagefrighthw/Android.mk @@ -9,7 +9,8 @@ LOCAL_SRC_FILES := \ LOCAL_CFLAGS += $(PV_CFLAGS_MINUS_VISIBILITY) LOCAL_C_INCLUDES:= \ - $(TOP)/frameworks/base/include/media/stagefright/openmax \ + $(TOP)/frameworks/native/include/media/openmax \ + $(TOP)/frameworks/native/include/media/hardware \ $(LOCAL_PATH)/../include \ LOCAL_SHARED_LIBRARIES := \ diff --git a/libstagefrighthw/SEC_OMX_Plugin.cpp b/libstagefrighthw/SEC_OMX_Plugin.cpp index 39b4220..8347c63 100644 --- a/libstagefrighthw/SEC_OMX_Plugin.cpp +++ b/libstagefrighthw/SEC_OMX_Plugin.cpp @@ -18,8 +18,7 @@ #include <dlfcn.h> -#include <media/stagefright/HardwareAPI.h> -#include <media/stagefright/MediaDebug.h> +#include <HardwareAPI.h> namespace android { @@ -37,7 +36,7 @@ SECOMXPlugin::SECOMXPlugin() mGetRolesOfComponentHandle(NULL) { if (mLibHandle != NULL) { mInit = (InitFunc)dlsym(mLibHandle, "SEC_OMX_Init"); - mDeinit = (DeinitFunc)dlsym(mLibHandle, "SEC_OMX_DeInit"); + mDeinit = (DeinitFunc)dlsym(mLibHandle, "SEC_OMX_Deinit"); mComponentNameEnum = (ComponentNameEnumFunc)dlsym(mLibHandle, "SEC_OMX_ComponentNameEnum"); @@ -125,12 +124,15 @@ OMX_ERRORTYPE SECOMXPlugin::getRolesOfComponent( err = (*mGetRolesOfComponentHandle)( const_cast<OMX_STRING>(name), &numRoles2, array); - CHECK_EQ(err, OMX_ErrorNone); - CHECK_EQ(numRoles, numRoles2); + if (err == OMX_ErrorNone && numRoles != numRoles2) { + err = OMX_ErrorUndefined; + } for (OMX_U32 i = 0; i < numRoles; ++i) { - String8 s((const char *)array[i]); - roles->push(s); + if (err == OMX_ErrorNone) { + String8 s((const char *)array[i]); + roles->push(s); + } delete[] array[i]; array[i] = NULL; @@ -140,7 +142,7 @@ OMX_ERRORTYPE SECOMXPlugin::getRolesOfComponent( array = NULL; } - return OMX_ErrorNone; + return err; } } // namespace android diff --git a/libstagefrighthw/SEC_OMX_Plugin.h b/libstagefrighthw/SEC_OMX_Plugin.h index 6df2d31..3d640db 100644 --- a/libstagefrighthw/SEC_OMX_Plugin.h +++ b/libstagefrighthw/SEC_OMX_Plugin.h @@ -18,7 +18,7 @@ #define SEC_OMX_PLUGIN -#include <media/stagefright/OMXPluginBase.h> +#include <OMXPluginBase.h> namespace android { diff --git a/media_codecs.xml b/media_codecs.xml new file mode 100644 index 0000000..c6f8372 --- /dev/null +++ b/media_codecs.xml @@ -0,0 +1,116 @@ +<?xml version="1.0" encoding="utf-8" ?> +<!-- Copyright (C) 2012 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<!-- +<!DOCTYPE MediaCodecs [ +<!ELEMENT MediaCodecs (Decoders,Encoders)> +<!ELEMENT Decoders (MediaCodec*)> +<!ELEMENT Encoders (MediaCodec*)> +<!ELEMENT MediaCodec (Type*,Quirk*)> +<!ATTLIST MediaCodec name CDATA #REQUIRED> +<!ATTLIST MediaCodec type CDATA> +<!ELEMENT Type EMPTY> +<!ATTLIST Type name CDATA #REQUIRED> +<!ELEMENT Quirk EMPTY> +<!ATTLIST Quirk name CDATA #REQUIRED> +]> + +There's a simple and a complex syntax to declare the availability of a +media codec: + +A codec that properly follows the OpenMax spec and therefore doesn't have any +quirks and that only supports a single content type can be declared like so: + + <MediaCodec name="OMX.foo.bar" type="something/interesting" /> + +If a codec has quirks OR supports multiple content types, the following syntax +can be used: + + <MediaCodec name="OMX.foo.bar" > + <Type name="something/interesting" /> + <Type name="something/else" /> + ... + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + <Quirk name="output-buffers-are-unreadable" /> + </MediaCodec> + +Only the three quirks included above are recognized at this point: + +"requires-allocate-on-input-ports" + must be advertised if the component does not properly support specification + of input buffers using the OMX_UseBuffer(...) API but instead requires + OMX_AllocateBuffer to be used. + +"requires-allocate-on-output-ports" + must be advertised if the component does not properly support specification + of output buffers using the OMX_UseBuffer(...) API but instead requires + OMX_AllocateBuffer to be used. + +"output-buffers-are-unreadable" + must be advertised if the emitted output buffers of a decoder component + are not readable, i.e. use a custom format even though abusing one of + the official OMX colorspace constants. + Clients of such decoders will not be able to access the decoded data, + naturally making the component much less useful. The only use for + a component with this quirk is to render the output to the screen. + Audio decoders MUST NOT advertise this quirk. + Video decoders that advertise this quirk must be accompanied by a + corresponding color space converter for thumbnail extraction, + matching surfaceflinger support that can render the custom format to + a texture and possibly other code, so just DON'T USE THIS QUIRK. + +--> + +<MediaCodecs> + <Decoders> + <MediaCodec name="OMX.SEC.MPEG4.Decoder" type="video/mp4v-es" > + <Quirk name="output-buffers-are-unreadable" /> + </MediaCodec> + + <MediaCodec name="OMX.SEC.H263.Decoder" type="video/3gpp" > + <Quirk name="output-buffers-are-unreadable" /> + </MediaCodec> + + <MediaCodec name="OMX.SEC.AVC.Decoder" type="video/avc" > + <Quirk name="output-buffers-are-unreadable" /> + </MediaCodec> + + <MediaCodec name="OMX.google.mp3.decoder" type="audio/mpeg" /> + <MediaCodec name="OMX.google.amrnb.decoder" type="audio/3gpp" /> + <MediaCodec name="OMX.google.amrwb.decoder" type="audio/amr-wb" /> + <MediaCodec name="OMX.google.aac.decoder" type="audio/mp4a-latm" /> + <MediaCodec name="OMX.google.g711.alaw.decoder" type="audio/g711-alaw" /> + <MediaCodec name="OMX.google.g711.mlaw.decoder" type="audio/g711-mlaw" /> + <MediaCodec name="OMX.google.vorbis.decoder" type="audio/vorbis" /> + + <MediaCodec name="OMX.google.mpeg4.decoder" type="video/mp4v-es" /> + <MediaCodec name="OMX.google.h263.decoder" type="video/3gpp" /> + <MediaCodec name="OMX.google.h264.decoder" type="video/avc" /> + <MediaCodec name="OMX.google.vpx.decoder" type="video/x-vnd.on2.vp8" /> + </Decoders> + + <Encoders> + <MediaCodec name="OMX.SEC.MPEG4.Encoder" type="video/mp4v-es" /> + <MediaCodec name="OMX.SEC.H263.Encoder" type="video/3gpp" /> + <MediaCodec name="OMX.SEC.AVC.Encoder" type="video/avc" /> + + <MediaCodec name="OMX.google.amrnb.encoder" type="audio/3gpp" /> + <MediaCodec name="OMX.google.amrwb.encoder" type="audio/amr-wb" /> + <MediaCodec name="OMX.google.aac.encoder" type="audio/mp4a-latm" /> + <MediaCodec name="OMX.google.flac.encoder" type="audio/flac" /> + </Encoders> +</MediaCodecs> diff --git a/media_profiles.xml b/media_profiles.xml index 67fe1a1..27e00c5 100644 --- a/media_profiles.xml +++ b/media_profiles.xml @@ -56,7 +56,7 @@ <!ATTLIST VideoEncoderCap minFrameRate CDATA #REQUIRED> <!ATTLIST VideoEncoderCap maxFrameRate CDATA #REQUIRED> <!ELEMENT AudioEncoderCap EMPTY> -<!ATTLIST AudioEncoderCap name (amrnb|amrwb|aac|wma) #REQUIRED> +<!ATTLIST AudioEncoderCap name (amrnb|amrwb|aac|heaac|aaceld|wma) #REQUIRED> <!ATTLIST AudioEncoderCap enabled (true|false) #REQUIRED> <!ATTLIST AudioEncoderCap minBitRate CDATA #REQUIRED> <!ATTLIST AudioEncoderCap maxBitRate CDATA #REQUIRED> @@ -97,7 +97,7 @@ frameRate="30" /> <Audio codec="aac" - bitRate="96000" + bitRate="24000" sampleRate="16000" channels="1" /> </EncoderProfile> @@ -125,7 +125,7 @@ <!-- Audio settings are not used for timealpse video recording --> <Audio codec="aac" - bitRate="96000" + bitRate="24000" sampleRate="16000" channels="1" /> </EncoderProfile> @@ -160,7 +160,7 @@ frameRate="15" /> <Audio codec="aac" - bitRate="96000" + bitRate="24000" sampleRate="16000" channels="1" /> </EncoderProfile> @@ -188,7 +188,7 @@ <!-- Audio settings are not used for timealpse video recording --> <Audio codec="aac" - bitRate="96000" + bitRate="24000" sampleRate="16000" channels="1" /> </EncoderProfile> @@ -241,8 +241,18 @@ minFrameRate="15" maxFrameRate="30" /> <AudioEncoderCap name="aac" enabled="true" - minBitRate="8192" maxBitRate="96000" - minSampleRate="8000" maxSampleRate="16000" + minBitRate="758" maxBitRate="288000" + minSampleRate="8000" maxSampleRate="48000" + minChannels="1" maxChannels="1" /> + + <AudioEncoderCap name="heaac" enabled="true" + minBitRate="8000" maxBitRate="64000" + minSampleRate="16000" maxSampleRate="48000" + minChannels="1" maxChannels="1" /> + + <AudioEncoderCap name="aaceld" enabled="true" + minBitRate="16000" maxBitRate="192000" + minSampleRate="16000" maxSampleRate="48000" minChannels="1" maxChannels="1" /> <AudioEncoderCap name="amrwb" enabled="true" @@ -251,7 +261,7 @@ minChannels="1" maxChannels="1" /> <AudioEncoderCap name="amrnb" enabled="true" - minBitRate="5525" maxBitRate="12200" + minBitRate="4750" maxBitRate="12200" minSampleRate="8000" maxSampleRate="8000" minChannels="1" maxChannels="1" /> diff --git a/media_profiles_korea.xml b/media_profiles_korea.xml index 7c00e3c..3a4cab8 100644 --- a/media_profiles_korea.xml +++ b/media_profiles_korea.xml @@ -56,7 +56,7 @@ <!ATTLIST VideoEncoderCap minFrameRate CDATA #REQUIRED> <!ATTLIST VideoEncoderCap maxFrameRate CDATA #REQUIRED> <!ELEMENT AudioEncoderCap EMPTY> -<!ATTLIST AudioEncoderCap name (amrnb|amrwb|aac|wma) #REQUIRED> +<!ATTLIST AudioEncoderCap name (amrnb|amrwb|aac|heaac|aaceld|wma) #REQUIRED> <!ATTLIST AudioEncoderCap enabled (true|false) #REQUIRED> <!ATTLIST AudioEncoderCap minBitRate CDATA #REQUIRED> <!ATTLIST AudioEncoderCap maxBitRate CDATA #REQUIRED> @@ -241,8 +241,18 @@ minFrameRate="15" maxFrameRate="30" /> <AudioEncoderCap name="aac" enabled="true" - minBitRate="8192" maxBitRate="96000" - minSampleRate="8000" maxSampleRate="16000" + minBitRate="758" maxBitRate="288000" + minSampleRate="8000" maxSampleRate="48000" + minChannels="1" maxChannels="1" /> + + <AudioEncoderCap name="heaac" enabled="true" + minBitRate="8000" maxBitRate="64000" + minSampleRate="16000" maxSampleRate="48000" + minChannels="1" maxChannels="1" /> + + <AudioEncoderCap name="aaceld" enabled="true" + minBitRate="16000" maxBitRate="192000" + minSampleRate="16000" maxSampleRate="48000" minChannels="1" maxChannels="1" /> <AudioEncoderCap name="amrwb" enabled="true" @@ -251,7 +261,7 @@ minChannels="1" maxChannels="1" /> <AudioEncoderCap name="amrnb" enabled="true" - minBitRate="5525" maxBitRate="12200" + minBitRate="4750" maxBitRate="12200" minSampleRate="8000" maxSampleRate="8000" minChannels="1" maxChannels="1" /> diff --git a/mxt224_ts_input.kl b/mxt224_ts_input.kl index bea3f40..87a756c 100644 --- a/mxt224_ts_input.kl +++ b/mxt224_ts_input.kl @@ -14,5 +14,5 @@ key 158 BACK WAKE key 139 MENU WAKE -key 217 SEARCH WAKE +key 217 ASSIST WAKE key 102 HOME WAKE diff --git a/nfc/nfc_hw.c b/nfc/nfc_hw.c index b604768..9bd14c6 100644 --- a/nfc/nfc_hw.c +++ b/nfc/nfc_hw.c @@ -31,8 +31,6 @@ static uint8_t pn544_eedata_settings[][4] = { ,{0x00,0x9B,0xD6,0x1E} // GSP setting for this threshold ,{0x00,0x9B,0xDD,0x1C} // GSP setting for this threshold ,{0x00,0x9B,0x84,0x13} // ANACM2 setting - ,{0x00,0x99,0x81,0x7F} // ANAVMID setting PCD - ,{0x00,0x99,0x31,0x70} // ANAVMID setting PICC // Enable PBTF ,{0x00,0x98,0x00,0x3F} // SECURE_ELEMENT_CONFIGURATION - No Secure Element @@ -67,8 +65,8 @@ static uint8_t pn544_eedata_settings[][4] = { ,{0x00,0x9C,0x12,0x00} // ,{0x00,0x9C,0x13,0x00} // - //WTX for LLCP communication - ,{0x00,0x98,0xA2,0x0E} // Max value: 14 (default value: 09) + // NFC-DEP Target Waiting Time (WT) + ,{0x00,0x98,0xA2,0x08} // Set to 0x08 as required by [digital] (default value: 09) //SE GPIO ,{0x00, 0x98, 0x93, 0x40} diff --git a/overlay/frameworks/base/core/res/res/values/config.xml b/overlay/frameworks/base/core/res/res/values/config.xml index d3c0721..d619a60 100644 --- a/overlay/frameworks/base/core/res/res/values/config.xml +++ b/overlay/frameworks/base/core/res/res/values/config.xml @@ -98,7 +98,6 @@ specified --> <string name="default_wallpaper_component">com.android.wallpaper/.nexus.NexusWallpaper</string> - <integer name="config_deskDockRotation">90</integer> <integer name="config_deskDockKeepsScreenOn">0</integer> <integer name="config_carDockKeepsScreenOn">1</integer> @@ -108,12 +107,11 @@ <!-- Default blink frequency for notification LED is 9 seconds. --> <integer name="config_defaultNotificationLedOff">9000</integer> - <!-- Component name of the service providing network location support. --> - <string name="config_networkLocationProvider">com.google.android.location.NetworkLocationProvider</string> - - <!-- Component name of the service providing geocoder API support. --> - <string name="config_geocodeProvider">com.google.android.location.GeocodeProvider</string> + <!-- Package name providing network location support. --> + <string name="config_networkLocationProviderPackageName" translatable="false">com.google.android.location</string> + <!-- Package name providing geocoder API support. --> + <string name="config_geocodeProviderPackageName" translatable="false">com.google.android.location</string> <!-- XXXXX NOTE THE FOLLOWING RESOURCES USE THE WRONG NAMING CONVENTION. Please don't copy them, copy anything else. --> @@ -169,7 +167,7 @@ Wifi interfaces. If the device doesn't want to support tethering over Wifi this should be empty. An example would be "softap.*" --> <string-array translatable="false" name="config_tether_wifi_regexs"> - <item>"wl0.1"</item> + <item>"wlan0"</item> </string-array> <!-- List of regexpressions describing the interface (if any) that represent tetherable @@ -212,4 +210,8 @@ <bool name="config_bluetooth_adapter_quick_switch">false</bool> + <!-- The attenuation in dB applied to the sound effects played + through AudioManager.playSoundEffect() when no volume is specified. --> + <integer name="config_soundEffectVolumeDb">-12</integer> + </resources> diff --git a/overlay/frameworks/base/core/res/res/xml/storage_list.xml b/overlay/frameworks/base/core/res/res/xml/storage_list.xml index 9670ba5..3df9d42 100644 --- a/overlay/frameworks/base/core/res/res/xml/storage_list.xml +++ b/overlay/frameworks/base/core/res/res/xml/storage_list.xml @@ -36,7 +36,7 @@ <StorageList xmlns:android="http://schemas.android.com/apk/res/android"> <!-- removable is not set in nosdcard product --> - <storage android:mountPoint="/mnt/sdcard" + <storage android:mountPoint="/storage/sdcard0" android:storageDescription="@string/storage_usb" android:primary="true" android:allowMassStorage="true" diff --git a/proprietary-blobs.txt b/proprietary-blobs.txt new file mode 100644 index 0000000..c4c56e0 --- /dev/null +++ b/proprietary-blobs.txt @@ -0,0 +1,38 @@ +# Copyright (C) 2011 The Android Open Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# This file is generated by device/common/generate-blob-lists.sh - DO NOT EDIT + +/system/lib/libdrmdecrypt.so +/system/lib/libsecril-client.so +/system/vendor/bin/gpsd +/system/vendor/bin/pvrsrvinit +/system/vendor/firmware/bcm4329.hcd +/system/vendor/firmware/cypress-touchkey.bin +/system/vendor/firmware/libpn544_fw.so +/system/vendor/lib/egl/libEGL_POWERVR_SGX540_120.so +/system/vendor/lib/egl/libGLESv1_CM_POWERVR_SGX540_120.so +/system/vendor/lib/egl/libGLESv2_POWERVR_SGX540_120.so +/system/vendor/lib/hw/gps.s5pc110.so +/system/vendor/lib/hw/gralloc.s5pc110.so +/system/vendor/lib/libakm.so +/system/vendor/lib/libglslcompiler.so +/system/vendor/lib/libIMGegl.so +/system/vendor/lib/libpvr2d.so +/system/vendor/lib/libpvrANDROID_WSEGL.so +/system/vendor/lib/libPVRScopeServices.so +/system/vendor/lib/libsec-ril.so +/system/vendor/lib/libsrv_init.so +/system/vendor/lib/libsrv_um.so +/system/vendor/lib/libusc.so diff --git a/recovery/Android.mk b/recovery/Android.mk index 2100f3d..0d65438 100644 --- a/recovery/Android.mk +++ b/recovery/Android.mk @@ -5,7 +5,7 @@ include $(CLEAR_VARS) LOCAL_MODULE_TAGS := eng LOCAL_C_INCLUDES += bootable/recovery -LOCAL_SRC_FILES := recovery_ui.c +LOCAL_SRC_FILES := recovery_ui.cpp # should match TARGET_RECOVERY_UI_LIB set in BoardConfig.mk LOCAL_MODULE := librecovery_ui_crespo diff --git a/recovery/recovery_ui.c b/recovery/recovery_ui.c deleted file mode 100644 index 81ed4f2..0000000 --- a/recovery/recovery_ui.c +++ /dev/null @@ -1,115 +0,0 @@ -/* - * Copyright (C) 2010 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include <linux/input.h> -#include <sys/stat.h> -#include <errno.h> -#include <string.h> - -#include "recovery_ui.h" -#include "common.h" - -char* MENU_HEADERS[] = { "Volume up/down to move highlight;", - "power button to select.", - "", - NULL }; - -char* MENU_ITEMS[] = { "reboot system now", - "apply update from /sdcard", - "wipe data/factory reset", - "wipe cache partition", - NULL }; - -void device_ui_init(UIParameters* ui_parameters) { -} - -int device_recovery_start() { - // recovery can get started before the kernel has created the EMMC - // devices, which will make the wipe_data operation fail (trying - // to open a device that doesn't exist). Hold up the start of - // recovery for up to 5 seconds waiting for the userdata partition - // block device to exist. - - const char* fn = "/dev/block/platform/s3c-sdhci.0/by-name/userdata"; - - int tries = 0; - int ret; - struct stat buf; - do { - ++tries; - ret = stat(fn, &buf); - if (ret) { - printf("try %d: %s\n", tries, strerror(errno)); - sleep(1); - } - } while (ret && tries < 5); - if (!ret) { - printf("stat() of %s succeeded on try %d\n", fn, tries); - } else { - printf("failed to stat %s\n", fn); - } - - // We let recovery attempt to carry on even if the stat never - // succeeded. - - return 0; -} - -int device_toggle_display(volatile char* key_pressed, int key_code) { - // hold power and press volume-up - return key_pressed[KEY_POWER] && key_code == KEY_VOLUMEUP; -} - -int device_reboot_now(volatile char* key_pressed, int key_code) { - // Reboot if the power key is pressed five times in a row, with - // no other keys in between. - static int presses = 0; - if (key_code == KEY_POWER) { // power button - ++presses; - return presses == 5; - } else { - presses = 0; - return 0; - } -} - -int device_handle_key(int key_code, int visible) { - if (visible) { - switch (key_code) { - case KEY_DOWN: - case KEY_VOLUMEDOWN: - return HIGHLIGHT_DOWN; - - case KEY_UP: - case KEY_VOLUMEUP: - return HIGHLIGHT_UP; - - case KEY_ENTER: - case KEY_POWER: // crespo power - return SELECT_ITEM; - } - } - - return NO_ACTION; -} - -int device_perform_action(int which) { - return which; -} - -int device_wipe_data() { - return 0; -} diff --git a/recovery/recovery_ui.cpp b/recovery/recovery_ui.cpp new file mode 100644 index 0000000..4f97407 --- /dev/null +++ b/recovery/recovery_ui.cpp @@ -0,0 +1,110 @@ +/* + * Copyright (C) 2010 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include <linux/input.h> +#include <sys/stat.h> +#include <errno.h> +#include <string.h> + +#include "common.h" +#include "device.h" +#include "screen_ui.h" + +const char* HEADERS[] = { "Volume up/down to move highlight;", + "power button to select.", + "", + NULL }; + +const char* ITEMS[] = { "reboot system now", + "apply update from ADB", + "apply update from /sdcard", + "wipe data/factory reset", + "wipe cache partition", + NULL }; + +class CrespoUI : public ScreenRecoveryUI { + public: + CrespoUI() : + consecutive_power_keys(0) { + } + + virtual KeyAction CheckKey(int key) { + if (IsKeyPressed(KEY_POWER) && key == KEY_VOLUMEUP) { + return TOGGLE; + } + if (key == KEY_POWER) { + ++consecutive_power_keys; + if (consecutive_power_keys >= 7) { + return REBOOT; + } + } else { + consecutive_power_keys = 0; + } + return ENQUEUE; + } + + private: + int consecutive_power_keys; +}; + +class CrespoDevice : public Device { + public: + CrespoDevice() : + ui(new CrespoUI) { + } + + RecoveryUI* GetUI() { return ui; } + + int HandleMenuKey(int key_code, int visible) { + if (visible) { + switch (key_code) { + case KEY_DOWN: + case KEY_VOLUMEDOWN: + return kHighlightDown; + + case KEY_UP: + case KEY_VOLUMEUP: + return kHighlightUp; + + case KEY_POWER: + return kInvokeItem; + } + } + + return kNoAction; + } + + BuiltinAction InvokeMenuItem(int menu_position) { + switch (menu_position) { + case 0: return REBOOT; + case 1: return APPLY_ADB_SIDELOAD; + case 2: return APPLY_EXT; + case 3: return WIPE_DATA; + case 4: return WIPE_CACHE; + default: return NO_ACTION; + } + } + + const char* const* GetMenuHeaders() { return HEADERS; } + const char* const* GetMenuItems() { return ITEMS; } + + private: + RecoveryUI* ui; +}; + +Device* make_device() { + return new CrespoDevice; +} diff --git a/sec_mm/sec_omx/sec_codecs/video/mfc_c110/dec/src/SsbSipMfcDecAPI.c b/sec_mm/sec_omx/sec_codecs/video/mfc_c110/dec/src/SsbSipMfcDecAPI.c index 8e47683..6c64ef8 100644 --- a/sec_mm/sec_omx/sec_codecs/video/mfc_c110/dec/src/SsbSipMfcDecAPI.c +++ b/sec_mm/sec_omx/sec_codecs/video/mfc_c110/dec/src/SsbSipMfcDecAPI.c @@ -56,8 +56,8 @@ static mfc_packed_mode isPBPacked(_MFCLIB *pCtx, int length) while (1) { while (startCode != USR_DATA_START_CODE) { if (startCode == VOP_START_CODE) { - LOGV("isPBPacked: VOP START Found !!.....return\n"); - LOGV("isPBPacked: Non Packed PB\n"); + ALOGV("isPBPacked: VOP START Found !!.....return\n"); + ALOGV("isPBPacked: Non Packed PB\n"); return MFC_UNPACKED_PB; } getAByte(strmBuffer, &startCode); @@ -65,11 +65,11 @@ static mfc_packed_mode isPBPacked(_MFCLIB *pCtx, int length) if (strmBuffer >= strmBufferEnd) goto out; } - LOGV("isPBPacked: User Data Found !!\n"); + ALOGV("isPBPacked: User Data Found !!\n"); do { if (*strmBuffer == 'p') { - LOGI("isPBPacked: Packed PB\n"); + ALOGI("isPBPacked: Packed PB\n"); return MFC_PACKED_PB; } getAByte(strmBuffer, &startCode); @@ -80,7 +80,7 @@ static mfc_packed_mode isPBPacked(_MFCLIB *pCtx, int length) } out: - LOGV("isPBPacked: Non Packed PB\n"); + ALOGV("isPBPacked: Non Packed PB\n"); return MFC_UNPACKED_PB; } @@ -94,14 +94,14 @@ void *SsbSipMfcDecOpen(void *value) pCTX = (_MFCLIB *)malloc(sizeof(_MFCLIB)); if (pCTX == NULL) { - LOGE("SsbSipMfcDecOpen: malloc failed.\n"); + ALOGE("SsbSipMfcDecOpen: malloc failed.\n"); return NULL; } memset(pCTX, 0, sizeof(_MFCLIB)); hMFCOpen = open(S5PC110_MFC_DEV_NAME, O_RDWR | O_NDELAY); if (hMFCOpen < 0) { - LOGE("SsbSipMfcDecOpen: MFC Open failure\n"); + ALOGE("SsbSipMfcDecOpen: MFC Open failure\n"); return NULL; } @@ -110,15 +110,15 @@ void *SsbSipMfcDecOpen(void *value) DecArg.args.buf_type = *(unsigned int *)value; ret_code = ioctl(hMFCOpen, IOCTL_MFC_BUF_CACHE, &DecArg); if (DecArg.ret_code != MFC_RET_OK) { - LOGE("SsbSipMfcDecOpenExt: IOCTL_MFC_BUF_CACHE (%d) failed\n", DecArg.ret_code); + ALOGE("SsbSipMfcDecOpenExt: IOCTL_MFC_BUF_CACHE (%d) failed\n", DecArg.ret_code); } } else { - LOGE("SsbSipMfcDecOpenExt: value is invalid, value: %d\n", *(int *)value); + ALOGE("SsbSipMfcDecOpenExt: value is invalid, value: %d\n", *(int *)value); } mapped_addr = (unsigned int)mmap(0, MMAP_BUFFER_SIZE_MMAP, PROT_READ | PROT_WRITE, MAP_SHARED, hMFCOpen, 0); if (!mapped_addr) { - LOGE("SsbSipMfcDecOpen: FIMV5.0 driver address mapping failed\n"); + ALOGE("SsbSipMfcDecOpen: FIMV5.0 driver address mapping failed\n"); return NULL; } @@ -138,7 +138,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcDecInit(void *openHandle, SSBSIP_MFC_CODEC_TYPE c _MFCLIB *pCTX; if (openHandle == NULL) { - LOGE("SsbSipMfcDecSetConfig: openHandle is NULL\n"); + ALOGE("SsbSipMfcDecSetConfig: openHandle is NULL\n"); return MFC_RET_INVALID_PARAM; } @@ -157,7 +157,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcDecInit(void *openHandle, SSBSIP_MFC_CODEC_TYPE c (codec_type != XVID_DEC) && (codec_type != VC1RCV_DEC) && (codec_type != VC1_DEC)) { - LOGE("SsbSipMfcDecOpen: Undefined codec type.\n"); + ALOGE("SsbSipMfcDecOpen: Undefined codec type.\n"); return MFC_RET_INVALID_PARAM; } @@ -182,7 +182,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcDecInit(void *openHandle, SSBSIP_MFC_CODEC_TYPE c ret_code = ioctl(pCTX->hMFC, IOCTL_MFC_DEC_INIT, &DecArg); if (DecArg.ret_code != MFC_RET_OK) { - LOGE("SsbSipMfcDecInit: IOCTL_MFC_DEC_INIT (%d) failed\n", DecArg.ret_code); + ALOGE("SsbSipMfcDecInit: IOCTL_MFC_DEC_INIT (%d) failed\n", DecArg.ret_code); return MFC_RET_DEC_INIT_FAIL; } @@ -218,12 +218,12 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcDecExe(void *openHandle, int lengthBufFill) mfc_common_args DecArg; if (openHandle == NULL) { - LOGE("SsbSipMfcDecExe: openHandle is NULL\n"); + ALOGE("SsbSipMfcDecExe: openHandle is NULL\n"); return MFC_RET_INVALID_PARAM; } if ((lengthBufFill < 0) || (lengthBufFill > MAX_DECODER_INPUT_BUFFER_SIZE)) { - LOGE("SsbSipMfcDecExe: lengthBufFill is invalid. (lengthBufFill=%d)\n", lengthBufFill); + ALOGE("SsbSipMfcDecExe: lengthBufFill is invalid. (lengthBufFill=%d)\n", lengthBufFill); return MFC_RET_INVALID_PARAM; } @@ -241,7 +241,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcDecExe(void *openHandle, int lengthBufFill) ret_code = ioctl(pCTX->hMFC, IOCTL_MFC_DEC_EXE, &DecArg); if (DecArg.ret_code != MFC_RET_OK) { - LOGE("SsbSipMfcDecExe: IOCTL_MFC_DEC_EXE failed(ret : %d)\n", DecArg.ret_code); + ALOGE("SsbSipMfcDecExe: IOCTL_MFC_DEC_EXE failed(ret : %d)\n", DecArg.ret_code); return MFC_RET_DEC_EXE_ERR; } @@ -274,7 +274,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcDecClose(void *openHandle) mfc_common_args free_arg; if (openHandle == NULL) { - LOGE("SsbSipMfcDecClose: openHandle is NULL\n"); + ALOGE("SsbSipMfcDecClose: openHandle is NULL\n"); return MFC_RET_INVALID_PARAM; } @@ -308,12 +308,12 @@ void *SsbSipMfcDecGetInBuf(void *openHandle, void **phyInBuf, int inputBufferSiz mfc_common_args user_addr_arg, phys_addr_arg; if (inputBufferSize < 0) { - LOGE("SsbSipMfcDecGetInBuf: inputBufferSize = %d is invalid\n", inputBufferSize); + ALOGE("SsbSipMfcDecGetInBuf: inputBufferSize = %d is invalid\n", inputBufferSize); return NULL; } if (openHandle == NULL) { - LOGE("SsbSipMfcDecGetInBuf: openHandle is NULL\n"); + ALOGE("SsbSipMfcDecGetInBuf: openHandle is NULL\n"); return NULL; } @@ -324,7 +324,7 @@ void *SsbSipMfcDecGetInBuf(void *openHandle, void **phyInBuf, int inputBufferSiz user_addr_arg.args.mem_alloc.mapped_addr = pCTX->mapped_addr; ret_code = ioctl(pCTX->hMFC, IOCTL_MFC_GET_IN_BUF, &user_addr_arg); if (ret_code < 0) { - LOGE("SsbSipMfcDecGetInBuf: IOCTL_MFC_GET_IN_BUF failed\n"); + ALOGE("SsbSipMfcDecGetInBuf: IOCTL_MFC_GET_IN_BUF failed\n"); return NULL; } pCTX->virStrmBuf = user_addr_arg.args.mem_alloc.out_uaddr; @@ -342,7 +342,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcDecSetInBuf(void *openHandle, void *phyInBuf, voi _MFCLIB *pCTX; if (openHandle == NULL) { - LOGE("SsbSipMfcDecSetInBuf: openHandle is NULL\n"); + ALOGE("SsbSipMfcDecSetInBuf: openHandle is NULL\n"); return MFC_RET_INVALID_PARAM; } @@ -359,7 +359,7 @@ SSBSIP_MFC_DEC_OUTBUF_STATUS SsbSipMfcDecGetOutBuf(void *openHandle, SSBSIP_MFC_ _MFCLIB *pCTX; if (openHandle == NULL) { - LOGE("SsbSipMfcDecGetOutBuf: openHandle is NULL\n"); + ALOGE("SsbSipMfcDecGetOutBuf: openHandle is NULL\n"); return MFC_GETOUTBUF_DISPLAY_END; } @@ -401,12 +401,12 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcDecSetConfig(void *openHandle, SSBSIP_MFC_DEC_CON SSBSIP_MFC_IMG_RESOLUTION *img_resolution; if (openHandle == NULL) { - LOGE("SsbSipMfcDecSetConfig: openHandle is NULL\n"); + ALOGE("SsbSipMfcDecSetConfig: openHandle is NULL\n"); return MFC_RET_INVALID_PARAM; } if (value == NULL) { - LOGE("SsbSipMfcDecSetConfig: value is NULL\n"); + ALOGE("SsbSipMfcDecSetConfig: value is NULL\n"); return MFC_RET_INVALID_PARAM; } @@ -437,13 +437,13 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcDecSetConfig(void *openHandle, SSBSIP_MFC_DEC_CON return MFC_RET_OK; default: - LOGE("SsbSipMfcDecSetConfig: No such conf_type is supported.\n"); + ALOGE("SsbSipMfcDecSetConfig: No such conf_type is supported.\n"); return MFC_RET_INVALID_PARAM; } ret_code = ioctl(pCTX->hMFC, IOCTL_MFC_SET_CONFIG, &DecArg); if (DecArg.ret_code != MFC_RET_OK) { - LOGE("SsbSipMfcDecSetConfig: IOCTL_MFC_SET_CONFIG failed(ret : %d, conf_type: %d)\n", DecArg.ret_code, conf_type); + ALOGE("SsbSipMfcDecSetConfig: IOCTL_MFC_SET_CONFIG failed(ret : %d, conf_type: %d)\n", DecArg.ret_code, conf_type); return MFC_RET_DEC_SET_CONF_FAIL; } @@ -461,12 +461,12 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcDecGetConfig(void *openHandle, SSBSIP_MFC_DEC_CON MFC_CRC_DATA *crc_data; if (openHandle == NULL) { - LOGE("SsbSipMfcDecGetConfig: openHandle is NULL\n"); + ALOGE("SsbSipMfcDecGetConfig: openHandle is NULL\n"); return MFC_RET_FAIL; } if (value == NULL) { - LOGE("SsbSipMfcDecGetConfig: value is NULL\n"); + ALOGE("SsbSipMfcDecGetConfig: value is NULL\n"); return MFC_RET_FAIL; } @@ -498,7 +498,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcDecGetConfig(void *openHandle, SSBSIP_MFC_DEC_CON ret_code = ioctl(pCTX->hMFC, IOCTL_MFC_GET_CONFIG, &DecArg); if (DecArg.ret_code != MFC_RET_OK) { - LOGE("SsbSipMfcDecGetConfig: IOCTL_MFC_GET_CONFIG failed(ret : %d, conf_type: %d)\n", DecArg.ret_code, conf_type); + ALOGE("SsbSipMfcDecGetConfig: IOCTL_MFC_GET_CONFIG failed(ret : %d, conf_type: %d)\n", DecArg.ret_code, conf_type); return MFC_RET_DEC_GET_CONF_FAIL; } crc_data->luma0 = DecArg.args.get_config.out_config_value[0]; @@ -510,7 +510,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcDecGetConfig(void *openHandle, SSBSIP_MFC_DEC_CON break; default: - LOGE("SsbSipMfcDecGetConfig: No such conf_type is supported.\n"); + ALOGE("SsbSipMfcDecGetConfig: No such conf_type is supported.\n"); return MFC_RET_INVALID_PARAM; } diff --git a/sec_mm/sec_omx/sec_codecs/video/mfc_c110/enc/src/SsbSipMfcEncAPI.c b/sec_mm/sec_omx/sec_codecs/video/mfc_c110/enc/src/SsbSipMfcEncAPI.c index b51a55f..a27fcc0 100644 --- a/sec_mm/sec_omx/sec_codecs/video/mfc_c110/enc/src/SsbSipMfcEncAPI.c +++ b/sec_mm/sec_omx/sec_codecs/video/mfc_c110/enc/src/SsbSipMfcEncAPI.c @@ -40,13 +40,13 @@ void *SsbSipMfcEncOpen(void *value) hMFCOpen = open(S5PC110_MFC_DEV_NAME, O_RDWR | O_NDELAY); if (hMFCOpen < 0) { - LOGE("SsbSipMfcEncOpen: MFC Open failure\n"); + ALOGE("SsbSipMfcEncOpen: MFC Open failure\n"); return NULL; } pCTX = (_MFCLIB *)malloc(sizeof(_MFCLIB)); if (pCTX == NULL) { - LOGE("SsbSipMfcEncOpen: malloc failed.\n"); + ALOGE("SsbSipMfcEncOpen: malloc failed.\n"); close(hMFCOpen); return NULL; } @@ -56,15 +56,15 @@ void *SsbSipMfcEncOpen(void *value) EncArg.args.buf_type = *(unsigned int *)value; ret_code = ioctl(hMFCOpen, IOCTL_MFC_BUF_CACHE, &EncArg); if (EncArg.ret_code != MFC_RET_OK) { - LOGE("SsbSipMfcDecOpenExt: IOCTL_MFC_BUF_CACHE (%d) failed\n", EncArg.ret_code); + ALOGE("SsbSipMfcDecOpenExt: IOCTL_MFC_BUF_CACHE (%d) failed\n", EncArg.ret_code); } } else { - LOGE("SsbSipMfcDecOpenExt: value is invalid, value: %d\n", *(int *)value); + ALOGE("SsbSipMfcDecOpenExt: value is invalid, value: %d\n", *(int *)value); } mapped_addr = (unsigned int)mmap(0, MMAP_BUFFER_SIZE_MMAP, PROT_READ | PROT_WRITE, MAP_SHARED, hMFCOpen, 0); if (!mapped_addr) { - LOGE("SsbSipMfcEncOpen: FIMV5.0 driver address mapping failed\n"); + ALOGE("SsbSipMfcEncOpen: FIMV5.0 driver address mapping failed\n"); return NULL; } @@ -94,7 +94,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcEncInit(void *openHandle, void *param) pCTX = (_MFCLIB *)openHandle; memset(&EncArg, 0, sizeof(mfc_common_args)); - LOGV("SsbSipMfcEncInit: Encode Init start\n"); + ALOGV("SsbSipMfcEncInit: Encode Init start\n"); mpeg4_arg = (SSBSIP_MFC_ENC_MPEG4_PARAM *)param; codec_type = mpeg4_arg->codecType; @@ -102,7 +102,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcEncInit(void *openHandle, void *param) if ((codec_type != MPEG4_ENC) && (codec_type != H264_ENC) && (codec_type != H263_ENC)) { - LOGE("SsbSipMfcEncOpen: Undefined codec type.\n"); + ALOGE("SsbSipMfcEncOpen: Undefined codec type.\n"); return MFC_RET_INVALID_PARAM; } @@ -110,7 +110,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcEncInit(void *openHandle, void *param) switch (pCTX->codec_type) { case MPEG4_ENC: - LOGV("SsbSipMfcEncInit: MPEG4 Encode\n"); + ALOGV("SsbSipMfcEncInit: MPEG4 Encode\n"); mpeg4_arg = (SSBSIP_MFC_ENC_MPEG4_PARAM *)param; pCTX->width = mpeg4_arg->SourceWidth; @@ -118,7 +118,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcEncInit(void *openHandle, void *param) break; case H263_ENC: - LOGV("SsbSipMfcEncInit: H263 Encode\n"); + ALOGV("SsbSipMfcEncInit: H263 Encode\n"); h263_arg = (SSBSIP_MFC_ENC_H263_PARAM *)param; pCTX->width = h263_arg->SourceWidth; @@ -126,7 +126,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcEncInit(void *openHandle, void *param) break; case H264_ENC: - LOGV("SsbSipMfcEncInit: H264 Encode\n"); + ALOGV("SsbSipMfcEncInit: H264 Encode\n"); h264_arg = (SSBSIP_MFC_ENC_H264_PARAM *)param; pCTX->width = h264_arg->SourceWidth; @@ -156,7 +156,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcEncInit(void *openHandle, void *param) EncArg.args.enc_init_mpeg4.in_MS_size = mpeg4_arg->SliceArgument; if (mpeg4_arg->NumberBFrames > 2) { - LOGE("SsbSipMfcEncInit: No such BframeNum is supported.\n"); + ALOGE("SsbSipMfcEncInit: No such BframeNum is supported.\n"); return MFC_RET_INVALID_PARAM; } EncArg.args.enc_init_mpeg4.in_BframeNum = mpeg4_arg->NumberBFrames; @@ -165,7 +165,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcEncInit(void *openHandle, void *param) /* rate control*/ EncArg.args.enc_init_mpeg4.in_RC_frm_enable = mpeg4_arg->EnableFRMRateControl; if ((mpeg4_arg->QSCodeMin > 51) || (mpeg4_arg->QSCodeMax > 51)) { - LOGE("SsbSipMfcEncInit: No such Min/Max QP is supported.\n"); + ALOGE("SsbSipMfcEncInit: No such Min/Max QP is supported.\n"); return MFC_RET_INVALID_PARAM; } EncArg.args.enc_init_mpeg4.in_RC_qbound = ENC_RC_QBOUND(mpeg4_arg->QSCodeMin, mpeg4_arg->QSCodeMax); @@ -174,7 +174,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcEncInit(void *openHandle, void *param) /* pad control */ EncArg.args.enc_init_mpeg4.in_pad_ctrl_on = mpeg4_arg->PadControlOn; if ((mpeg4_arg->LumaPadVal > 255) || (mpeg4_arg->CbPadVal > 255) || (mpeg4_arg->CrPadVal > 255)) { - LOGE("SsbSipMfcEncInit: No such Pad value is supported.\n"); + ALOGE("SsbSipMfcEncInit: No such Pad value is supported.\n"); return MFC_RET_INVALID_PARAM; } EncArg.args.enc_init_mpeg4.in_luma_pad_val = mpeg4_arg->LumaPadVal; @@ -187,7 +187,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcEncInit(void *openHandle, void *param) EncArg.args.enc_init_mpeg4.in_RC_framerate = (mpeg4_arg->TimeIncreamentRes / mpeg4_arg->VopTimeIncreament); EncArg.args.enc_init_mpeg4.in_RC_bitrate = mpeg4_arg->Bitrate; if ((mpeg4_arg->FrameQp > 51) || (mpeg4_arg->FrameQp_P) > 51 || (mpeg4_arg->FrameQp_B > 51)) { - LOGE("SsbSipMfcEncInit: No such FrameQp is supported.\n"); + ALOGE("SsbSipMfcEncInit: No such FrameQp is supported.\n"); return MFC_RET_INVALID_PARAM; } EncArg.args.enc_init_mpeg4.in_frame_qp = mpeg4_arg->FrameQp; @@ -217,7 +217,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcEncInit(void *openHandle, void *param) /* rate control*/ EncArg.args.enc_init_mpeg4.in_RC_frm_enable = h263_arg->EnableFRMRateControl; if ((h263_arg->QSCodeMin > 51) || (h263_arg->QSCodeMax > 51)) { - LOGE("SsbSipMfcEncInit: No such Min/Max QP is supported.\n"); + ALOGE("SsbSipMfcEncInit: No such Min/Max QP is supported.\n"); return MFC_RET_INVALID_PARAM; } EncArg.args.enc_init_mpeg4.in_RC_qbound = ENC_RC_QBOUND(h263_arg->QSCodeMin, h263_arg->QSCodeMax); @@ -226,7 +226,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcEncInit(void *openHandle, void *param) /* pad control */ EncArg.args.enc_init_mpeg4.in_pad_ctrl_on = h263_arg->PadControlOn; if ((h263_arg->LumaPadVal > 255) || (h263_arg->CbPadVal > 255) || (h263_arg->CrPadVal > 255)) { - LOGE("SsbSipMfcEncInit: No such Pad value is supported.\n"); + ALOGE("SsbSipMfcEncInit: No such Pad value is supported.\n"); return MFC_RET_INVALID_PARAM; } EncArg.args.enc_init_mpeg4.in_luma_pad_val = h263_arg->LumaPadVal; @@ -237,7 +237,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcEncInit(void *openHandle, void *param) EncArg.args.enc_init_mpeg4.in_RC_framerate = h263_arg->FrameRate; EncArg.args.enc_init_mpeg4.in_RC_bitrate = h263_arg->Bitrate; if (h263_arg->FrameQp > 51) { - LOGE("SsbSipMfcEncInit: No such FrameQp is supported.\n"); + ALOGE("SsbSipMfcEncInit: No such FrameQp is supported.\n"); return MFC_RET_INVALID_PARAM; } EncArg.args.enc_init_mpeg4.in_frame_qp = h263_arg->FrameQp; @@ -259,7 +259,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcEncInit(void *openHandle, void *param) EncArg.args.enc_init_h264.in_gop_num = h264_arg->IDRPeriod; if ((h264_arg->NumberRefForPframes > 2) || (h264_arg->NumberReferenceFrames > 2)) { - LOGE("SsbSipMfcEncInit: No such ref Num is supported.\n"); + ALOGE("SsbSipMfcEncInit: No such ref Num is supported.\n"); return MFC_RET_INVALID_PARAM; } EncArg.args.enc_init_h264.in_reference_num = h264_arg->NumberReferenceFrames; @@ -269,20 +269,20 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcEncInit(void *openHandle, void *param) (h264_arg->SliceMode == 2) || (h264_arg->SliceMode == 4)) { EncArg.args.enc_init_h264.in_MS_mode = h264_arg->SliceMode; } else { - LOGE("SsbSipMfcEncInit: No such slice mode is supported.\n"); + ALOGE("SsbSipMfcEncInit: No such slice mode is supported.\n"); return MFC_RET_INVALID_PARAM; } EncArg.args.enc_init_h264.in_MS_size = h264_arg->SliceArgument; if (h264_arg->NumberBFrames > 2) { - LOGE("SsbSipMfcEncInit: No such BframeNum is supported.\n"); + ALOGE("SsbSipMfcEncInit: No such BframeNum is supported.\n"); return MFC_RET_INVALID_PARAM; } EncArg.args.enc_init_h264.in_BframeNum = h264_arg->NumberBFrames; EncArg.args.enc_init_h264.in_deblock_filt = h264_arg->LoopFilterDisable; if ((abs(h264_arg->LoopFilterAlphaC0Offset) > 6) || (abs(h264_arg->LoopFilterBetaOffset) > 6)) { - LOGE("SsbSipMfcEncInit: No such AlphaC0Offset or BetaOffset is supported.\n"); + ALOGE("SsbSipMfcEncInit: No such AlphaC0Offset or BetaOffset is supported.\n"); return MFC_RET_INVALID_PARAM; } EncArg.args.enc_init_h264.in_deblock_alpha_C0 = h264_arg->LoopFilterAlphaC0Offset; @@ -297,7 +297,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcEncInit(void *openHandle, void *param) /* pad control */ EncArg.args.enc_init_h264.in_pad_ctrl_on = h264_arg->PadControlOn; if ((h264_arg->LumaPadVal > 255) || (h264_arg->CbPadVal > 255) || (h264_arg->CrPadVal > 255)) { - LOGE("SsbSipMfcEncInit: No such Pad value is supported.\n"); + ALOGE("SsbSipMfcEncInit: No such Pad value is supported.\n"); return MFC_RET_INVALID_PARAM; } EncArg.args.enc_init_h264.in_luma_pad_val = h264_arg->LumaPadVal; @@ -311,7 +311,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcEncInit(void *openHandle, void *param) EncArg.args.enc_init_h264.in_RC_framerate = h264_arg->FrameRate; EncArg.args.enc_init_h264.in_RC_bitrate = h264_arg->Bitrate; if (h264_arg->FrameQp > 51) { - LOGE("SsbSipMfcEncInit: No such FrameQp is supported.\n"); + ALOGE("SsbSipMfcEncInit: No such FrameQp is supported.\n"); return MFC_RET_INVALID_PARAM; } EncArg.args.enc_init_h264.in_frame_qp = h264_arg->FrameQp; @@ -325,7 +325,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcEncInit(void *openHandle, void *param) EncArg.args.enc_init_h264.in_frame_B_qp = h264_arg->FrameQp; if ((h264_arg->QSCodeMin > 51) || (h264_arg->QSCodeMax > 51)) { - LOGE("SsbSipMfcEncInit: No such Min/Max QP is supported.\n"); + ALOGE("SsbSipMfcEncInit: No such Min/Max QP is supported.\n"); return MFC_RET_INVALID_PARAM; } EncArg.args.enc_init_h264.in_RC_qbound = ENC_RC_QBOUND(h264_arg->QSCodeMin, h264_arg->QSCodeMax); @@ -348,7 +348,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcEncInit(void *openHandle, void *param) ret_code = ioctl(pCTX->hMFC, IOCTL_MFC_ENC_INIT, &EncArg); if (EncArg.ret_code != MFC_RET_OK) { - LOGE("SsbSipMfcEncInit: IOCTL_MFC_ENC_INIT (%d) failed\n", EncArg.ret_code); + ALOGE("SsbSipMfcEncInit: IOCTL_MFC_ENC_INIT (%d) failed\n", EncArg.ret_code); return MFC_RET_ENC_INIT_FAIL; } @@ -371,7 +371,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcEncExe(void *openHandle) mfc_common_args EncArg; if (openHandle == NULL) { - LOGE("SsbSipMfcEncExe: openHandle is NULL\n"); + ALOGE("SsbSipMfcEncExe: openHandle is NULL\n"); return MFC_RET_INVALID_PARAM; } @@ -397,7 +397,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcEncExe(void *openHandle) ret_code = ioctl(pCTX->hMFC, IOCTL_MFC_ENC_EXE, &EncArg); if (EncArg.ret_code != MFC_RET_OK) { - LOGE("SsbSipMfcDecExe: IOCTL_MFC_ENC_EXE failed(ret : %d)\n", EncArg.ret_code); + ALOGE("SsbSipMfcDecExe: IOCTL_MFC_ENC_EXE failed(ret : %d)\n", EncArg.ret_code); return MFC_RET_ENC_EXE_ERR; } @@ -418,7 +418,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcEncClose(void *openHandle) mfc_common_args free_arg; if (openHandle == NULL) { - LOGE("SsbSipMfcEncClose: openHandle is NULL\n"); + ALOGE("SsbSipMfcEncClose: openHandle is NULL\n"); return MFC_RET_INVALID_PARAM; } @@ -475,7 +475,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcEncGetInBuf(void *openHandle, SSBSIP_MFC_ENC_INPU int aligned_y_size, aligned_c_size; if (openHandle == NULL) { - LOGE("SsbSipMfcEncGetInBuf: openHandle is NULL\n"); + ALOGE("SsbSipMfcEncGetInBuf: openHandle is NULL\n"); return MFC_RET_INVALID_PARAM; } @@ -494,7 +494,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcEncGetInBuf(void *openHandle, SSBSIP_MFC_ENC_INPU user_addr_arg.args.mem_alloc.mapped_addr = pCTX->mapped_addr; ret_code = ioctl(pCTX->hMFC, IOCTL_MFC_GET_IN_BUF, &user_addr_arg); if (ret_code < 0) { - LOGE("SsbSipMfcEncGetInBuf: IOCTL_MFC_GET_IN_BUF failed\n"); + ALOGE("SsbSipMfcEncGetInBuf: IOCTL_MFC_GET_IN_BUF failed\n"); return MFC_RET_ENC_GET_INBUF_FAIL; } pCTX->virFrmBuf.luma = user_addr_arg.args.mem_alloc.out_uaddr; @@ -522,11 +522,11 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcEncSetInBuf(void *openHandle, SSBSIP_MFC_ENC_INPU _MFCLIB *pCTX; if (openHandle == NULL) { - LOGE("SsbSipMfcEncSetInBuf: openHandle is NULL\n"); + ALOGE("SsbSipMfcEncSetInBuf: openHandle is NULL\n"); return MFC_RET_INVALID_PARAM; } - LOGV("SsbSipMfcEncSetInBuf: input_info->YPhyAddr & input_info->CPhyAddr should be 64KB aligned\n"); + ALOGV("SsbSipMfcEncSetInBuf: input_info->YPhyAddr & input_info->CPhyAddr should be 64KB aligned\n"); pCTX = (_MFCLIB *)openHandle; @@ -546,7 +546,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcEncGetOutBuf(void *openHandle, SSBSIP_MFC_ENC_OUT _MFCLIB *pCTX; if (openHandle == NULL) { - LOGE("SsbSipMfcEncGetOutBuf: openHandle is NULL\n"); + ALOGE("SsbSipMfcEncGetOutBuf: openHandle is NULL\n"); return MFC_RET_INVALID_PARAM; } @@ -577,7 +577,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcEncGetOutBuf(void *openHandle, SSBSIP_MFC_ENC_OUT else if (pCTX->encodedframeType == 4) output_info->frameType = MFC_FRAME_TYPE_OTHERS; else { - LOGE("Strange encoded frame type = %d\n", pCTX->encodedframeType); + ALOGE("Strange encoded frame type = %d\n", pCTX->encodedframeType); return MFC_RET_INVALID_PARAM; } @@ -592,7 +592,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcEncSetOutBuf(void *openHandle, void *phyOutbuf, v _MFCLIB *pCTX; if (openHandle == NULL) { - LOGE("SsbSipMfcEncSetOutBuf: openHandle is NULL\n"); + ALOGE("SsbSipMfcEncSetOutBuf: openHandle is NULL\n"); return MFC_RET_INVALID_PARAM; } @@ -612,12 +612,12 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcEncSetConfig(void *openHandle, SSBSIP_MFC_ENC_CON mfc_common_args EncArg; if (openHandle == NULL) { - LOGE("SsbSipMfcEncSetConfig: openHandle is NULL\n"); + ALOGE("SsbSipMfcEncSetConfig: openHandle is NULL\n"); return MFC_RET_INVALID_PARAM; } if (value == NULL) { - LOGE("SsbSipMfcEncSetConfig: value is NULL\n"); + ALOGE("SsbSipMfcEncSetConfig: value is NULL\n"); return MFC_RET_INVALID_PARAM; } @@ -639,13 +639,13 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcEncSetConfig(void *openHandle, SSBSIP_MFC_ENC_CON return MFC_RET_OK; default: - LOGE("SsbSipMfcEncSetConfig: No such conf_type is supported.\n"); + ALOGE("SsbSipMfcEncSetConfig: No such conf_type is supported.\n"); return MFC_RET_INVALID_PARAM; } ret_code = ioctl(pCTX->hMFC, IOCTL_MFC_SET_CONFIG, &EncArg); if (EncArg.ret_code != MFC_RET_OK) { - LOGE("SsbSipMfcEncSetConfig: IOCTL_MFC_SET_CONFIG failed(ret : %d)\n", EncArg.ret_code); + ALOGE("SsbSipMfcEncSetConfig: IOCTL_MFC_SET_CONFIG failed(ret : %d)\n", EncArg.ret_code); return MFC_RET_ENC_SET_CONF_FAIL; } @@ -661,11 +661,11 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcEncGetConfig(void *openHandle, SSBSIP_MFC_ENC_CON pCTX = (_MFCLIB *)openHandle; if (openHandle == NULL) { - LOGE("SsbSipMfcEncGetConfig: openHandle is NULL\n"); + ALOGE("SsbSipMfcEncGetConfig: openHandle is NULL\n"); return MFC_RET_INVALID_PARAM; } if (value == NULL) { - LOGE("SsbSipMfcEncGetConfig: value is NULL\n"); + ALOGE("SsbSipMfcEncGetConfig: value is NULL\n"); return MFC_RET_INVALID_PARAM; } @@ -678,7 +678,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcEncGetConfig(void *openHandle, SSBSIP_MFC_ENC_CON break; default: - LOGE("SsbSipMfcEncGetConfig: No such conf_type is supported.\n"); + ALOGE("SsbSipMfcEncGetConfig: No such conf_type is supported.\n"); return MFC_RET_INVALID_PARAM; } diff --git a/sec_mm/sec_omx/sec_omx_component/video/dec/h264dec/SEC_OMX_H264dec.c b/sec_mm/sec_omx/sec_omx_component/video/dec/h264dec/SEC_OMX_H264dec.c index 07e1a89..cd19cd1 100644 --- a/sec_mm/sec_omx/sec_omx_component/video/dec/h264dec/SEC_OMX_H264dec.c +++ b/sec_mm/sec_omx/sec_omx_component/video/dec/h264dec/SEC_OMX_H264dec.c @@ -1035,7 +1035,7 @@ OMX_ERRORTYPE SEC_MFC_H264_Decode(OMX_COMPONENTTYPE *pOMXComponent, SEC_OMX_DATA if ((SsbSipMfcDecGetConfig(pH264Dec->hMFCH264Handle.hMFCHandle, MFC_DEC_GETCONF_FRAME_TAG, &indexTimestamp) != MFC_RET_OK) || (((indexTimestamp < 0) || (indexTimestamp >= MAX_TIMESTAMP)))) { pOutputData->timeStamp = pInputData->timeStamp; - pOutputData->nFlags = pInputData->nFlags; + pOutputData->nFlags = (pInputData->nFlags & (~OMX_BUFFERFLAG_EOS)); } else { pOutputData->timeStamp = pSECComponent->timeStamp[indexTimestamp]; pOutputData->nFlags = pSECComponent->nFlags[indexTimestamp]; @@ -1055,7 +1055,7 @@ OMX_ERRORTYPE SEC_MFC_H264_Decode(OMX_COMPONENTTYPE *pOMXComponent, SEC_OMX_DATA if(status == MFC_GETOUTBUF_DECODING_ONLY) { if (((pInputData->nFlags & OMX_BUFFERFLAG_EOS) != OMX_BUFFERFLAG_EOS) && - (pSECComponent->bSaveFlagEOS == OMX_TRUE)) { + ((pSECComponent->bSaveFlagEOS == OMX_TRUE) || (pSECComponent->getAllDelayBuffer == OMX_TRUE))) { pInputData->nFlags |= OMX_BUFFERFLAG_EOS; pSECComponent->getAllDelayBuffer = OMX_TRUE; ret = OMX_ErrorInputDataDecodeYet; @@ -1074,6 +1074,8 @@ OMX_ERRORTYPE SEC_MFC_H264_Decode(OMX_COMPONENTTYPE *pOMXComponent, SEC_OMX_DATA } else #endif if ((pInputData->nFlags & OMX_BUFFERFLAG_EOS) == OMX_BUFFERFLAG_EOS) { + //setConfVal = 1; + //SsbSipMfcDecSetConfig(pH264Dec->hMFCH264Handle.hMFCHandle, MFC_DEC_SETCONF_IS_LAST_FRAME, &setConfVal); pInputData->nFlags = (pOutputData->nFlags & (~OMX_BUFFERFLAG_EOS)); pSECComponent->getAllDelayBuffer = OMX_TRUE; ret = OMX_ErrorInputDataDecodeYet; @@ -1093,6 +1095,7 @@ OMX_ERRORTYPE SEC_MFC_H264_Decode(OMX_COMPONENTTYPE *pOMXComponent, SEC_OMX_DATA } if ((pH264Dec->bFirstFrame == OMX_TRUE) && ((pOutputData->nFlags & OMX_BUFFERFLAG_EOS) == OMX_BUFFERFLAG_EOS)) { + pInputData->nFlags = (pInputData->nFlags | OMX_BUFFERFLAG_EOS); pOutputData->nFlags = (pOutputData->nFlags & (~OMX_BUFFERFLAG_EOS)); } diff --git a/sec_mm/sec_omx/sec_omx_component/video/dec/mpeg4dec/SEC_OMX_Mpeg4dec.c b/sec_mm/sec_omx/sec_omx_component/video/dec/mpeg4dec/SEC_OMX_Mpeg4dec.c index 052a4c9..dc99826 100644 --- a/sec_mm/sec_omx/sec_omx_component/video/dec/mpeg4dec/SEC_OMX_Mpeg4dec.c +++ b/sec_mm/sec_omx/sec_omx_component/video/dec/mpeg4dec/SEC_OMX_Mpeg4dec.c @@ -1180,7 +1180,7 @@ OMX_ERRORTYPE SEC_MFC_Mpeg4_Decode(OMX_COMPONENTTYPE *pOMXComponent, SEC_OMX_DAT if ((SsbSipMfcDecGetConfig(hMFCHandle, MFC_DEC_GETCONF_FRAME_TAG, &indexTimestamp) != MFC_RET_OK) || (((indexTimestamp < 0) || (indexTimestamp >= MAX_TIMESTAMP)))) { pOutputData->timeStamp = pInputData->timeStamp; - pOutputData->nFlags = pInputData->nFlags; + pOutputData->nFlags = (pInputData->nFlags & (~OMX_BUFFERFLAG_EOS)); } else { pOutputData->timeStamp = pSECComponent->timeStamp[indexTimestamp]; pOutputData->nFlags = pSECComponent->nFlags[indexTimestamp]; @@ -1200,7 +1200,7 @@ OMX_ERRORTYPE SEC_MFC_Mpeg4_Decode(OMX_COMPONENTTYPE *pOMXComponent, SEC_OMX_DAT if (status == MFC_GETOUTBUF_DECODING_ONLY) { if (((pInputData->nFlags & OMX_BUFFERFLAG_EOS) != OMX_BUFFERFLAG_EOS) && - (pSECComponent->bSaveFlagEOS == OMX_TRUE)) { + ((pSECComponent->bSaveFlagEOS == OMX_TRUE) || (pSECComponent->getAllDelayBuffer == OMX_TRUE))) { pInputData->nFlags |= OMX_BUFFERFLAG_EOS; pSECComponent->getAllDelayBuffer = OMX_TRUE; ret = OMX_ErrorInputDataDecodeYet; @@ -1219,6 +1219,8 @@ OMX_ERRORTYPE SEC_MFC_Mpeg4_Decode(OMX_COMPONENTTYPE *pOMXComponent, SEC_OMX_DAT } else #endif if ((pInputData->nFlags & OMX_BUFFERFLAG_EOS) == OMX_BUFFERFLAG_EOS) { + //configValue = 1; + //SsbSipMfcDecSetConfig(pMpeg4Dec->hMFCMpeg4Handle.hMFCHandle, MFC_DEC_SETCONF_IS_LAST_FRAME, &configValue); pInputData->nFlags = (pOutputData->nFlags & (~OMX_BUFFERFLAG_EOS)); pSECComponent->getAllDelayBuffer = OMX_TRUE; ret = OMX_ErrorInputDataDecodeYet; @@ -1238,6 +1240,7 @@ OMX_ERRORTYPE SEC_MFC_Mpeg4_Decode(OMX_COMPONENTTYPE *pOMXComponent, SEC_OMX_DAT } if ((pMpeg4Dec->bFirstFrame == OMX_TRUE) && ((pOutputData->nFlags & OMX_BUFFERFLAG_EOS) == OMX_BUFFERFLAG_EOS)) { + pInputData->nFlags = (pInputData->nFlags | OMX_BUFFERFLAG_EOS); pOutputData->nFlags = (pOutputData->nFlags & (~OMX_BUFFERFLAG_EOS)); } diff --git a/sec_mm/sec_omx/sec_omx_core/SEC_OMX_Core.c b/sec_mm/sec_omx/sec_omx_core/SEC_OMX_Core.c index fe84d8d..fb2875d 100644 --- a/sec_mm/sec_omx/sec_omx_core/SEC_OMX_Core.c +++ b/sec_mm/sec_omx/sec_omx_core/SEC_OMX_Core.c @@ -29,8 +29,11 @@ #include <stdio.h> #include <stdlib.h> #include <string.h> +#include <pthread.h> // for pthread related functions #include "SEC_OMX_Core.h" +#include "SEC_OSAL_Mutex.h" // for mutext related functions +#include "SEC_OSAL_ETC.h" // for SEC_OSAL_Strcmp, etc #include "SEC_OMX_Component_Register.h" #include "SEC_OSAL_Memory.h" #include "SEC_OMX_Resourcemanager.h" @@ -42,11 +45,11 @@ static int gInitialized = 0; -static int gComponentNum = 0; +static OMX_U32 gComponentNum = 0; static SEC_OMX_COMPONENT_REGLIST *gComponentList = NULL; static SEC_OMX_COMPONENT *gLoadComponentList = NULL; -static OMX_HANDLETYPE ghLoadComponentListMutex = NULL; +static pthread_mutex_t ghLoadComponentListMutex = PTHREAD_MUTEX_INITIALIZER; OMX_API OMX_ERRORTYPE OMX_APIENTRY SEC_OMX_Init(void) @@ -55,6 +58,7 @@ OMX_API OMX_ERRORTYPE OMX_APIENTRY SEC_OMX_Init(void) FunctionIn(); + SEC_OSAL_MutexLock(&ghLoadComponentListMutex); if (gInitialized == 0) { if (SEC_OMX_Component_Register(&gComponentList, &gComponentNum)) { ret = OMX_ErrorInsufficientResources; @@ -63,14 +67,12 @@ OMX_API OMX_ERRORTYPE OMX_APIENTRY SEC_OMX_Init(void) } SEC_OMX_ResourceManager_Init(); - - SEC_OSAL_MutexCreate(&ghLoadComponentListMutex); - - gInitialized = 1; SEC_OSAL_Log(SEC_LOG_TRACE, "SEC_OMX_Init : %s", "OMX_ErrorNone"); } + ++gInitialized; EXIT: + SEC_OSAL_MutexUnlock(&ghLoadComponentListMutex); FunctionOut(); return ret; @@ -82,8 +84,16 @@ OMX_API OMX_ERRORTYPE OMX_APIENTRY SEC_OMX_Deinit(void) FunctionIn(); - SEC_OSAL_MutexTerminate(ghLoadComponentListMutex); - ghLoadComponentListMutex = NULL; + SEC_OSAL_MutexLock(&ghLoadComponentListMutex); + if (gInitialized > 0) { + --gInitialized; + } + + if (gInitialized != 0) { + // Some component still uses the core. + // Nothing needs to be done + goto EXIT; + } SEC_OMX_ResourceManager_Deinit(); @@ -93,9 +103,9 @@ OMX_API OMX_ERRORTYPE OMX_APIENTRY SEC_OMX_Deinit(void) } gComponentList = NULL; gComponentNum = 0; - gInitialized = 0; EXIT: + SEC_OSAL_MutexUnlock(&ghLoadComponentListMutex); FunctionOut(); return ret; @@ -133,7 +143,6 @@ OMX_API OMX_ERRORTYPE OMX_APIENTRY SEC_OMX_GetHandle( OMX_ERRORTYPE ret = OMX_ErrorNone; SEC_OMX_COMPONENT *loadComponent; SEC_OMX_COMPONENT *currentComponent; - int i = 0; FunctionIn(); @@ -148,6 +157,7 @@ OMX_API OMX_ERRORTYPE OMX_APIENTRY SEC_OMX_GetHandle( } SEC_OSAL_Log(SEC_LOG_TRACE, "ComponentName : %s", cComponentName); + OMX_U32 i = 0; for (i = 0; i < gComponentNum; i++) { if (SEC_OSAL_Strcmp(cComponentName, gComponentList[i].component.componentName) == 0) { loadComponent = SEC_OSAL_Malloc(sizeof(SEC_OMX_COMPONENT)); @@ -170,7 +180,7 @@ OMX_API OMX_ERRORTYPE OMX_APIENTRY SEC_OMX_GetHandle( goto EXIT; } - SEC_OSAL_MutexLock(ghLoadComponentListMutex); + SEC_OSAL_MutexLock(&ghLoadComponentListMutex); if (gLoadComponentList == NULL) { gLoadComponentList = loadComponent; } else { @@ -180,7 +190,7 @@ OMX_API OMX_ERRORTYPE OMX_APIENTRY SEC_OMX_GetHandle( } currentComponent->nextOMXComp = loadComponent; } - SEC_OSAL_MutexUnlock(ghLoadComponentListMutex); + SEC_OSAL_MutexUnlock(&ghLoadComponentListMutex); *pHandle = loadComponent->pOMXComponent; ret = OMX_ErrorNone; @@ -215,7 +225,7 @@ OMX_API OMX_ERRORTYPE OMX_APIENTRY SEC_OMX_FreeHandle(OMX_IN OMX_HANDLETYPE hCom goto EXIT; } - SEC_OSAL_MutexLock(ghLoadComponentListMutex); + SEC_OSAL_MutexLock(&ghLoadComponentListMutex); currentComponent = gLoadComponentList; if (gLoadComponentList->pOMXComponent == hComponent) { deleteComponent = gLoadComponentList; @@ -229,16 +239,15 @@ OMX_API OMX_ERRORTYPE OMX_APIENTRY SEC_OMX_FreeHandle(OMX_IN OMX_HANDLETYPE hCom currentComponent->nextOMXComp = deleteComponent->nextOMXComp; } else if (currentComponent == NULL) { ret = OMX_ErrorComponentNotFound; - SEC_OSAL_MutexUnlock(ghLoadComponentListMutex); goto EXIT; } } - SEC_OSAL_MutexUnlock(ghLoadComponentListMutex); SEC_OMX_ComponentUnload(deleteComponent); SEC_OSAL_Free(deleteComponent); EXIT: + SEC_OSAL_MutexUnlock(&ghLoadComponentListMutex); FunctionOut(); return ret; diff --git a/sec_mm/sec_omx/sec_osal/Android.mk b/sec_mm/sec_omx/sec_osal/Android.mk index a98e884..a020149 100644 --- a/sec_mm/sec_omx/sec_osal/Android.mk +++ b/sec_mm/sec_omx/sec_osal/Android.mk @@ -22,18 +22,17 @@ LOCAL_CFLAGS := LOCAL_STATIC_LIBRARIES := -LOCAL_SHARED_LIBRARIES := libcutils libutils \ +LOCAL_SHARED_LIBRARIES := libcutils \ + libutils \ libui \ libhardware \ - libandroid_runtime \ - libsurfaceflinger_client \ - libbinder \ - libmedia + libandroid_runtime LOCAL_C_INCLUDES := $(SEC_OMX_INC)/khronos \ $(SEC_OMX_INC)/sec \ $(SEC_OMX_TOP)/sec_osal \ $(SEC_OMX_COMPONENT)/common \ - $(SEC_OMX_TOP)/../../include + $(SEC_OMX_TOP)/../../include \ + $(TOP)/frameworks/native/include/media/hardware include $(BUILD_STATIC_LIBRARY) diff --git a/sec_mm/sec_omx/sec_osal/SEC_OSAL_Buffer.cpp b/sec_mm/sec_omx/sec_osal/SEC_OSAL_Buffer.cpp index 949fc19..c92ac18 100644 --- a/sec_mm/sec_omx/sec_osal/SEC_OSAL_Buffer.cpp +++ b/sec_mm/sec_omx/sec_osal/SEC_OSAL_Buffer.cpp @@ -47,13 +47,12 @@ extern "C" { } #endif -#include <ui/android_native_buffer.h> #include <ui/GraphicBuffer.h> #include <ui/GraphicBufferMapper.h> #include <ui/Rect.h> -#include <media/stagefright/HardwareAPI.h> +#include <HardwareAPI.h> #include <hardware/hardware.h> -#include <media/stagefright/MetadataBufferType.h> +#include <MetadataBufferType.h> #include "hal_public.h" #define HAL_PIXEL_FORMAT_C110_NV12 0x100 diff --git a/setup-makefiles.sh b/setup-makefiles.sh deleted file mode 100755 index cf06f2d..0000000 --- a/setup-makefiles.sh +++ /dev/null @@ -1,58 +0,0 @@ -#!/bin/sh - -# Copyright (C) 2010 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -DEVICE=crespo -MANUFACTURER=samsung - -mkdir -p ../../../vendor/$MANUFACTURER/$DEVICE - -(cat << EOF) | sed s/__DEVICE__/$DEVICE/g | sed s/__MANUFACTURER__/$MANUFACTURER/g > ../../../vendor/$MANUFACTURER/$DEVICE/device-vendor.mk -# Copyright (C) 2010 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# This file is generated by device/__MANUFACTURER__/__DEVICE__/setup-makefiles.sh - -\$(call inherit-product, vendor/__MANUFACTURER__/__DEVICE__/device-vendor-blobs.mk) -EOF - -(cat << EOF) | sed s/__DEVICE__/$DEVICE/g | sed s/__MANUFACTURER__/$MANUFACTURER/g > ../../../vendor/$MANUFACTURER/$DEVICE/BoardConfigVendor.mk -# Copyright (C) 2010 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# This file is generated by device/__MANUFACTURER__/__DEVICE__/setup-makefiles.sh -EOF diff --git a/unzip-files.sh b/unzip-files.sh deleted file mode 100755 index f5e35ab..0000000 --- a/unzip-files.sh +++ /dev/null @@ -1,119 +0,0 @@ -#!/bin/sh - -# Copyright (C) 2010 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# This file is generated by device/common/generate-blob-scripts.sh - DO NOT EDIT - -DEVICE=crespo -MANUFACTURER=samsung - -mkdir -p ../../../vendor/$MANUFACTURER/$DEVICE/proprietary -unzip -j -o ../../../${DEVICE}_update.zip system/lib/libsecril-client.so -d ../../../vendor/$MANUFACTURER/$DEVICE/proprietary -unzip -j -o ../../../${DEVICE}_update.zip system/vendor/bin/gpsd -d ../../../vendor/$MANUFACTURER/$DEVICE/proprietary -chmod 755 ../../../vendor/$MANUFACTURER/$DEVICE/proprietary/gpsd -unzip -j -o ../../../${DEVICE}_update.zip system/vendor/bin/pvrsrvinit -d ../../../vendor/$MANUFACTURER/$DEVICE/proprietary -chmod 755 ../../../vendor/$MANUFACTURER/$DEVICE/proprietary/pvrsrvinit -unzip -j -o ../../../${DEVICE}_update.zip system/vendor/firmware/bcm4329.hcd -d ../../../vendor/$MANUFACTURER/$DEVICE/proprietary -unzip -j -o ../../../${DEVICE}_update.zip system/vendor/firmware/cypress-touchkey.bin -d ../../../vendor/$MANUFACTURER/$DEVICE/proprietary -unzip -j -o ../../../${DEVICE}_update.zip system/vendor/firmware/libpn544_fw.so -d ../../../vendor/$MANUFACTURER/$DEVICE/proprietary -unzip -j -o ../../../${DEVICE}_update.zip system/vendor/lib/egl/libEGL_POWERVR_SGX540_120.so -d ../../../vendor/$MANUFACTURER/$DEVICE/proprietary -unzip -j -o ../../../${DEVICE}_update.zip system/vendor/lib/egl/libGLESv1_CM_POWERVR_SGX540_120.so -d ../../../vendor/$MANUFACTURER/$DEVICE/proprietary -unzip -j -o ../../../${DEVICE}_update.zip system/vendor/lib/egl/libGLESv2_POWERVR_SGX540_120.so -d ../../../vendor/$MANUFACTURER/$DEVICE/proprietary -unzip -j -o ../../../${DEVICE}_update.zip system/vendor/lib/hw/gps.s5pc110.so -d ../../../vendor/$MANUFACTURER/$DEVICE/proprietary -unzip -j -o ../../../${DEVICE}_update.zip system/vendor/lib/hw/gralloc.s5pc110.so -d ../../../vendor/$MANUFACTURER/$DEVICE/proprietary -unzip -j -o ../../../${DEVICE}_update.zip system/vendor/lib/libakm.so -d ../../../vendor/$MANUFACTURER/$DEVICE/proprietary -unzip -j -o ../../../${DEVICE}_update.zip system/vendor/lib/libglslcompiler.so -d ../../../vendor/$MANUFACTURER/$DEVICE/proprietary -unzip -j -o ../../../${DEVICE}_update.zip system/vendor/lib/libIMGegl.so -d ../../../vendor/$MANUFACTURER/$DEVICE/proprietary -unzip -j -o ../../../${DEVICE}_update.zip system/vendor/lib/libpvr2d.so -d ../../../vendor/$MANUFACTURER/$DEVICE/proprietary -unzip -j -o ../../../${DEVICE}_update.zip system/vendor/lib/libpvrANDROID_WSEGL.so -d ../../../vendor/$MANUFACTURER/$DEVICE/proprietary -unzip -j -o ../../../${DEVICE}_update.zip system/vendor/lib/libPVRScopeServices.so -d ../../../vendor/$MANUFACTURER/$DEVICE/proprietary -unzip -j -o ../../../${DEVICE}_update.zip system/vendor/lib/libsec-ril.so -d ../../../vendor/$MANUFACTURER/$DEVICE/proprietary -unzip -j -o ../../../${DEVICE}_update.zip system/vendor/lib/libsrv_init.so -d ../../../vendor/$MANUFACTURER/$DEVICE/proprietary -unzip -j -o ../../../${DEVICE}_update.zip system/vendor/lib/libsrv_um.so -d ../../../vendor/$MANUFACTURER/$DEVICE/proprietary -unzip -j -o ../../../${DEVICE}_update.zip system/vendor/lib/libusc.so -d ../../../vendor/$MANUFACTURER/$DEVICE/proprietary - -(cat << EOF) | sed s/__DEVICE__/$DEVICE/g | sed s/__MANUFACTURER__/$MANUFACTURER/g > ../../../vendor/$MANUFACTURER/$DEVICE/device-vendor-blobs.mk -# Copyright (C) 2010 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# This file is generated by device/__MANUFACTURER__/__DEVICE__/unzip-files.sh - DO NOT EDIT - -# Prebuilt libraries that are needed to build open-source libraries -PRODUCT_COPY_FILES := \\ - vendor/__MANUFACTURER__/__DEVICE__/proprietary/libsecril-client.so:obj/lib/libsecril-client.so - -# All the blobs necessary for crespo -PRODUCT_COPY_FILES += \\ - vendor/__MANUFACTURER__/__DEVICE__/proprietary/libsecril-client.so:system/lib/libsecril-client.so \\ - vendor/__MANUFACTURER__/__DEVICE__/proprietary/gpsd:system/vendor/bin/gpsd \\ - vendor/__MANUFACTURER__/__DEVICE__/proprietary/pvrsrvinit:system/vendor/bin/pvrsrvinit \\ - vendor/__MANUFACTURER__/__DEVICE__/proprietary/bcm4329.hcd:system/vendor/firmware/bcm4329.hcd \\ - vendor/__MANUFACTURER__/__DEVICE__/proprietary/cypress-touchkey.bin:system/vendor/firmware/cypress-touchkey.bin \\ - vendor/__MANUFACTURER__/__DEVICE__/proprietary/libpn544_fw.so:system/vendor/firmware/libpn544_fw.so \\ - vendor/__MANUFACTURER__/__DEVICE__/proprietary/libEGL_POWERVR_SGX540_120.so:system/vendor/lib/egl/libEGL_POWERVR_SGX540_120.so \\ - vendor/__MANUFACTURER__/__DEVICE__/proprietary/libGLESv1_CM_POWERVR_SGX540_120.so:system/vendor/lib/egl/libGLESv1_CM_POWERVR_SGX540_120.so \\ - vendor/__MANUFACTURER__/__DEVICE__/proprietary/libGLESv2_POWERVR_SGX540_120.so:system/vendor/lib/egl/libGLESv2_POWERVR_SGX540_120.so \\ - vendor/__MANUFACTURER__/__DEVICE__/proprietary/gps.s5pc110.so:system/vendor/lib/hw/gps.s5pc110.so \\ - vendor/__MANUFACTURER__/__DEVICE__/proprietary/gralloc.s5pc110.so:system/vendor/lib/hw/gralloc.s5pc110.so \\ - vendor/__MANUFACTURER__/__DEVICE__/proprietary/libakm.so:system/vendor/lib/libakm.so \\ - vendor/__MANUFACTURER__/__DEVICE__/proprietary/libglslcompiler.so:system/vendor/lib/libglslcompiler.so \\ - vendor/__MANUFACTURER__/__DEVICE__/proprietary/libIMGegl.so:system/vendor/lib/libIMGegl.so \\ - vendor/__MANUFACTURER__/__DEVICE__/proprietary/libpvr2d.so:system/vendor/lib/libpvr2d.so \\ - vendor/__MANUFACTURER__/__DEVICE__/proprietary/libpvrANDROID_WSEGL.so:system/vendor/lib/libpvrANDROID_WSEGL.so \\ - vendor/__MANUFACTURER__/__DEVICE__/proprietary/libPVRScopeServices.so:system/vendor/lib/libPVRScopeServices.so \\ - vendor/__MANUFACTURER__/__DEVICE__/proprietary/libsec-ril.so:system/vendor/lib/libsec-ril.so \\ - vendor/__MANUFACTURER__/__DEVICE__/proprietary/libsrv_init.so:system/vendor/lib/libsrv_init.so \\ - vendor/__MANUFACTURER__/__DEVICE__/proprietary/libsrv_um.so:system/vendor/lib/libsrv_um.so \\ - vendor/__MANUFACTURER__/__DEVICE__/proprietary/libusc.so:system/vendor/lib/libusc.so - - -EOF - -(cat << EOF) | sed s/__DEVICE__/$DEVICE/g | sed s/__MANUFACTURER__/$MANUFACTURER/g > ../../../vendor/$MANUFACTURER/$DEVICE/proprietary/Android.mk -# Copyright (C) 2011 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# This file is generated by device/__MANUFACTURER__/__DEVICE__/unzip-files.sh - DO NOT EDIT - -ifeq (\$(TARGET_DEVICE),crespo) -LOCAL_PATH:=\$(call my-dir) - -endif - -EOF - -./setup-makefiles.sh @@ -13,4 +13,4 @@ ## flags - (optional) Comma separated list of flags, must not contain '/' character ###################### -dev_mount sdcard /mnt/sdcard 3 /devices/platform/s3c-sdhci.0/mmc_host/mmc0/mmc0:0001/block/mmcblk0 nonremovable,encryptable +dev_mount sdcard /storage/sdcard0 3 /devices/platform/s3c-sdhci.0/mmc_host/mmc0/mmc0:0001/block/mmcblk0 nonremovable,encryptable |