Loosen dependency on libavcodec

This commit is contained in:
Alexander Kojevnikov 2010-07-24 13:21:25 +10:00
parent a294664a14
commit 3eeea1ae47
3 changed files with 11 additions and 2 deletions

5
NEWS
View File

@ -50,4 +50,7 @@ Dependencies
------------------------------------------------------------------------------
* GTK+ >= 2.18
* FFmpeg >= r18351
* FFmpeg libraries:
* libavcodec
* libavformat
* libavutil

View File

@ -24,7 +24,7 @@ AM_PROG_VALAC([0.7.0])
AC_PROG_INSTALL
AC_PROG_INTLTOOL([0.35])
pkg_modules="gtk+-2.0 >= 2.18.0 libavformat libavcodec >= 52.23.0 libavutil"
pkg_modules="gtk+-2.0 >= 2.18.0 libavformat libavcodec libavutil"
PKG_CHECK_MODULES(SPEK, [$pkg_modules])
AC_SUBST(SPEK_CFLAGS)
AC_SUBST(SPEK_LIBS)

View File

@ -141,8 +141,14 @@ gint spek_audio_read (SpekAudioContext *cx) {
for (;;) {
while (cx->packet->size > 0) {
buffer_size = cx->buffer_size;
#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT (52, 23, 0)
len = avcodec_decode_audio3 (
cx->codec_context, (int16_t *) cx->buffer, &buffer_size, cx->packet);
#else
len = avcodec_decode_audio2 (
cx->codec_context, (int16_t *) cx->buffer, &buffer_size,
cx->packet->data, cx->packet->size);
#endif
if (len < 0) {
/* Error, skip the frame. */
cx->packet->size = 0;