AprilAndFriends / theoraplayer

A multi-threaded C++ library that plays video files supporting multiple codecs across platforms. Easy to use, fast, responsive, abstract interface and minimal dependencies, you'll soon be wondering how you lived without it! ;) Audio and Video interfaces are completely abstracted so the library can be used anywhere, regardless of what you use to display video frames and play audio samples (eg. OpenGL / OpenAL, Direct3D / DirectSound?, SDL / SDL_mixer, X11 / alsa ...) The library can pre-cache video frames and decoded audio samples for maximum efficiency and smooth playback, even on single-cpu systems. Currently, the library supports Theora on Windows, Mac, iOS, Linux, Android, WinRT and Windows Phone. H.264 is supported on Mac and iOS.
BSD 3-Clause "New" or "Revised" License
85 stars 43 forks source link

Android demo broken #33

Open levibyte opened 4 years ago

levibyte commented 4 years ago

Hi , I am trying to build a android libraries via demo from the android-studio directory ( master: a85af459a64c91a08cedffc02a75e8ea280cd415 ) I do Gradle build and built finishes successfully. However, static libraries are not created.

here are android sdk version ndk -> r21 sdk -> 18

The build log is too large to post here, I am posting here the generated cmake ouputs.

CMAKE SERVER: 

CMAKE SERVER: [== "CMake Server" ==[

CMAKE SERVER: {"supportedProtocolVersions":[{"isExperimental":true,"major":1,"minor":1}],"type":"hello"}

CMAKE SERVER: ]== "CMake Server" ==]

CMAKE SERVER: [== "CMake Server" ==[

CMAKE SERVER: {
  "type": "handshake",
  "cookie": "gradle-cmake-cookie",
  "protocolVersion": {
    "isExperimental": true,
    "major": 1,
    "minor": 1
  },
  "sourceDirectory": "/home/levon/test/RR/theoraplayer/theoraplayer/android-studio/lib",
  "buildDirectory": "/home/levon/test/RR/theoraplayer/theoraplayer/android-studio/lib/.externalNativeBuild/cmake/release/armeabi-v7a",
  "generator": "Ninja"
}

CMAKE SERVER: ]== "CMake Server" ==]

CMAKE SERVER: 

CMAKE SERVER: [== "CMake Server" ==[

CMAKE SERVER: {"cookie":"gradle-cmake-cookie","inReplyTo":"handshake","type":"reply"}

CMAKE SERVER: ]== "CMake Server" ==]

CMAKE SERVER: [== "CMake Server" ==[

CMAKE SERVER: {
  "type": "configure",
  "cacheArguments": [
    "",
    "-DANDROID_ABI\u003darmeabi-v7a",
    "-DANDROID_PLATFORM\u003dandroid-18",
    "-DCMAKE_LIBRARY_OUTPUT_DIRECTORY\u003d/home/levon/test/RR/theoraplayer/theoraplayer/android-studio/lib/build/intermediates/cmake/release/obj/armeabi-v7a",
    "-DCMAKE_BUILD_TYPE\u003dRelease",
    "-DANDROID_NDK\u003d/home/levon/Downloads/android-ndk-r21",
    "-DCMAKE_C_FLAGS\u003d-fsigned-char",
    "-DCMAKE_CXX_FLAGS\u003d-fsigned-char -fsigned-char -std\u003dc++11",
    "-DCMAKE_SYSTEM_NAME\u003dAndroid",
    "-DCMAKE_ANDROID_ARCH_ABI\u003darmeabi-v7a",
    "-DCMAKE_SYSTEM_VERSION\u003d18",
    "-DCMAKE_EXPORT_COMPILE_COMMANDS\u003dON",
    "-DCMAKE_ANDROID_NDK\u003d/home/levon/Downloads/android-ndk-r21",
    "-DCMAKE_TOOLCHAIN_FILE\u003d/home/levon/Downloads/android-ndk-r21/build/cmake/android.toolchain.cmake",
    "-G Ninja",
    "-DANDROID_TOOLCHAIN\u003dclang",
    "-DANDROID_NATIVE_API_LEVEL\u003d18",
    "-DANDROID_PLATFORM\u003dandroid-18",
    "-DANDROID_CPP_FEATURES\u003drtti exceptions",
    "-DANDROID_STL\u003dc++_static"
  ]
}

CMAKE SERVER: ]== "CMake Server" ==]

CMAKE SERVER: 

CMAKE SERVER: [== "CMake Server" ==[

CMAKE SERVER: {"cookie":"","inReplyTo":"configure","progressCurrent":1000,"progressMaximum":1000,"progressMessage":"Configuring","progressMinimum":0,"type":"progress"}

CMAKE SERVER: ]== "CMake Server" ==]

CMAKE SERVER: 

CMAKE SERVER: [== "CMake Server" ==[

CMAKE SERVER: {"cookie":"","inReplyTo":"configure","message":"Configuring done","type":"message"}

CMAKE SERVER: ]== "CMake Server" ==]

CMAKE SERVER: Configuring done
CMAKE SERVER: Configuring done
CMAKE SERVER: 

CMAKE SERVER: [== "CMake Server" ==[

CMAKE SERVER: {"cookie":"","inReplyTo":"configure","type":"reply"}

CMAKE SERVER: ]== "CMake Server" ==]

CMAKE SERVER: [== "CMake Server" ==[

CMAKE SERVER: {"type":"compute"}

CMAKE SERVER: ]== "CMake Server" ==]

CMAKE SERVER: 

CMAKE SERVER: [== "CMake Server" ==[

CMAKE SERVER: {"cookie":"","inReplyTo":"compute","progressCurrent":1000,"progressMaximum":1000,"progressMessage":"Generating","progressMinimum":0,"type":"progress"}

CMAKE SERVER: ]== "CMake Server" ==]

CMAKE SERVER: 

CMAKE SERVER: [== "CMake Server" ==[

CMAKE SERVER: {"cookie":"","inReplyTo":"compute","message":"Generating done","type":"message"}

CMAKE SERVER: ]== "CMake Server" ==]

CMAKE SERVER: Generating done
CMAKE SERVER: 

CMAKE SERVER: [== "CMake Server" ==[

CMAKE SERVER: {"cookie":"","inReplyTo":"compute","type":"reply"}

CMAKE SERVER: ]== "CMake Server" ==]

CMAKE SERVER: [== "CMake Server" ==[

CMAKE SERVER: {"type":"cmakeInputs"}

CMAKE SERVER: ]== "CMake Server" ==]

CMAKE SERVER: 

CMAKE SERVER: [== "CMake Server" ==[

CMAKE SERVER: {"buildFiles":[{"isCMake":true,"isTemporary":false,"sources":["/home/levon/PRJ/ANDROID/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeSystemSpecificInitialize.cmake","/home/levon/PRJ/ANDROID/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Platform/Android-Initialize.cmake","/home/levon/PRJ/ANDROID/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeSystemSpecificInformation.cmake","/home/levon/PRJ/ANDROID/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeGenericSystem.cmake","/home/levon/PRJ/ANDROID/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Platform/Android.cmake","/home/levon/PRJ/ANDROID/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Platform/Linux.cmake","/home/levon/PRJ/ANDROID/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Platform/UnixPaths.cmake","/home/levon/PRJ/ANDROID/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeCInformation.cmake","/home/levon/PRJ/ANDROID/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeLanguageInformation.cmake","/home/levon/PRJ/ANDROID/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Compiler/Clang-C.cmake","/home/levon/PRJ/ANDROID/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Compiler/Clang.cmake","/home/levon/PRJ/ANDROID/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Compiler/CMakeCommonCompilerMacros.cmake","/home/levon/PRJ/ANDROID/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Compiler/GNU.cmake","/home/levon/PRJ/ANDROID/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Compiler/CMakeCommonCompilerMacros.cmake","/home/levon/PRJ/ANDROID/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Platform/Android-Clang-C.cmake","/home/levon/PRJ/ANDROID/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Platform/Android-Clang.cmake","/home/levon/PRJ/ANDROID/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeCommonLanguageInclude.cmake","/home/levon/PRJ/ANDROID/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeCXXInformation.cmake","/home/levon/PRJ/ANDROID/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeLanguageInformation.cmake","/home/levon/PRJ/ANDROID/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Compiler/Clang-CXX.cmake","/home/levon/PRJ/ANDROID/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Compiler/Clang.cmake","/home/levon/PRJ/ANDROID/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Platform/Android-Clang-CXX.cmake","/home/levon/PRJ/ANDROID/cmake/3.10.2.4988404/share/cmake-3.10/Modules/Platform/Android-Clang.cmake","/home/levon/PRJ/ANDROID/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeCommonLanguageInclude.cmake"]},{"isCMake":false,"isTemporary":false,"sources":["CMakeLists.txt","/home/levon/Downloads/android-ndk-r21/build/cmake/android.toolchain.cmake","/home/levon/Downloads/android-ndk-r21/build/cmake/platforms.cmake","../generic/CMakeLists.txt"]},{"isCMake":false,"isTemporary":true,"sources":[".externalNativeBuild/cmake/release/armeabi-v7a/CMakeFiles/3.10.2/CMakeSystem.cmake",".externalNativeBuild/cmake/release/armeabi-v7a/CMakeFiles/3.10.2/CMakeCCompiler.cmake",".externalNativeBuild/cmake/release/armeabi-v7a/CMakeFiles/3.10.2/CMakeCXXCompiler.cmake"]}],"cmakeRootDirectory":"/home/levon/PRJ/ANDROID/cmake/3.10.2.4988404/share/cmake-3.10","cookie":"","inReplyTo":"cmakeInputs","sourceDirectory":"/home/levon/test/RR/theoraplayer/theoraplayer/android-studio/lib","type":"reply"}

CMAKE SERVER: ]== "CMake Server" ==]

CMAKE SERVER: [== "CMake Server" ==[

CMAKE SERVER: {"type":"codemodel"}

CMAKE SERVER: ]== "CMake Server" ==]

CMAKE SERVER: 

CMAKE SERVER: [== "CMake Server" ==[

CMAKE SERVER: {"configurations":[{"name":"Release","projects":[{"buildDirectory":"/home/levon/test/RR/theoraplayer/theoraplayer/android-studio/lib/.externalNativeBuild/cmake/release/armeabi-v7a","name":"theoraplayer","sourceDirectory":"/home/levon/test/RR/theoraplayer/theoraplayer/android-studio/lib","targets":[{"artifacts":["/home/levon/test/RR/theoraplayer/theoraplayer/android-studio/lib/.externalNativeBuild/cmake/release/armeabi-v7a/libtheoraplayer.a"],"buildDirectory":"/home/levon/test/RR/theoraplayer/theoraplayer/android-studio/lib/.externalNativeBuild/cmake/release/armeabi-v7a","fileGroups":[{"compileFlags":"-g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -march=armv7-a -Wformat -Werror=format-security -frtti -fexceptions -fsigned-char -fsigned-char -std=c++11 -Oz -DNDEBUG  -DNDEBUG -fintegrated-as -fPIC   -fstack-protector -fstrict-aliasing -fomit-frame-pointer -fintegrated-as -no-canonical-prefixes -Wall -Wno-parentheses -Wno-overloaded-virtual -Wstrict-overflow=0 -mfpu=neon","defines":["APP_UNIFIED_HEADERS","LIBYUV_NEON","THEORAPLAYER_EXPORTS","_ANDROID","_ARM","_LIB","_USE_THEORA","_USE_TREMOR","_YUV_LIBYUV","__ARM_NEON__"],"includePath":[{"path":"/home/levon/test/RR/theoraplayer/theoraplayer/android-studio/lib/../.."},{"path":"/home/levon/test/RR/theoraplayer/theoraplayer/android-studio/lib/../../src"},{"path":"/home/levon/test/RR/theoraplayer/theoraplayer/android-studio/lib/../../../include"},{"path":"/home/levon/test/RR/theoraplayer/theoraplayer/android-studio/lib/../../include/theoraplayer"},{"path":"/home/levon/test/RR/theoraplayer/theoraplayer/android-studio/lib/../../src/formats"},{"path":"/home/levon/test/RR/theoraplayer/theoraplayer/android-studio/lib/../../src/YUV"},{"path":"/home/levon/test/RR/theoraplayer/theoraplayer/android-studio/lib/../../src/YUV/C"},{"path":"/home/levon/test/RR/theoraplayer/theoraplayer/android-studio/lib/../../src/YUV/libyuv"},{"path":"/home/levon/test/RR/theoraplayer/theoraplayer/android-studio/lib/../../src/YUV/libyuv/include"},{"path":"/home/levon/test/RR/theoraplayer/theoraplayer/android-studio/lib/../../src/YUV/android"},{"path":"/home/levon/test/RR/theoraplayer/theoraplayer/android-studio/lib/../../../theora/include"},{"path":"/home/levon/test/RR/theoraplayer/theoraplayer/android-studio/lib/../../.."},{"path":"/home/levon/test/RR/theoraplayer/theoraplayer/android-studio/lib/../../../ogg/include"}],"isGenerated":false,"language":"CXX","sources":["../../src/YUV/libyuv/src/compare.cc","../../src/YUV/libyuv/src/compare_common.cc","../../src/YUV/libyuv/src/compare_gcc.cc","../../src/YUV/libyuv/src/compare_neon.cc","../../src/YUV/libyuv/src/compare_neon64.cc","../../src/YUV/libyuv/src/compare_posix.cc","../../src/YUV/libyuv/src/compare_win.cc","../../src/YUV/libyuv/src/convert.cc","../../src/YUV/libyuv/src/convert_argb.cc","../../src/YUV/libyuv/src/convert_from.cc","../../src/YUV/libyuv/src/convert_from_argb.cc","../../src/YUV/libyuv/src/convert_jpeg.cc","../../src/YUV/libyuv/src/convert_to_argb.cc","../../src/YUV/libyuv/src/convert_to_i420.cc","../../src/YUV/libyuv/src/cpu_id.cc","../../src/YUV/libyuv/src/mjpeg_decoder.cc","../../src/YUV/libyuv/src/mjpeg_validate.cc","../../src/YUV/libyuv/src/planar_functions.cc","../../src/YUV/libyuv/src/rotate.cc","../../src/YUV/libyuv/src/rotate_any.cc","../../src/YUV/libyuv/src/rotate_argb.cc","../../src/YUV/libyuv/src/rotate_common.cc","../../src/YUV/libyuv/src/rotate_dspr2.cc","../../src/YUV/libyuv/src/rotate_gcc.cc","../../src/YUV/libyuv/src/rotate_mips.cc","../../src/YUV/libyuv/src/rotate_msa.cc","../../src/YUV/libyuv/src/rotate_neon.cc","../../src/YUV/libyuv/src/rotate_neon64.cc","../../src/YUV/libyuv/src/rotate_win.cc","../../src/YUV/libyuv/src/row_any.cc","../../src/YUV/libyuv/src/row_common.cc","../../src/YUV/libyuv/src/row_dspr2.cc","../../src/YUV/libyuv/src/row_gcc.cc","../../src/YUV/libyuv/src/row_mips.cc","../../src/YUV/libyuv/src/row_msa.cc","../../src/YUV/libyuv/src/row_neon.cc","../../src/YUV/libyuv/src/row_neon64.cc","../../src/YUV/libyuv/src/row_posix.cc","../../src/YUV/libyuv/src/row_win.cc","../../src/YUV/libyuv/src/scale.cc","../../src/YUV/libyuv/src/scale_any.cc","../../src/YUV/libyuv/src/scale_argb.cc","../../src/YUV/libyuv/src/scale_common.cc","../../src/YUV/libyuv/src/scale_dspr2.cc","../../src/YUV/libyuv/src/scale_gcc.cc","../../src/YUV/libyuv/src/scale_mips.cc","../../src/YUV/libyuv/src/scale_msa.cc","../../src/YUV/libyuv/src/scale_neon.cc","../../src/YUV/libyuv/src/scale_neon64.cc","../../src/YUV/libyuv/src/scale_posix.cc","../../src/YUV/libyuv/src/scale_win.cc","../../src/YUV/libyuv/src/video_common.cc","../../src/AudioInterface.cpp","../../src/AudioInterfaceFactory.cpp","../../src/AudioPacketQueue.cpp","../../src/DataSource.cpp","../../src/Exception.cpp","../../src/FileDataSource.cpp","../../src/FrameQueue.cpp","../../src/Manager.cpp","../../src/MemoryDataSource.cpp","../../src/Mutex.cpp","../../src/Thread.cpp","../../src/Timer.cpp","../../src/Utility.cpp","../../src/VideoClip.cpp","../../src/VideoFrame.cpp","../../src/WorkerThread.cpp","../../src/formats/Theora/VideoClip_Theora.cpp","../../src/theoraplayer.cpp"]},{"compileFlags":"-g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -march=armv7-a -Wformat -Werror=format-security -fsigned-char -Oz -DNDEBUG  -DNDEBUG -fintegrated-as -fPIC   -fstack-protector -fstrict-aliasing -fomit-frame-pointer -fintegrated-as -no-canonical-prefixes -Wall -Wno-parentheses -Wno-overloaded-virtual -Wstrict-overflow=0 -mfpu=neon","defines":["APP_UNIFIED_HEADERS","LIBYUV_NEON","THEORAPLAYER_EXPORTS","_ANDROID","_ARM","_LIB","_USE_THEORA","_USE_TREMOR","_YUV_LIBYUV","__ARM_NEON__"],"includePath":[{"path":"/home/levon/test/RR/theoraplayer/theoraplayer/android-studio/lib/../.."},{"path":"/home/levon/test/RR/theoraplayer/theoraplayer/android-studio/lib/../../src"},{"path":"/home/levon/test/RR/theoraplayer/theoraplayer/android-studio/lib/../../../include"},{"path":"/home/levon/test/RR/theoraplayer/theoraplayer/android-studio/lib/../../include/theoraplayer"},{"path":"/home/levon/test/RR/theoraplayer/theoraplayer/android-studio/lib/../../src/formats"},{"path":"/home/levon/test/RR/theoraplayer/theoraplayer/android-studio/lib/../../src/YUV"},{"path":"/home/levon/test/RR/theoraplayer/theoraplayer/android-studio/lib/../../src/YUV/C"},{"path":"/home/levon/test/RR/theoraplayer/theoraplayer/android-studio/lib/../../src/YUV/libyuv"},{"path":"/home/levon/test/RR/theoraplayer/theoraplayer/android-studio/lib/../../src/YUV/libyuv/include"},{"path":"/home/levon/test/RR/theoraplayer/theoraplayer/android-studio/lib/../../src/YUV/android"},{"path":"/home/levon/test/RR/theoraplayer/theoraplayer/android-studio/lib/../../../theora/include"},{"path":"/home/levon/test/RR/theoraplayer/theoraplayer/android-studio/lib/../../.."},{"path":"/home/levon/test/RR/theoraplayer/theoraplayer/android-studio/lib/../../../ogg/include"}],"isGenerated":false,"language":"C","sources":["../../src/YUV/C/yuv420_grey_c.c","../../src/YUV/C/yuv420_rgb_c.c","../../src/YUV/C/yuv420_yuv_c.c","../../src/YUV/android/cpu-features.c","../../src/YUV/libyuv/yuv_libyuv.c","../../src/YUV/yuv_util.c"]}],"fullName":"libtheoraplayer.a","linkerLanguage":"CXX","name":"theoraplayer","sourceDirectory":"/home/levon/test/RR/theoraplayer/theoraplayer/android-studio/lib","sysroot":"/home/levon/Downloads/android-ndk-r21/toolchains/llvm/prebuilt/linux-x86_64/sysroot","type":"STATIC_LIBRARY"}]}]}],"cookie":"","inReplyTo":"codemodel","type":"reply"}

CMAKE SERVER: ]== "CMake Server" ==]
kspes commented 4 years ago

No idea, not using android much these days, if you can fix it on your side, please create a pull request

levibyte commented 4 years ago

Manage to build with ndk-r16b

kspes commented 4 years ago

cool! any changes you made that you can make a pull request out of?