This affects many formats, so I feel it's important. There are two
relevant causes:
1) The plugin isn't built due to a problem with libavcodec detection
code. Some parts were split into libavcore and then merged back into
libavutil. The configure script expects to find libavcore.
2) AVMEDIA_TYPE_AUDIO was removed, which would cause a problem if you
try to build ffaudio.

I'm attaching a patch which fixes this. It is based on bits of
audacious-plugins-2.5.4. For 1) the change is made to configure.ac, so
autoconf must be rerun to update configure. This is not done
automatically by the build process. There are some warnings about
ffaudio calling depreciated functions, but the resulting ffaudio
plugin works.
diff -ur audacious-plugins-2.4.4/configure.ac audacious-plugins-2.4.4-fixed/configure.ac
--- audacious-plugins-2.4.4/configure.ac	2011-02-22 12:29:46.000000000 -0500
+++ audacious-plugins-2.4.4-fixed/configure.ac	2012-01-16 00:16:43.062542098 -0500
@@ -783,12 +783,13 @@
 
 dnl In 2010, some libavcodec functions were moved into a new library called
 dnl libavcore, making our checks here a bit complex.
+dnl Later, in Feb, 2011 they got merged back into libavcodec.
 
 if test $enable_ffaudio = yes ; then
-    PKG_CHECK_MODULES([NEED_AVCORE], [libavcodec >= 52.94.3],
-     [have_new_ffmpeg=yes], [have_new_ffmpeg=no])
+    PKG_CHECK_MODULES([NEED_AVCORE], [libavcodec >= 52.94.3 libavcodec <= 52.113.1],
+     [have_split_ffmpeg=yes], [have_split_ffmpeg=no])
 
-    if test $have_new_ffmpeg = yes ; then
+    if test $have_split_ffmpeg = yes ; then
         PKG_CHECK_MODULES([FFMPEG],
          [libavcodec >= 52.20.0 libavcore >= 0.12.0 libavformat >= 52.31.0 libavutil >= 49.15.0],
          [have_ffaudio=yes], [have_ffaudio=no])
diff -ur audacious-plugins-2.4.4/src/ffaudio/ffaudio-core.c audacious-plugins-2.4.4-fixed/src/ffaudio/ffaudio-core.c
--- audacious-plugins-2.4.4/src/ffaudio/ffaudio-core.c	2011-02-22 12:29:46.000000000 -0500
+++ audacious-plugins-2.4.4-fixed/src/ffaudio/ffaudio-core.c	2012-01-16 00:14:44.044665933 -0500
@@ -112,7 +112,11 @@
     for (i = 0; i < ic->nb_streams; i++)
     {
         c = ic->streams[i]->codec;
+#if CHECK_LIBAVCODEC_VERSION (52, 64, 0)
+        if (c->codec_type == AVMEDIA_TYPE_AUDIO)
+#else
         if (c->codec_type == CODEC_TYPE_AUDIO)
+#endif
         {
             av_find_stream_info(ic);
             codec = avcodec_find_decoder(c->codec_id);
@@ -247,7 +251,11 @@
     {
         s = ic->streams[i];
         c = s->codec;
+#if CHECK_LIBAVCODEC_VERSION (52, 64, 0)
+        if (c->codec_type == AVMEDIA_TYPE_AUDIO)
+#else
         if (c->codec_type == CODEC_TYPE_AUDIO)
+#endif
         {
             av_find_stream_info(ic);
             codec = avcodec_find_decoder(c->codec_id);
@@ -323,7 +331,11 @@
     {
         s = ic->streams[i];
         c = s->codec;
+#if CHECK_LIBAVCODEC_VERSION (52, 64, 0)
+        if (c->codec_type == AVMEDIA_TYPE_AUDIO)
+#else
         if (c->codec_type == CODEC_TYPE_AUDIO)
+#endif
         {
             av_find_stream_info(ic);
             codec = avcodec_find_decoder(c->codec_id);
_______________________________________________
pkg-multimedia-maintainers mailing list
pkg-multimedia-maintainers@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-multimedia-maintainers

Reply via email to