summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xBoardConfig.mk4
-rwxr-xr-xBoardConfigCommon.mk37
-rw-r--r--board-info.txt5
-rw-r--r--cypress-touchkey.kl2
-rw-r--r--device.mk2
-rw-r--r--device_base.mk45
-rw-r--r--egl.cfg3
-rwxr-xr-xextract-files.sh119
-rwxr-xr-xfactory-images/generate-factory-images-package.sh105
-rw-r--r--fstab.herring9
-rw-r--r--full_crespo.mk4
-rw-r--r--gps.conf1
-rwxr-xr-xinclude/sec_lcd.h2
-rw-r--r--include/sec_utils.h6
-rwxr-xr-xinit.herring.rc22
-rw-r--r--init.herring.usb.rc22
-rw-r--r--kernelbin0 -> 3886224 bytes
-rw-r--r--libaudio/Android.mk10
-rw-r--r--libaudio/AudioHardware.cpp213
-rw-r--r--libaudio/AudioHardware.h7
-rw-r--r--libaudio/AudioPolicyManager.cpp1
-rw-r--r--libaudio/AudioPolicyManager.h8
-rw-r--r--libaudio/audio_policy.conf68
-rw-r--r--libcamera/Android.mk1
-rwxr-xr-xlibcamera/SecCamera.cpp544
-rwxr-xr-xlibcamera/SecCamera.h4
-rwxr-xr-xlibcamera/SecCameraHWInterface.cpp409
-rw-r--r--libhwcomposer/Android.mk2
-rw-r--r--libhwcomposer/SecHWC.cpp187
-rw-r--r--libhwcomposer/SecHWCUtils.cpp112
-rw-r--r--libhwcomposer/SecHWCUtils.h5
-rwxr-xr-xliblight/lights.c10
-rw-r--r--libs3cjpeg/JpegEncoder.cpp56
-rw-r--r--libsensors/AkmSensor.cpp6
-rw-r--r--libsensors/GyroSensor.cpp2
-rw-r--r--libsensors/LightSensor.cpp2
-rw-r--r--libsensors/ProximitySensor.cpp2
-rw-r--r--libsensors/SensorBase.cpp4
-rw-r--r--libsensors/sensors.cpp10
-rw-r--r--libstagefrighthw/Android.mk3
-rw-r--r--libstagefrighthw/SEC_OMX_Plugin.cpp18
-rw-r--r--libstagefrighthw/SEC_OMX_Plugin.h2
-rw-r--r--media_codecs.xml116
-rw-r--r--media_profiles.xml26
-rw-r--r--media_profiles_korea.xml18
-rw-r--r--mxt224_ts_input.kl2
-rw-r--r--nfc/nfc_hw.c6
-rw-r--r--overlay/frameworks/base/core/res/res/values/config.xml16
-rw-r--r--overlay/frameworks/base/core/res/res/xml/storage_list.xml2
-rw-r--r--proprietary-blobs.txt38
-rw-r--r--recovery/Android.mk2
-rw-r--r--recovery/recovery_ui.c115
-rw-r--r--recovery/recovery_ui.cpp110
-rw-r--r--sec_mm/sec_omx/sec_codecs/video/mfc_c110/dec/src/SsbSipMfcDecAPI.c60
-rw-r--r--sec_mm/sec_omx/sec_codecs/video/mfc_c110/enc/src/SsbSipMfcEncAPI.c84
-rw-r--r--sec_mm/sec_omx/sec_omx_component/video/dec/h264dec/SEC_OMX_H264dec.c7
-rw-r--r--sec_mm/sec_omx/sec_omx_component/video/dec/mpeg4dec/SEC_OMX_Mpeg4dec.c7
-rw-r--r--sec_mm/sec_omx/sec_omx_core/SEC_OMX_Core.c39
-rw-r--r--sec_mm/sec_omx/sec_osal/Android.mk11
-rw-r--r--sec_mm/sec_omx/sec_osal/SEC_OSAL_Buffer.cpp5
-rwxr-xr-xsetup-makefiles.sh58
-rwxr-xr-xunzip-files.sh119
-rw-r--r--vold.fstab2
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
diff --git a/device.mk b/device.mk
index cd96a85..24ee408 100644
--- a/device.mk
+++ b/device.mk
@@ -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)
diff --git a/egl.cfg b/egl.cfg
index 3e1a8c6..6ae513e 100644
--- a/egl.cfg
+++ b/egl.cfg
@@ -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 \
diff --git a/gps.conf b/gps.conf
index bd431a6..e3fb1df 100644
--- a/gps.conf
+++ b/gps.conf
@@ -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}
diff --git a/kernel b/kernel
new file mode 100644
index 0000000..6f5e427
--- /dev/null
+++ b/kernel
Binary files differ
diff --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
diff --git a/vold.fstab b/vold.fstab
index 974dd6a..3b520b8 100644
--- a/vold.fstab
+++ b/vold.fstab
@@ -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