서적에 관한 질문 및 오류 등을 문의 할 수 있으며, 저자로부터 직접 답변을 받을 수 있습니다.
hoffplay 빌드시 sec_format.h / SEC_OMX_Def.h 없다고 나옵니다.
OMX_Video.h가 없다고 나온 것은 frameworks/base/include/media/stagefright/openmax 에 있어서
Android.mk --> LOCAL_C_INCLUDES := frameworks/base/include/media/stagefright/openmax \ 추가했습니다.
sec_format.h / SEC_OMX_Def.h는 파일 검색해봐도 없네요..어디서 구해야 하죠???
nature@nature-pc:~/myAndroid/external/hoffplay$ mm
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=4.0.1
TARGET_PRODUCT=full
TARGET_BUILD_VARIANT=eng
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a
HOST_ARCH=x86
HOST_OS=linux
HOST_BUILD_TYPE=release
BUILD_ID=ITL41D
============================================
make: Entering directory `/home/nature/myAndroid'
target thumb C++: libhoffplay <= external/hoffplay/hoplayer_core/surfaceflinger_wrapper.cpp
In file included from external/hoffplay/hoplayer_core/surfaceflinger_wrapper.cpp:7:
frameworks/base/include/media/stagefright/ColorConverter.h:26:23: error: OMX_Video.h: No such file or directory
external/hoffplay/hoplayer_core/surfaceflinger_wrapper.cpp:14:24: error: sec_format.h: No such file or directory
external/hoffplay/hoplayer_core/surfaceflinger_wrapper.cpp:15:25: error: SEC_OMX_Def.h: No such file or directory
include 제거하고 컴파일 하니 아래 메시지 나옵니다.
urfaceflinger_wrapper.cpp:61: error: 'HAL_PIXEL_FORMAT_YCbCr_420_P' was not declared
https://github.com/S3AOSP/android_hardware_samsung
구글검색해서 찾았습니다...
hoplayer_core폴더 Android.mk 내용 중
LOCAL_C_INCLUDES :=
hardware/samsung/exynos/multimedia/openmax/include/khronos \
hardware/samsung/exynos/multimedia/openmax/include/sec \
hardware/samsung/exynos4/hal/include
가 왜 있어야 하는지 이제야 알겠습니다...
문제는
다운 받은 것이 잘 맞지 않는지 에러가 발생됩니다.
make: *** `out/target/product/generic/obj/SHARED_LIBRARIES/libhoffplay_intermediates/LINKED/libhoffplay.so'에서 필요로 하는 타겟 `out/target/product/generic/obj/STATIC_LIBRARIES/libswconverter_intermediates/libswconverter.a'를 만들 규칙이 없습니다. 멈춤.
제가 기억력이 나빠서 긴가 민가 한데. 저게 아마 디코딩된 프레임을 surface에 뿌리기위해서 컨버팅할때 필요한 옵션 때문에 추가했었을 겁니다. 버전마다 define 해논데가 다르고 벤더마다 define 을 여기저기 해놔서 그걸 찾아야되는데.. 안드로이드 소스코드 뒤져서 찾으시면 되긴 합니다만....