Библиотека ffmpeg сообщила об ошибке Указанный формат образца -1 недопустим или не поддерживается

#c #ffmpeg

Вопрос:

Это этапы компиляции моего проекта ffmpeg.

 $ configure --disable-static 
 --enable-shared 
 --enable-libmp3lame 
 --prefix=/home/aszswaz/Project/opensouce/ffmpeg-lib
$ make
$ make install
 

Это сгенерированная библиотека lib.

 $ ls include
libavcodec  libavdevice  libavfilter  libavformat  libavutil  libswresample  libswscale
 
 $ ls lib
libavcodec.so           libavdevice.so           libavfilter.so          libavformat.so           libavutil.so           libswresample.so          libswscale.so          pkgconfig
libavcodec.so.59        libavdevice.so.59        libavfilter.so.8        libavformat.so.59        libavutil.so.57        libswresample.so.4        libswscale.so.6
libavcodec.so.59.1.100  libavdevice.so.59.0.100  libavfilter.so.8.0.101  libavformat.so.59.2.101  libavutil.so.57.0.100  libswresample.so.4.0.100  libswscale.so.6.0.100
 

Я хочу реализовать функцию преобразования файлов pcm в файлы mp3, но при открытии AVCodecContext возникает ошибка.

     AVCodecContext *avCodecContext = avcodec_alloc_context3(avCodec);
    if (!avCodecContext) {
        fprintf(stderr, "Failed to create encoder context!n");
        return -1;
    }
    avCodecContext->bit_rate = 64000;
    avCodecContext->channels = CHANNEL;
    avCodecContext->channel_layout = AV_CH_LAYOUT_STEREO;
    avCodecContext->sample_rate = OSR;
    avCodecContext->sample_fmt = AV_SAMPLE_FMT_S16P;
    avCodecContext->time_base = av_get_time_base_q();

    result = avcodec_open2(avCodecContext, avCodec, NULL);
    if (result < 0) {
        fprintf(stderr, "avcodec_open2:%sn", av_err2str(result));
        return resu<
    }
 

t он выводит такую ошибку.

 pcm_file: /home/aszswaz/Musics/demo.pcm, mp3_file: /home/aszswaz/Musics/demo.mp3
Initialize the mp3 encoder...
[libmp3lame @ 0x5590851ba880] Specified sample format -1 is invalid or not supported
avcodec_open2:Invalid argument
 

Как это можно решить?