mirror of
https://github.com/outbackdingo/UltraGrid.git
synced 2026-03-21 23:40:26 +00:00
Audio: support for libavcodec < 55
This commit is contained in:
14
configure.ac
14
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
|
||||
|
||||
@@ -55,7 +55,9 @@
|
||||
#include "audio/codec/libavcodec.h"
|
||||
|
||||
#include <libavcodec/avcodec.h>
|
||||
#if LIBAVCODEC_VERSION_MAJOR >= 55
|
||||
#include <libavutil/channel_layout.h>
|
||||
#endif
|
||||
#include <libavutil/mem.h>
|
||||
|
||||
#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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user