Recherche avancée

Médias (2)

Mot : - Tags -/map

Autres articles (55)

  • Les autorisations surchargées par les plugins

    27 avril 2010, par

    Mediaspip core
    autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

  • Support audio et vidéo HTML5

    10 avril 2011

    MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
    Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
    Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
    Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...)

Sur d’autres sites (11481)

  • undefined reference to ffmpeg functions in native code using Android Studio 2.2

    12 octobre 2016, par Krzysztof Kansy

    I have a problem with using ffmpeg in Android Studio 2.2 using NDK 13 and new Cmake building system. FFmpeg version is 3.1.4.
    The system I’m working on is Linux Mint 18 64-bit.
    At the build time I’m getting undefined reference error each time I use ffpeg functions.

    My MainActivity.java :

    public class MainActivity extends AppCompatActivity {

       @Override
       protected void onCreate(Bundle savedInstanceState) {
           super.onCreate(savedInstanceState);
           setContentView(R.layout.activity_main);

       // Example of a call to a native method
       TextView tv = (TextView) findViewById(R.id.sample_text);
       tv.setText(stringFromJNI());
       }

       /**
        * A native method that is implemented by the 'native-lib' native library,
        * which is packaged with this application.
        */
       public native String stringFromJNI();

       // Used to load the 'native-lib' library on application startup.
       static {
           System.loadLibrary("native-lib");
       }
    }

    My native class (undefined reference is pointing to av_init_packet(&avPacket)) :

    #include
    #include <string>
    #include <android></android>log.h>
    #include <libavcodec></libavcodec>avcodec.h>


    extern "C"
    jstring
    Java_com_example_tito_jnitest_MainActivity_stringFromJNI(
           JNIEnv* env,
           jobject /* this */) {

       std::string hello = "Hello from C++";

       __android_log_print(ANDROID_LOG_INFO, "JNItest", "Hello from JNI!");

       AVPacket avPacket;
       av_init_packet(&amp;avPacket);

       return env->NewStringUTF(hello.c_str());
    }
    </string>

    build.gradle script

    apply plugin: 'com.android.application'

    android {
       compileSdkVersion 24
       buildToolsVersion "24.0.3"
       defaultConfig {
           applicationId "com.example.tito.jnitest"
           minSdkVersion 19
           targetSdkVersion 24
           versionCode 1
           versionName "1.0"
           testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
           externalNativeBuild {
               cmake {
                   // Passes optional arguments to CMake.
                   cppFlags "-frtti -fexceptions"
                   abiFilters 'armeabi'
               }
           }
       }

       sourceSets {
           main {
               jniLibs.srcDirs = ['/home/tito/AndroidStudioProjects/JNItest/app/src/main/jniLibs']
           }
       }

       buildTypes {
           release {
               minifyEnabled false
               proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
           }
       }
       externalNativeBuild {
           cmake {
               path "CMakeLists.txt"
           }
       }
    }

    dependencies {
       compile fileTree(dir: 'libs', include: ['*.jar'])
       androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
           exclude group: 'com.android.support', module: 'support-annotations'
       })
       compile 'com.android.support:appcompat-v7:24.2.1'
       testCompile 'junit:junit:4.12'
    }

    CMakeLists.txt

    cmake_minimum_required(VERSION 3.4.1)

    include_directories(/home/tito/Android/Sdk/ndk-bundle/sources/ffmpeg-3.1.4/android/${ANDROID_ABI}/include)

    #set(CMAKE_VERBOSE_MAKEFILE on)
    #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++11")

    add_library( avutil
                SHARED
                IMPORTED )

    set_target_properties(
                   avutil
                   PROPERTIES IMPORTED_LOCATION
                   /home/tito/AndroidStudioProjects/JNItest/app/src/main/jniLibs/${ANDROID_ABI}/libavutil-55.so )

    add_library( swscale
                SHARED
                IMPORTED )

    set_target_properties(
                   swscale
                   PROPERTIES IMPORTED_LOCATION
                   /home/tito/AndroidStudioProjects/JNItest/app/src/main/jniLibs/${ANDROID_ABI}/libswscale-4.so )

    add_library( swresample
                SHARED
                IMPORTED )

    set_target_properties(
                   swresample
                   PROPERTIES IMPORTED_LOCATION
                   /home/tito/AndroidStudioProjects/JNItest/app/src/main/jniLibs/${ANDROID_ABI}/libswresample-2.so )

    add_library( avcodec
                SHARED
                IMPORTED )

    set_target_properties(
                   avcodec
                   PROPERTIES IMPORTED_LOCATION
                   /home/tito/AndroidStudioProjects/JNItest/app/src/main/jniLibs/${ANDROID_ABI}/libavcodec-57.so )

    add_library( avfilter
                SHARED
                IMPORTED )

    set_target_properties(
                   avfilter
                   PROPERTIES IMPORTED_LOCATION
                   /home/tito/AndroidStudioProjects/JNItest/app/src/main/jniLibs/${ANDROID_ABI}/libavfilter-6.so )

    add_library( avformat
                SHARED
                IMPORTED )

    set_target_properties(
                   avformat
                   PROPERTIES IMPORTED_LOCATION
                   /home/tito/AndroidStudioProjects/JNItest/app/src/main/jniLibs/${ANDROID_ABI}/libavformat-57.so )

    add_library( avdevice
                SHARED
                IMPORTED )

    set_target_properties(
                   avdevice
                   PROPERTIES IMPORTED_LOCATION
                   /home/tito/AndroidStudioProjects/JNItest/app/src/main/jniLibs/${ANDROID_ABI}/libavdevice-57.so )

    add_library( native-lib
                SHARED
                src/main/cpp/native-lib.cpp )

    find_library( log-lib
                 log )

    target_link_libraries(native-lib ${log-lib} avutil swscale swresample avcodec avfilter avformat avdevice)

    Build process of ffmpeg seemed to be successful. Here’s my build script :

    #!/bin/bash
    NDK=/home/tito/Android/Sdk/ndk-bundle
    SYSROOT=$NDK/platforms/android-19/arch-arm/
    TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64
    function build_one
    {
    ./configure \
    --prefix=$PREFIX \
    --disable-static \
    --enable-shared \
    --disable-doc \
    --disable-ffmpeg \
    --disable-ffplay \
    --disable-ffprobe \
    --disable-ffserver \
    --disable-doc \
    --cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \
    --target-os=linux \
    --arch=arm \
    --enable-cross-compile \
    --sysroot=$SYSROOT \
    --extra-cflags="-Os -fpic -marm" \
    --extra-ldflags="-marm" \
    $ADDITIONAL_CONFIGURE_FLAG
    make clean
    make
    make install
    }
    CPU=armeabi
    PREFIX=$(pwd)/android/$CPU
    build_one

    One thing I noticed that could indicate that something is wrong with ffmpeg build is warning WARNING: /home/tito/Android/Sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-pkg-config not found, library detection may fail. during building. I’m not sure if this may be cause of problems.

    I was trying to build for all of the ABIs, but for now I decided to focus on making just armeabi working. I’m having exact same failure after using e.g. arm64-v8a.

    Finally, here is the gradle console’s content with error :

    Executing tasks: [:app:assembleDebug]

    Configuration on demand is an incubating feature.
    Incremental java compilation is an incubating feature.
    :app:preBuild UP-TO-DATE
    :app:preDebugBuild UP-TO-DATE
    :app:checkDebugManifest
    :app:preReleaseBuild UP-TO-DATE
    :app:prepareComAndroidSupportAnimatedVectorDrawable2421Library UP-TO-DATE
    :app:prepareComAndroidSupportAppcompatV72421Library UP-TO-DATE
    :app:prepareComAndroidSupportSupportCompat2421Library UP-TO-DATE
    :app:prepareComAndroidSupportSupportCoreUi2421Library UP-TO-DATE
    :app:prepareComAndroidSupportSupportCoreUtils2421Library UP-TO-DATE
    :app:prepareComAndroidSupportSupportFragment2421Library UP-TO-DATE
    :app:prepareComAndroidSupportSupportMediaCompat2421Library UP-TO-DATE
    :app:prepareComAndroidSupportSupportV42421Library UP-TO-DATE
    :app:prepareComAndroidSupportSupportVectorDrawable2421Library UP-TO-DATE
    :app:prepareDebugDependencies
    :app:compileDebugAidl UP-TO-DATE
    :app:compileDebugRenderscript UP-TO-DATE
    :app:generateDebugBuildConfig UP-TO-DATE
    :app:generateDebugResValues UP-TO-DATE
    :app:generateDebugResources UP-TO-DATE
    :app:mergeDebugResources UP-TO-DATE
    :app:processDebugManifest UP-TO-DATE
    :app:processDebugResources
    :app:generateDebugSources
    :app:incrementalDebugJavaCompilationSafeguard UP-TO-DATE
    :app:compileDebugJavaWithJavac UP-TO-DATE
    :app:generateJsonModelDebug UP-TO-DATE
    :app:externalNativeBuildDebug
     building /home/tito/AndroidStudioProjects/JNItest/app/build/intermediates/cmake/debug/obj/armeabi/libnative-lib.so
    :app:externalNativeBuildDebug FAILED

    FAILURE: Build failed with an exception.

    * What went wrong:
    Execution failed for task ':app:externalNativeBuildDebug'.
    > Build command failed.
     Error while executing '/home/tito/Android/Sdk/cmake/3.6.3155560/bin/cmake' with arguments {--build /home/tito/AndroidStudioProjects/JNItest/app/.externalNativeBuild/cmake/debug/armeabi --target native-lib}
     [1/2] Building CXX object CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o
     [2/2] Linking CXX shared library ../../../../build/intermediates/cmake/debug/obj/armeabi/libnative-lib.so
     FAILED: : &amp;&amp; /home/tito/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++  -target armv5te-none-linux-androideabi -gcc-toolchain /home/tito/Android/Sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64 --sysroot=/home/tito/Android/Sdk/ndk-bundle/platforms/android-19/arch-arm -fPIC -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -march=armv5te -mtune=xscale -msoft-float -fno-integrated-as -mthumb -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -march=armv5te -mtune=xscale -msoft-float -fno-integrated-as -mthumb -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti -frtti -fexceptions -O0 -fno-limit-debug-info -O0 -fno-limit-debug-info  -Wl,--build-id -Wl,--warn-shared-textrel -Wl,--fatal-warnings -Wl,--no-undefined -Wl,-z,noexecstack -Qunused-arguments -Wl,-z,relro -Wl,-z,now -Wl,--build-id -Wl,--warn-shared-textrel -Wl,--fatal-warnings -Wl,--no-undefined -Wl,-z,noexecstack -Qunused-arguments -Wl,-z,relro -Wl,-z,now -shared -Wl,-soname,libnative-lib.so -o ../../../../build/intermediates/cmake/debug/obj/armeabi/libnative-lib.so CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o  /home/tito/Android/Sdk/ndk-bundle/platforms/android-19/arch-arm/usr/lib/liblog.so ../../../../src/main/jniLibs/armeabi/libavutil-55.so ../../../../src/main/jniLibs/armeabi/libswscale-4.so ../../../../src/main/jniLibs/armeabi/libswresample-2.so ../../../../src/main/jniLibs/armeabi/libavcodec-57.so ../../../../src/main/jniLibs/armeabi/libavfilter-6.so ../../../../src/main/jniLibs/armeabi/libavformat-57.so ../../../../src/main/jniLibs/armeabi/libavdevice-57.so -lm "/home/tito/Android/Sdk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi/libgnustl_static.a" "-latomic" &amp;&amp; :
     /home/tito/AndroidStudioProjects/JNItest/app/src/main/cpp/native-lib.cpp:18: error: undefined reference to 'av_init_packet(AVPacket*)'
     clang++: error: linker command failed with exit code 1 (use -v to see invocation)
     ninja: build stopped: subcommand failed.


    * Try:
    Run with --info or --debug option to get more log output.

    * Exception is:
    org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:externalNativeBuildDebug'.
       at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)
       at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
       at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
       at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:66)
       at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
       at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:52)
       at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
       at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)
       at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
       at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:203)
       at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:185)
       at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:66)
       at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:50)
       at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:25)
       at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:110)
       at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:37)
       at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
       at org.gradle.execution.DefaultBuildExecuter.access$000(DefaultBuildExecuter.java:23)
       at org.gradle.execution.DefaultBuildExecuter$1.proceed(DefaultBuildExecuter.java:43)
       at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
       at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
       at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:30)
       at org.gradle.initialization.DefaultGradleLauncher$4.run(DefaultGradleLauncher.java:153)
       at org.gradle.internal.Factories$1.create(Factories.java:22)
       at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:91)
       at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:53)
       at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:150)
       at org.gradle.initialization.DefaultGradleLauncher.access$200(DefaultGradleLauncher.java:32)
       at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:98)
       at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:92)
       at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:91)
       at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:63)
       at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:92)
       at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:83)
       at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:99)
       at org.gradle.tooling.internal.provider.runner.BuildModelActionRunner.run(BuildModelActionRunner.java:46)
       at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
       at org.gradle.tooling.internal.provider.runner.SubscribableBuildActionRunner.run(SubscribableBuildActionRunner.java:58)
       at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
       at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:48)
       at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:30)
       at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:81)
       at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:46)
       at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:52)
       at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
       at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
       at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:37)
       at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
       at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:26)
       at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
       at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:34)
       at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
       at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:74)
       at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:72)
       at org.gradle.util.Swapper.swap(Swapper.java:38)
       at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:72)
       at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
       at org.gradle.launcher.daemon.server.health.DaemonHealthTracker.execute(DaemonHealthTracker.java:47)
       at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
       at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:60)
       at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
       at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
       at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:72)
       at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
       at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
       at org.gradle.launcher.daemon.server.health.HintGCAfterBuild.execute(HintGCAfterBuild.java:41)
       at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
       at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:50)
       at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:237)
       at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:54)
       at org.gradle.internal.concurrent.StoppableExecutorImpl$1.run(StoppableExecutorImpl.java:40)
    Caused by: org.gradle.internal.UncheckedException: Build command failed.
    Error while executing '/home/tito/Android/Sdk/cmake/3.6.3155560/bin/cmake' with arguments {--build /home/tito/AndroidStudioProjects/JNItest/app/.externalNativeBuild/cmake/debug/armeabi --target native-lib}
    [1/2] Building CXX object CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o
    [2/2] Linking CXX shared library ../../../../build/intermediates/cmake/debug/obj/armeabi/libnative-lib.so
    FAILED: : &amp;&amp; /home/tito/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++  -target armv5te-none-linux-androideabi -gcc-toolchain /home/tito/Android/Sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64 --sysroot=/home/tito/Android/Sdk/ndk-bundle/platforms/android-19/arch-arm -fPIC -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -march=armv5te -mtune=xscale -msoft-float -fno-integrated-as -mthumb -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -march=armv5te -mtune=xscale -msoft-float -fno-integrated-as -mthumb -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti -frtti -fexceptions -O0 -fno-limit-debug-info -O0 -fno-limit-debug-info  -Wl,--build-id -Wl,--warn-shared-textrel -Wl,--fatal-warnings -Wl,--no-undefined -Wl,-z,noexecstack -Qunused-arguments -Wl,-z,relro -Wl,-z,now -Wl,--build-id -Wl,--warn-shared-textrel -Wl,--fatal-warnings -Wl,--no-undefined -Wl,-z,noexecstack -Qunused-arguments -Wl,-z,relro -Wl,-z,now -shared -Wl,-soname,libnative-lib.so -o ../../../../build/intermediates/cmake/debug/obj/armeabi/libnative-lib.so CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o  /home/tito/Android/Sdk/ndk-bundle/platforms/android-19/arch-arm/usr/lib/liblog.so ../../../../src/main/jniLibs/armeabi/libavutil-55.so ../../../../src/main/jniLibs/armeabi/libswscale-4.so ../../../../src/main/jniLibs/armeabi/libswresample-2.so ../../../../src/main/jniLibs/armeabi/libavcodec-57.so ../../../../src/main/jniLibs/armeabi/libavfilter-6.so ../../../../src/main/jniLibs/armeabi/libavformat-57.so ../../../../src/main/jniLibs/armeabi/libavdevice-57.so -lm "/home/tito/Android/Sdk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi/libgnustl_static.a" "-latomic" &amp;&amp; :
    /home/tito/AndroidStudioProjects/JNItest/app/src/main/cpp/native-lib.cpp:18: error: undefined reference to 'av_init_packet(AVPacket*)'
    clang++: error: linker command failed with exit code 1 (use -v to see invocation)
    ninja: build stopped: subcommand failed.

       at org.gradle.internal.UncheckedException.throwAsUncheckedException(UncheckedException.java:45)
       at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:78)
       at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.doExecute(AnnotationProcessingTaskFactory.java:228)
       at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:221)
       at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:210)
       at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:621)
       at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:604)
       at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
       at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
       ... 70 more
    Caused by: Build command failed.
    Error while executing '/home/tito/Android/Sdk/cmake/3.6.3155560/bin/cmake' with arguments {--build /home/tito/AndroidStudioProjects/JNItest/app/.externalNativeBuild/cmake/debug/armeabi --target native-lib}
    [1/2] Building CXX object CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o
    [2/2] Linking CXX shared library ../../../../build/intermediates/cmake/debug/obj/armeabi/libnative-lib.so
    FAILED: : &amp;&amp; /home/tito/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++  -target armv5te-none-linux-androideabi -gcc-toolchain /home/tito/Android/Sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64 --sysroot=/home/tito/Android/Sdk/ndk-bundle/platforms/android-19/arch-arm -fPIC -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -march=armv5te -mtune=xscale -msoft-float -fno-integrated-as -mthumb -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -march=armv5te -mtune=xscale -msoft-float -fno-integrated-as -mthumb -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti -frtti -fexceptions -O0 -fno-limit-debug-info -O0 -fno-limit-debug-info  -Wl,--build-id -Wl,--warn-shared-textrel -Wl,--fatal-warnings -Wl,--no-undefined -Wl,-z,noexecstack -Qunused-arguments -Wl,-z,relro -Wl,-z,now -Wl,--build-id -Wl,--warn-shared-textrel -Wl,--fatal-warnings -Wl,--no-undefined -Wl,-z,noexecstack -Qunused-arguments -Wl,-z,relro -Wl,-z,now -shared -Wl,-soname,libnative-lib.so -o ../../../../build/intermediates/cmake/debug/obj/armeabi/libnative-lib.so CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o  /home/tito/Android/Sdk/ndk-bundle/platforms/android-19/arch-arm/usr/lib/liblog.so ../../../../src/main/jniLibs/armeabi/libavutil-55.so ../../../../src/main/jniLibs/armeabi/libswscale-4.so ../../../../src/main/jniLibs/armeabi/libswresample-2.so ../../../../src/main/jniLibs/armeabi/libavcodec-57.so ../../../../src/main/jniLibs/armeabi/libavfilter-6.so ../../../../src/main/jniLibs/armeabi/libavformat-57.so ../../../../src/main/jniLibs/armeabi/libavdevice-57.so -lm "/home/tito/Android/Sdk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi/libgnustl_static.a" "-latomic" &amp;&amp; :
    /home/tito/AndroidStudioProjects/JNItest/app/src/main/cpp/native-lib.cpp:18: error: undefined reference to 'av_init_packet(AVPacket*)'
    clang++: error: linker command failed with exit code 1 (use -v to see invocation)
    ninja: build stopped: subcommand failed.

       at com.android.build.gradle.tasks.ExternalNativeBuildTaskUtils.executeBuildProcessAndLogError(ExternalNativeBuildTaskUtils.java:233)
       at com.android.build.gradle.tasks.ExternalNativeBuildTask.executeProcessBatch(ExternalNativeBuildTask.java:231)
       at com.android.build.gradle.tasks.ExternalNativeBuildTask.build(ExternalNativeBuildTask.java:163)
       at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:75)
       ... 77 more


    BUILD FAILED

    Total time: 0.723 secs

    Can anyone tell me what I’m doing wrong here ?

  • how to install and run phpize

    13 décembre 2016, par Hrishikesh Choudhari

    I have been meaning to install ffmpeg as an extension to my php setup. So before I can install it, I need to phpize it. I installed php5-dev by sudo apt-get install php5-dev But now when I run phpize I get the following error :

    phpize
    Cannot find config.m4.
    Make sure that you run '/usr/bin/phpize' in the top level source directory of the module

    The location of my php.ini is /usr/local/zend/etc/php.ini

    From another online resource i tried this

    sudo apt-get install autoconf automake libtool m4

    But all of them are already installed.

    Locate config.m4 didnt return anything.

    Any pointers here how I can get phpize and thus, ffmpeg up and running ?

  • android.mk LOCAL_MODULE_FILENAME should not contain extensions

    25 février 2015, par nmxprime

    i am trying to build some of the files from libavcodec and libavutil

    Following this, i created Android.mk file as below :

    jni/Android.mk contains

    LOCAL_PATH := $(call my-dir)

    FFMPEG_TOP := $(LOCAL_PATH)

    include $(CLEAR_VARS)

    include $(FFMPEG_TOP)/libavutil/Android.mk
    include $(FFMPEG_TOP)/libavcodec/Android.mk



    LOCAL_PATH := $(FFMPEG_TOP)
    LOCAL_MODULE := mylib
    LOCAL_ARM_MODE := arm  # remove this if you want thumb mode
    LOCAL_SRC_FILES := myfunc1.c myfunc2.c maincfunction.c 3rdparty1.c 3rdparty2.c

    LOCAL_SRC_FILES += libavcodec.a libavutil.a

    LOCAL_LDLIBS := -llog

    include $(BUILD_SHARED_LIBRARY)

    jni/libavcodec/Android.mk contains

    LOCAL_PATH:= $(call my-dir)

    include $(CLEAR_VARS)

    SOURCE_H264_DECODER += h264.c h264idct.c h264pred.c h264_parser.c cabac.c
    SOURCE_H264_ENCODER += h264enc.c h264dspenc.c

    SOURCE_HAVE_ARM = \
       arm/dsputil_arm.c        \
       arm/dsputil_arm_s.S        \
       arm/jrevdct_arm.S \
       arm/mpegvideo_arm.c        \
       arm/simple_idct_arm.S

    SOURCE_HAVE_ARMV5TE = \
       arm/mpegvideo_armv5te.c \
       arm/mpegvideo_armv5te_s.S \
       arm/simple_idct_armv5te.S

    SOURCE_HAVE_ARMVFP = \
       arm/dsputil_vfp.S \
       arm/float_arm_vfp.S

    SOURCE_HAVE_ARMV6 = arm/simple_idct_armv6.S

    LOCAL_SRC_FILES := \
      allcodecs.c \
      audioconvert.c \
      bitstream.c \
      bitstream_filter.c \
      dsputil.c \
      eval.c \
      faanidct.c \
      imgconvert.c \
      jrevdct.c \
      opt.c \
      options.c \
      parser.c \
      raw.c \
      resample.c \
      resample2.c \
      simple_idct.c \
      utils.c

    LOCAL_SRC_FILES += $(SOURCE_H263_ENCODER)                
    LOCAL_SRC_FILES += $(SOURCE_H264_DECODER)

    LOCAL_SRC_FILES += $(SOURCE_HAVE_ARM)                
    LOCAL_SRC_FILES += $(SOURCE_HAVE_ARMV5TE)                
    LOCAL_SRC_FILES += $(SOURCE_HAVE_ARMVFP)

    LOCAL_MODULE := libavcodec

    LOCAL_PRELINK_MODULE := false


    LOCAL_C_INCLUDES :=                           \
       $(FFMPEG_TOP)/                         \
       $(FFMPEG_TOP)/libavutil/                \
       $(LOCAL_PATH)                            \
       $(LOCAL_PATH)/arm/

    LOCAL_CFLAGS += -O4 -mno-thumb-interwork -mno-thumb -marm -DHAVE_AV_CONFIG_H

    include $(BUILD_STATIC_LIBRARY)    

    jni/libavutil/Android.mk contains
    LOCAL_PATH := $(call my-dir)

    include $(CLEAR_VARS)

    LOCAL_SRC_FILES := \
      adler32.c \
      aes.c \
      avstring.c \
      base64.c \
      crc.c \
      des.c \
      fifo.c \
      intfloat_readwrite.c \
      lfg.c \
      lls.c \
      log.c \
      lzo.c \
      mathematics.c \
      md5.c \
      mem.c \
      random.c \
      random_seed.c \
      rational.c \
      rc4.c \
      sha1.c \
      tree.c \
      utils.c

    LOCAL_MODULE := libavutil

    LOCAL_PRELINK_MODULE := false

    LOCAL_C_INCLUDES :=                                 \
       $(FFMPEG_TOP)/                                \
       $(LOCAL_PATH)                 \
       $(LOCAL_PATH)/arm/

    LOCAL_CFLAGS += -O4 -mno-thumb-interwork -mno-thumb -marm -DHAVE_AV_CONFIG_H

    include $(BUILD_STATIC_LIBRARY)

    The problem addressed here is not relavant to what i am facing, though the error is similar.

    The error i got is :

    Android NDK: jni/inner/Android.mk:mylib: LOCAL_MODULE_FILENAME should not include file extensions
    Android NDK: jni/inner/Android.mk:mylib: LOCAL_MODULE_FILENAME must not contain a file extension

    Please help !!
    [So often i am meeting headless problems !!]