Recherche avancée

Médias (0)

Mot : - Tags -/xmlrpc

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (99)

  • MediaSPIP 0.1 Beta version

    25 avril 2011, par

    MediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
    The zip file provided here only contains the sources of MediaSPIP in its standalone version.
    To get a working installation, you must manually install all-software dependencies on the server.
    If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...)

  • Multilang : améliorer l’interface pour les blocs multilingues

    18 février 2011, par

    Multilang est un plugin supplémentaire qui n’est pas activé par défaut lors de l’initialisation de MediaSPIP.
    Après son activation, une préconfiguration est mise en place automatiquement par MediaSPIP init permettant à la nouvelle fonctionnalité d’être automatiquement opérationnelle. Il n’est donc pas obligatoire de passer par une étape de configuration pour cela.

  • L’agrémenter visuellement

    10 avril 2011

    MediaSPIP est basé sur un système de thèmes et de squelettes. Les squelettes définissent le placement des informations dans la page, définissant un usage spécifique de la plateforme, et les thèmes l’habillage graphique général.
    Chacun peut proposer un nouveau thème graphique ou un squelette et le mettre à disposition de la communauté.

Sur d’autres sites (12822)

  • fps porblem when saving video in mp4 container

    27 novembre 2012, par theateist

    When I decode frames from avi file and then decode them in x264 and save to mp4 file, the fps of the output file is always 12,800. Therefore the file is played very fast. But, when I save the encoded in h264 frames in avi format and not mp4, so the fps is as I wanted - 25.

    What could be the problem ?
    This is very urgent to me. I'm stuck with this and cannot continue with my project !

    Here the code I wrote in VS2010 :

    #include "stdafx.h"
    #include "inttypes.h"

    extern "C" {
    #include "libavcodec/avcodec.h"
    #include "libavformat/avformat.h"
    #include "libavutil/avutil.h"
    #include <libswscale></libswscale>swscale.h>
    #include <libavutil></libavutil>opt.h>
    #include <libswscale></libswscale>swscale.h>
    #include <libavutil></libavutil>imgutils.h>
    }

    #include <iostream>
    using namespace std;

    int main(int argc, char* argv[])
    {
      const char* inFileName = "C:\\000227_C1_GAME.avi";
      const char* outFileName = "c:\\test.avi";
      const char* outFileType = "avi";

      av_register_all();

      AVFormatContext* inContainer = NULL;  
      if(avformat_open_input(&amp;inContainer, inFileName, NULL, NULL) &lt; 0)  
         exit(1);

      if(avformat_find_stream_info(inContainer, NULL) &lt; 0)
         exit(1);

      // Find video stream
      int videoStreamIndex = -1;
      for (unsigned int i = 0; i &lt; inContainer->nb_streams; ++i)
      {
         if (inContainer->streams[i] &amp;&amp; inContainer->streams[i]->codec &amp;&amp;
            inContainer->streams[i]->codec->codec_type == AVMEDIA_TYPE_VIDEO)
         {
            videoStreamIndex = i;
            break;
         }
      }
      if (videoStreamIndex == -1) exit(1);

      AVFormatContext* outContainer = NULL;
      if(avformat_alloc_output_context2(&amp;outContainer, NULL, outFileType, outFileName) &lt; 0)
         exit(1);

      // ----------------------------
      // Decoder
      // ----------------------------
      AVStream const *const inStream = inContainer->streams[videoStreamIndex];
      AVCodec *const decoder = avcodec_find_decoder(inStream->codec->codec_id);
      if(!decoder)
         exit(1);
      if(avcodec_open2(inStream->codec, decoder, NULL) &lt; 0)
         exit(1);

      // ----------------------------
      // Encoder
      // ----------------------------            
      AVCodec *encoder = avcodec_find_encoder(AV_CODEC_ID_H264);
      if(!encoder)
         exit(1);
      AVStream *outStream = avformat_new_stream(outContainer, encoder);      
      if(!outStream)
         exit(1);
      avcodec_get_context_defaults3(outStream->codec, encoder);  

      // Construct encoder
      if(outContainer->oformat->flags &amp; AVFMT_GLOBALHEADER)
         outStream->codec->flags |= CODEC_FLAG_GLOBAL_HEADER;  

      outStream->codec->coder_type = AVMEDIA_TYPE_VIDEO;
      outStream->codec->pix_fmt = AV_PIX_FMT_YUV420P;
      outStream->codec->width = inStream->codec->width;
      outStream->codec->height = inStream->codec->height;
      outStream->codec->codec_id = encoder->id;
      outStream->codec->bit_rate = 500000;
      //outStream->codec->rc_min_rate = 600000;
      //outStream->codec->rc_max_rate = 800000;

      outStream->codec->time_base.den = 25;
      outStream->codec->time_base.num = 1;
      outStream->codec->gop_size = 250; // Keyframe interval(=GOP length). Determines maximum distance distance between I-frames
      outStream->codec->keyint_min = 25; // minimum GOP size
      outStream->codec->max_b_frames = 3;//16; // maximum number of B-frames between non-B-frames
      outStream->codec->b_frame_strategy = 1; // decides the best number of B-frames to use. Default mode in x264.
      outStream->codec->scenechange_threshold = 40;
      outStream->codec->refs = 6; // abillity to reference frames other than the one immediately prior to the current frame. specify how many references can be used.
      outStream->codec->qmin = 0;//10;
      outStream->codec->qmax = 69;//51;
      outStream->codec->qcompress = 0.6;
      outStream->codec->max_qdiff = 4;
      outStream->codec->i_quant_factor = 1.4;//0.71;  

      outStream->codec->refs=1;//3;
      outStream->codec->chromaoffset = -2;
      outStream->codec->thread_count = 1;  
      outStream->codec->trellis = 1;
      outStream->codec->me_range = 16;
      outStream->codec->me_method = ME_HEX; //hex
      outStream->codec->flags2 |= CODEC_FLAG2_FAST;  
      outStream->codec->coder_type = 1;


      if(outStream->codec->codec_id == AV_CODEC_ID_H264)
      {
           av_opt_set(outStream->codec->priv_data, "preset", "slow", 0);
      }

      // Open encoder
      if(avcodec_open2(outStream->codec, encoder, NULL) &lt; 0)
         exit(1);

      // Open output container
      if(avio_open(&amp;outContainer->pb, outFileName, AVIO_FLAG_WRITE) &lt; 0)
         exit(1);

      //close_o

      AVFrame *decodedFrame = avcodec_alloc_frame();
      if(!decodedFrame)
         exit(1);
      AVFrame *encodeFrame = avcodec_alloc_frame();
      if(!encodeFrame)
         exit(1);
      encodeFrame->format = outStream->codec->pix_fmt;
      encodeFrame->width = outStream->codec->width;
      encodeFrame->height = outStream->codec->height;
      if(av_image_alloc(encodeFrame->data, encodeFrame->linesize,
                    outStream->codec->width, outStream->codec->height,
                    outStream->codec->pix_fmt, 1) &lt; 0)
         exit(1);

      av_dump_format(inContainer, 0, inFileName,0);

      //Write header to ouput container
      avformat_write_header(outContainer, NULL);

      AVPacket decodePacket, encodedPacket;
      int got_frame, len;
      while(av_read_frame(inContainer, &amp;decodePacket)>=0)
      {      
         if (decodePacket.stream_index == videoStreamIndex)
         {                  
            len = avcodec_decode_video2(inStream->codec, decodedFrame, &amp;got_frame, &amp;decodePacket);
            if(len &lt; 0)
               exit(1);
            if(got_frame)
            {
               av_init_packet(&amp;encodedPacket);
               encodedPacket.data = NULL;
               encodedPacket.size = 0;        
               if(avcodec_encode_video2(outStream->codec, &amp;encodedPacket, decodedFrame, &amp;got_frame) &lt; 0)
                  exit(1);
               if(got_frame)
               {
                  if (outStream->codec->coded_frame->key_frame)
                     encodedPacket.flags |= AV_PKT_FLAG_KEY;

                  encodedPacket.stream_index = outStream->index;

                  if(av_interleaved_write_frame(outContainer, &amp;encodedPacket) &lt; 0)
                     exit(1);

                  av_free_packet(&amp;encodedPacket);
               }
            }
         }

         av_free_packet(&amp;decodePacket);
      }
      av_write_trailer(outContainer);
      avio_close(outContainer->pb);

      avcodec_free_frame(&amp;encodeFrame);
      avcodec_free_frame(&amp;decodedFrame);

      avformat_free_context(outContainer);
      av_close_input_file(inContainer);
      return 0;
    }
    </iostream>
  • The Android build FFMPEG encounter problems

    19 octobre 2016, par 晓Lee

    I write an Android test App on Ubuntu, the NDK - BUILD, appeared

    / home/lee/Work/Android/the NDK/Android - the NDK - r10e toolchains/arm - Linux - androideabi - 4.8 / prebuilt/Linux - x86_64 / bin /../ lib/GCC/arm - Linux - androideabi / 4.8 /../../../../ arm - Linux - androideabi/bin/ld : error : always find - lGLESv2
    Collect2 : error : ld returned 1 exit status
    Make : * * * [obj/local/armeabi/libffmpeg so] Error 1

    FFmpeg is version 3.1.4,and the NDK version is r10e

  • 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 ?