diff --git a/configure.ac b/configure.ac index eded98ad4..61e141d91 100644 --- a/configure.ac +++ b/configure.ac @@ -2423,7 +2423,6 @@ else fi else # Linux, OS X PKG_CHECK_MODULES([LIBAVCODEC], [libavcodec >= 53.35.0 ], [found_libavcodec=yes], [found_libavcodec=no]) -PKG_CHECK_MODULES([LIBAVCODEC_GE_55], [libavcodec >= 55.0.0 ], [libavcodec_ge_55=yes], [libavcodec_ge_55=no]) PKG_CHECK_MODULES([LIBAVUTIL], [libavutil >= 51.22.1 ], [found_libavutil=yes], [found_libavutil=no]) fi @@ -2433,12 +2432,11 @@ then AC_DEFINE([HAVE_LAVC], [1], [Build with LAVC support]) AC_SUBST(LIBAVCODEC_COMPRESS_LIB_TARGET, "lib/ultragrid/vcompress_libavcodec.so.$video_compress_abi_version") AC_SUBST(LIBAVCODEC_DECOMPRESS_LIB_TARGET, "lib/ultragrid/vdecompress_libavcodec.so.$video_decompress_abi_version") - if test $libavcodec_ge_55 = yes; then - AC_SUBST(LIBAVCODEC_AUDIO_CODEC_LIB_TARGET, "lib/ultragrid/acodec_libavcodec.so.$audio_codec_abi_version") - AC_DEFINE([HAVE_LAVC_AUDIO], [1], [Build with LAVC audio support]) - libavcodec_audio=yes - LIBAVCODEC_AUDIO_CODEC_OBJ=src/audio/codec/libavcodec.o - fi + + AC_SUBST(LIBAVCODEC_AUDIO_CODEC_LIB_TARGET, "lib/ultragrid/acodec_libavcodec.so.$audio_codec_abi_version") + AC_DEFINE([HAVE_LAVC_AUDIO], [1], [Build with LAVC audio support]) + LIBAVCODEC_AUDIO_CODEC_OBJ=src/audio/codec/libavcodec.o + LIB_TARGETS="$LIB_TARGETS $LIBAVCODEC_COMPRESS_LIB_TARGET $LIBAVCODEC_DECOMPRESS_LIB_TARGET $LIBAVCODEC_AUDIO_CODEC_LIB_TARGET" LIBAVCODEC_COMPRESS_OBJ=src/video_compress/libavcodec.o LIBAVCODEC_DECOMPRESS_OBJ=src/video_decompress/libavcodec.o @@ -2587,7 +2585,7 @@ RESULT=\ Realtime DXT (OpenGL) ....... $rtdxt JPEG ........................ $jpeg (static: $jpeg_static) UYVY dummy compression ...... $uyvy - Libavcodec .................. $libavcodec (audio: $libavcodec_audio) + Libavcodec .................. $libavcodec scale postprocessor ......... $scale testcard extras ............. $testcard_extras_req diff --git a/src/audio/codec/libavcodec.c b/src/audio/codec/libavcodec.c index 25423cbf6..94b680285 100644 --- a/src/audio/codec/libavcodec.c +++ b/src/audio/codec/libavcodec.c @@ -55,7 +55,9 @@ #include "audio/codec/libavcodec.h" #include +#if LIBAVCODEC_VERSION_MAJOR >= 55 #include +#endif #include #include "audio/audio.h" @@ -99,7 +101,9 @@ static const audio_codec_t_to_codec_id_mapping_t mapping[] = [AC_MULAW] = { .codec_id = AV_CODEC_ID_PCM_MULAW }, [AC_ADPCM_IMA_WAV] = { .codec_id = AV_CODEC_ID_ADPCM_IMA_WAV }, [AC_SPEEX] = { .codec_id = AV_CODEC_ID_SPEEX }, +#if LIBAVCODEC_VERSION_MAJOR >= 55 [AC_OPUS] = { .codec_id = AV_CODEC_ID_OPUS }, +#endif [AC_G722] = { .codec_id = AV_CODEC_ID_ADPCM_G722 }, [AC_G726] = { .codec_id = AV_CODEC_ID_ADPCM_G726 }, }; @@ -240,7 +244,9 @@ static bool reinitialize_coder(struct libavcodec_codec_state *s, struct audio_de s->av_frame->nb_samples = s->codec_ctx->frame_size; s->av_frame->format = s->codec_ctx->sample_fmt; +#if LIBAVCODEC_VERSION_MAJOR >= 55 s->av_frame->channel_layout = AV_CH_LAYOUT_MONO; +#endif int channels = 1; /* the codec gives us the frame size, in samples, @@ -432,7 +438,11 @@ static void libavcodec_done(void *state) free(s->tmp.data); av_free_packet(&s->pkt); av_freep(&s->samples); +#if LIBAVCODEC_VERSION_MAJOR >= 55 avcodec_free_frame(&s->av_frame); +#else + av_free(s->av_frame); +#endif free(s); }