tagging stuff and build fixes. In detail:
authorBenjamin Otte <otte@gnome.org>
Mon, 24 Nov 2003 04:08:47 +0000 (04:08 +0000)
committerBenjamin Otte <otte@gnome.org>
Mon, 24 Nov 2003 04:08:47 +0000 (04:08 +0000)
Original commit message from CVS:
tagging stuff and build fixes. In detail:
- make gdk-pixbuf loader work when distchecking
- fix invalid syntax in ffmpeg Makefile. wildcards for EXTRA_DIST are not allowed. This broke builds where distdir != srcdir
- fix ffmpeg cvs grabbing when srcdir != distdir
- new id3tag plugin for id3 tag reading/writing (uses mad's libid3tag)
- mad and libid3tag require mad/libid3tag v0.15. Fixed configure to require that
- added ogg demuxer in ext/ogg. The demuxer does not handle events yet. Especially getting seeking right will require some effort or code copying from libvorbis.
- added raw vorbis detection to typefinding. oggdemux requires a typefind function to detect its contents.
- tags plugin in gst/tags. Provides API in <gst/tags/gsttagediting.h>. API includes tag matching GStreamer <=> ID3 and GStreamer <=> vorbis and writing/reading vorbiscomments or ID3v1 tags. Also included is a simple vorbiscomment reader/writer. Writing will not really work though until someone writes oggmux.
- various build fixes. Mostly missing (DIST)CLEANFILES.
- vorbisenc handles tag writing.

Now it's YOUR turn to fix and write more plugins that handle writing/reading of tags. :)

configure.ac
ext/Makefile.am
ext/gdk_pixbuf/Makefile.am
gst/level/.gitignore
gst/level/Makefile.am
gst/smoothwave/.gitignore [new file with mode: 0644]
m4/as-slurp-ffmpeg.m4
m4/ogg.m4 [new file with mode: 0644]

index b1070ff..6889940 100644 (file)
@@ -12,7 +12,7 @@ AM_MAINTAINER_MODE
 
 dnl when going to/from release please set the nano (fourth number) right !
 dnl releases only do Wall, cvs and prerelease does Werror too
-AS_VERSION(gst-plugins, GST_PLUGINS_VERSION, 0, 7, 1, 1, GST_CVS="no", GST_CVS="yes")
+AS_VERSION(gst-plugins, GST_PLUGINS_VERSION, 0, 7, 2, 1, GST_CVS="no", GST_CVS="yes")
 
 dnl add a suffix to apps
 if test x$program_suffix = xNONE ; then
@@ -189,7 +189,6 @@ fi
 
 AC_SUBST(GST_CONTROL_LIBS)
 
-
 dnl Set up conditionals for (target) architecture:
 dnl ==============================================
 
@@ -241,6 +240,8 @@ if test "x$HAVE_GTK_22" = "xyes"; then
   AC_SUBST(GTK_VERSION)
   GTK_PREFIX=`$PKG_CONFIG --variable=prefix gdk-pixbuf-2.0`
   GTK_SYSCONFDIR=`$PKG_CONFIG --variable=prefix gdk-pixbuf-2.0`
+  GDK_PIXBUF_LIBDIR=`$PKG_CONFIG --variable=libdir gdk-pixbuf-2.0`
+  GDK_PIXBUF_PREFIXDIR=`$PKG_CONFIG --variable=prefix gdk-pixbuf-2.0`
   AC_SUBST(GTK_BASE_DIR)
 else
   PKG_CHECK_MODULES(GTK2, gtk+-2.0, HAVE_GTK_20=yes, HAVE_GTK_20=no)
@@ -255,7 +256,7 @@ AC_SUBST(GTK_CFLAGS)
 AC_SUBST(HAVE_GTK)
 AM_CONDITIONAL(HAVE_GDK_LOADERS, test "x$HAVE_GTK_22" = "xyes")
 
-GDK_PIXBUF_LOADER_DIR="\$(libdir)/gtk-2.0/\$(GTK_VERSION)/\loaders"
+GDK_PIXBUF_LOADER_DIR="$GDK_PIXBUF_LIBDIR/gtk-2.0/\$(GTK_VERSION)/loaders"
 AC_ARG_WITH(gdk-pixbuf-loader-dir, 
    AC_HELP_STRING([--with-gdk-pixbuf-loader-dir],
        [directory to install the gdk_pixbuf loader]),
@@ -265,7 +266,7 @@ AC_ARG_WITH(gdk-pixbuf-loader-dir,
 ])
 AC_SUBST(GDK_PIXBUF_LOADER_DIR)
 
-GDK_PIXBUF_CONFFILE="\$(sysconfdir)/gtk-2.0/gdk-pixbuf.loaders"
+GDK_PIXBUF_CONFFILE="$GDK_PIXBUF_PREFIXDIR/gtk-2.0/gdk-pixbuf.loaders"
 AC_ARG_WITH(gdk-pixbuf-conffile, 
    AC_HELP_STRING([--with-gdk-pixbuf-conffile],
        [path to the gdk_pixbuf config file]),
@@ -334,6 +335,7 @@ GST_PLUGINS_ALL="\
        speed \
        stereo \
        synaesthesia \
+       tags \
        tcp \
        typefind \
        udp \
@@ -970,16 +972,15 @@ dnl FIXME: we could use header checks here as well IMO
 translit(dnm, m, l) AM_CONDITIONAL(USE_MAD, true)
 GST_CHECK_FEATURE(MAD, [mad mp3 decoder], mad, [
   dnl check with pkg-config first
-  PKG_CHECK_MODULES(MAD, mad id3tag, HAVE_MAD="yes", HAVE_MAD="no")
+  PKG_CHECK_MODULES(MAD, mad >= 0.15 id3tag >= 0.15, HAVE_MAD="yes", HAVE_MAD="no")
   if test "x$HAVE_MAD" = "xno"; then
     dnl fall back to oldskool detection
     AC_CHECK_LIB(mad, mad_decoder_finish, HAVE_MAD="yes" MAD_LIBS="-lmad")
     if test "x$HAVE_MAD" = "xyes"; then
-      # installed with mad >= 0.14
       HAVE_MAD="no"
       save_libs=$LIBS
       LIBS="-lz"
-      AC_CHECK_LIB(id3tag, id3_tag_query, HAVE_MAD="yes" MAD_LIBS="$MAD_LIBS -lid3tag")
+      AC_CHECK_LIB(id3tag, id3_tag_options, HAVE_MAD="yes" MAD_LIBS="-lmad -lid3tag -lz")
       LIBS=$save_LIBS
     fi
   fi    
@@ -1096,6 +1097,13 @@ GST_CHECK_FEATURE(TARKIN, [tarkinenc tarkindec], tarkin, [
   HAVE_TARKIN="yes"
 ])
 
+dnl *** ogg ***
+translit(dnm, m, l) AM_CONDITIONAL(USE_OGG, true)
+GST_CHECK_FEATURE(OGG, [ogg de/encoder], oggdemux oggmux, [
+  XIPH_PATH_OGG(HAVE_OGG=yes, HAVE_OGG=no)
+  AS_SCRUB_INCLUDE(OGG_CFLAGS)
+])
+
 dnl *** vorbis ***
 dnl AM_PATH_VORBIS only takes two options
 translit(dnm, m, l) AM_CONDITIONAL(USE_VORBIS, true)
@@ -1365,6 +1373,7 @@ gst/spectrum/Makefile
 gst/speed/Makefile
 gst/stereo/Makefile
 gst/synaesthesia/Makefile
+gst/tags/Makefile
 gst/tcp/Makefile
 gst/typefind/Makefile
 gst/udp/Makefile
@@ -1427,6 +1436,7 @@ ext/mas/Makefile
 ext/mikmod/Makefile
 ext/mpeg2dec/Makefile
 ext/mplex/Makefile
+ext/ogg/Makefile
 ext/pango/Makefile
 ext/raw1394/Makefile
 ext/sdl/Makefile
index d70a37e..a26660d 100644 (file)
@@ -196,6 +196,12 @@ else
 MPLEX_DIR=
 endif
 
+if USE_OGG
+OGG_DIR=ogg
+else
+OGG_DIR=
+endif
+
 if USE_PANGO
 PANGO_DIR=pango
 else
@@ -313,6 +319,7 @@ SUBDIRS=\
        $(MIKMOD_DIR) \
        $(MPEG2DEC_DIR) \
        $(MPLEX_DIR) \
+       $(OGG_DIR) \
        $(PANGO_DIR) \
        $(RAW1394_DIR) \
        $(SDL_DIR) \
@@ -361,6 +368,7 @@ DIST_SUBDIRS=\
        mikmod \
        mpeg2dec \
        mplex \
+       ogg \
        pango \
        raw1394 \
        sdl \
index b017fa5..82e0d3e 100644 (file)
@@ -8,7 +8,7 @@ libgstgdkpixbuf_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
 
 
 if HAVE_GDK_LOADERS
-loaderdir = $(GDK_PIXBUF_LOADER_DIR)
+loaderdir = $(DESTDIR)$(GDK_PIXBUF_LOADER_DIR)
 loader_LTLIBRARIES = gst_loader.la
 
 gst_loader_la_CFLAGS = $(GST_CFLAGS) $(GTK_CFLAGS) -DGDK_PIXBUF_ENABLE_BACKEND
@@ -20,11 +20,11 @@ gst_loader_la_LIBADD = $(GTK_LIBS) $(GST_LIBS)
 
 gst_loader_headers = gstgdkanimation.h
 
-#install-data-hook:
-#      if test -z "$(DESTDIR)"  ; then
-#        $(mkinstalldirs) $(DESTDIR)$(GDK_PIXBUF_SYSCONFDIR)/gtk-2.0 ; \
-#        $(QUERYLOADERS) > $(DESTDIR)$(GDK_PIXBUF_SYSCONFDIR)/gtk-2.0/gdk-pixbuf.loaders ; \
-#      fi
+install-data-hook:
+       if test -z "$(DESTDIR)"  ; then \
+         $(mkinstalldirs) $(DESTDIR)$(GDK_PIXBUF_SYSCONFDIR)/gtk-2.0 ; \
+         $(QUERYLOADERS) > $(DESTDIR)$(GDK_PIXBUF_SYSCONFDIR)/gtk-2.0/gdk-pixbuf.loaders ; \
+       fi
 
 else
 gst_loader_headers =
index 5ca3d25..18807ab 100644 (file)
@@ -1 +1,5 @@
-gstlevel-marshal.*
+gstlevel-marshal.h
+gstlevel-marshal.c
+gstlevel-marshal.list
+demo
+plot
index 8bb3c4d..21f9099 100644 (file)
@@ -23,6 +23,10 @@ EXTRA_libgstlevel_la_SOURCES = gstlevel-marshal.list
 BUILT_SOURCES = \
        gstlevel-marshal.c \
        gstlevel-marshal.h
+CLEANFILES = \
+       gstlevel-marshal.c \
+       gstlevel-marshal.h
+                            
 
 gstlevel-marshal.h: gstlevel-marshal.list
        glib-genmarshal --header --prefix=gstlevel_cclosure_marshal $(srcdir)/gstlevel-marshal.list > gstlevel-marshal.h.tmp
diff --git a/gst/smoothwave/.gitignore b/gst/smoothwave/.gitignore
new file mode 100644 (file)
index 0000000..2c411dd
--- /dev/null
@@ -0,0 +1 @@
+demo-osssrc
index a339842..0df909c 100644 (file)
@@ -22,7 +22,10 @@ AC_DEFUN(AS_SLURP_FFMPEG,
   DIRECTORY=`pwd`
   # get/update cvs
   if test ! -d $1; then mkdir -p $1; fi
-  cd $1
+  dnl we need to check $srcdir/$1 or it will always checkout ffmpeg even if it is there
+  dnl at least when top_srcdir != top_builddir.
+  dnl FIXME: unfortunately this makes the checkout go into top_srcdir
+  cd $srcdir/$1
 
   if test ! -e ffmpeg/README; then
     # check out cvs code
diff --git a/m4/ogg.m4 b/m4/ogg.m4
new file mode 100644 (file)
index 0000000..c73bab5
--- /dev/null
+++ b/m4/ogg.m4
@@ -0,0 +1,102 @@
+# Configure paths for libogg
+# Jack Moffitt <jack@icecast.org> 10-21-2000
+# Shamelessly stolen from Owen Taylor and Manish Singh
+
+dnl XIPH_PATH_OGG([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
+dnl Test for libogg, and define OGG_CFLAGS and OGG_LIBS
+dnl
+AC_DEFUN(XIPH_PATH_OGG,
+[dnl 
+dnl Get the cflags and libraries
+dnl
+AC_ARG_WITH(ogg,[  --with-ogg=PFX   Prefix where libogg is installed (optional)], ogg_prefix="$withval", ogg_prefix="")
+AC_ARG_WITH(ogg-libraries,[  --with-ogg-libraries=DIR   Directory where libogg library is installed (optional)], ogg_libraries="$withval", ogg_libraries="")
+AC_ARG_WITH(ogg-includes,[  --with-ogg-includes=DIR   Directory where libogg header files are installed (optional)], ogg_includes="$withval", ogg_includes="")
+AC_ARG_ENABLE(oggtest, [  --disable-oggtest       Do not try to compile and run a test Ogg program],, enable_oggtest=yes)
+
+  if test "x$ogg_libraries" != "x" ; then
+    OGG_LIBS="-L$ogg_libraries"
+  elif test "x$ogg_prefix" != "x" ; then
+    OGG_LIBS="-L$ogg_prefix/lib"
+  elif test "x$prefix" != "xNONE" ; then
+    OGG_LIBS="-L$prefix/lib"
+  fi
+
+  OGG_LIBS="$OGG_LIBS -logg"
+
+  if test "x$ogg_includes" != "x" ; then
+    OGG_CFLAGS="-I$ogg_includes"
+  elif test "x$ogg_prefix" != "x" ; then
+    OGG_CFLAGS="-I$ogg_prefix/include"
+  elif test "$prefix" != "xNONE"; then
+    OGG_CFLAGS="-I$prefix/include"
+  fi
+
+  AC_MSG_CHECKING(for Ogg)
+  no_ogg=""
+
+
+  if test "x$enable_oggtest" = "xyes" ; then
+    ac_save_CFLAGS="$CFLAGS"
+    ac_save_LIBS="$LIBS"
+    CFLAGS="$CFLAGS $OGG_CFLAGS"
+    LIBS="$LIBS $OGG_LIBS"
+dnl
+dnl Now check if the installed Ogg is sufficiently new.
+dnl
+      rm -f conf.oggtest
+      AC_TRY_RUN([
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <ogg/ogg.h>
+
+int main ()
+{
+  system("touch conf.oggtest");
+  return 0;
+}
+
+],, no_ogg=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
+       CFLAGS="$ac_save_CFLAGS"
+       LIBS="$ac_save_LIBS"
+  fi
+
+  if test "x$no_ogg" = "x" ; then
+     AC_MSG_RESULT(yes)
+     ifelse([$1], , :, [$1])     
+  else
+     AC_MSG_RESULT(no)
+     if test -f conf.oggtest ; then
+       :
+     else
+       echo "*** Could not run Ogg test program, checking why..."
+       CFLAGS="$CFLAGS $OGG_CFLAGS"
+       LIBS="$LIBS $OGG_LIBS"
+       AC_TRY_LINK([
+#include <stdio.h>
+#include <ogg/ogg.h>
+],     [ return 0; ],
+       [ echo "*** The test program compiled, but did not run. This usually means"
+       echo "*** that the run-time linker is not finding Ogg or finding the wrong"
+       echo "*** version of Ogg. If it is not finding Ogg, you'll need to set your"
+       echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
+       echo "*** to the installed location  Also, make sure you have run ldconfig if that"
+       echo "*** is required on your system"
+       echo "***"
+       echo "*** If you have an old version installed, it is best to remove it, although"
+       echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"],
+       [ echo "*** The test program failed to compile or link. See the file config.log for the"
+       echo "*** exact error that occured. This usually means Ogg was incorrectly installed"
+       echo "*** or that you have moved Ogg since it was installed." ])
+       CFLAGS="$ac_save_CFLAGS"
+       LIBS="$ac_save_LIBS"
+     fi
+     OGG_CFLAGS=""
+     OGG_LIBS=""
+     ifelse([$2], , :, [$2])
+  fi
+  AC_SUBST(OGG_CFLAGS)
+  AC_SUBST(OGG_LIBS)
+  rm -f conf.oggtest
+])