[Xperia Z Q&A, Help & Troubleshooting] george.profenza:
Hello,

I did search the forums and stackoverflow as best as I could and tried on my own but I am not making any progress.

I am trying to trigger the Xperia Z's camera in burst mode from code but I can't get to the functionality.

I've tried using the official Sony Add-on SDK(developer.sonymobile.com/knowledge-base/sdks/sony-add-on-sdk/install-the-sony-add-on-sdk/)but it doesn't provide the burst functionality.

Then I downloaded and tried to compile the AOSP(github.com/sonyxperiadev/device-sony-c6603) project but ran into errors:

First I ran into this:
build/core/main.mk:100: ************************************************************
build/core/main.mk:101: You are building on a case-insensitive filesystem.
build/core/main.mk:102: Please move your source tree to a case-sensitive filesystem.
build/core/main.mk:103: ************************************************************
build/core/main.mk:104: *** Case-insensitive filesystems not supported. Stop.

then I modified that makefile like so:

ifneq ($(HOST_OS),windows)
ifneq ($(HOST_OS)-$(HOST_ARCH),darwin-ppc)
# check for a case sensitive file system
# ifneq (a,$(shell mkdir -p $(OUT_DIR) ; \
# echo a > $(OUT_DIR)/casecheck.txt; \
# echo B > $(OUT_DIR)/CaseCheck.txt; \
# cat $(OUT_DIR)/casecheck.txt))
# $(warning ************************************************************)
# $(warning You are building on a case-insensitive filesystem.)
# $(warning Please move your source tree to a case-sensitive filesystem.)
# $(warning ************************************************************)
# $(error Case-insensitive filesystems not supported)
# endif
endif
endif

but then ran into another error:

host ObjC: emulator-arm <= external/qemu/distrib/sdl-1.2.15/src/main/macosx/SDLMain.m
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk/System/Library/Frameworks/Security.framework/Headers/Security.h:24,
from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSURLCredential.h:9,
from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:70,
from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk/System/Library/Frameworks/Cocoa.framework/Headers/Cocoa.h:12,
from external/qemu/distrib/sdl-1.2.15/src/main/macosx/SDLMain.h:11,
from external/qemu/distrib/sdl-1.2.15/src/main/macosx/SDLMain.m:9:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk/System/Library/Frameworks/Security.framework/Headers/cssmconfig.h:73: error: conflicting types for ‘uint16’
external/qemu/fpu/softfloat.h:60: error: previous declaration of ‘uint16’ was here
make: *** [out/host/darwin-x86/obj/EXECUTABLES/emulator-arm_intermediates/distrib/sdl-1.2.15/src/main/macosx/SDLMain.o] Error 1

I'm using osx 10.8 and have both 10.7 and 10.8 sdks downloaded. I'm not sure how to resolve this issue though.

I've never build an os from source, so this is a bit intimidating now. I did snoop through the source code and found something very close what I need in frameworks/av/services/camera/libcameraservice as it contains a BurstCapture c++ class. I'm guessing this will be compiled as a shared library which will probably be accessed via JNI or something from an android .jar. Is my guess correct ? How can I compile the shared library and jar ?

I am interested in only the burst capture functionality. How can I get/use those libraries ? Do I need to compile the whole AOSP ? If so, how do I get past the make error ?

Update:

I've changed a few things in a couple of makefiles:

- commented out the emulator since it was throwing errors (in emulator.mk)

- moved libcamera_client and libcameraservice to the top of base.mk as it looked like what I needed as a priority.

Luckily, after a long time, AOSP finally compiled and now I've got:

libcamera_client.so

libcamera_metadata.so

libcameralight.so

libcameraservice.so

as a result.

Have no clue how to use those yet to trigger the camera in burst mode,so any hints are helpful.

Thanks,

George