tagging stuff and build fixes. In detail:

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. :)
This commit is contained in:
Benjamin Otte 2003-11-24 04:08:47 +00:00
parent 0174ba67a7
commit 803ff8f49c
9 changed files with 226 additions and 51 deletions

View 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

View 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 \

1
ext/smoothwave/.gitignore vendored Normal file
View file

@ -0,0 +1 @@
demo-osssrc

View file

@ -25,43 +25,6 @@ patches:
SUBDIRS =
EXTRA_DIST = \
$(PATCHES) \
Tag \
ffmpeg/CREDITS \
ffmpeg/INSTALL \
ffmpeg/README \
ffmpeg/config.mak \
ffmpeg/configure \
ffmpeg/cygwin_inttypes.h \
ffmpeg/ffserver.h \
ffmpeg/ffmpeg.c \
ffmpeg/ffserver.c \
ffmpeg/berrno.h \
ffmpeg/config.h \
ffmpeg/libavcodec/alpha/*.c \
ffmpeg/libavcodec/alpha/*.h \
ffmpeg/libavcodec/alpha/*.S \
ffmpeg/libavcodec/armv4l/*.c \
ffmpeg/libavcodec/armv4l/*.S \
ffmpeg/libavcodec/i386/*.c \
ffmpeg/libavcodec/i386/*.h \
ffmpeg/libavcodec/liba52/*.c \
ffmpeg/libavcodec/liba52/*.h \
ffmpeg/libavcodec/ppc/*.c \
ffmpeg/libavcodec/ppc/*.h \
ffmpeg/libavcodec/ps2/*.c \
ffmpeg/libavcodec/ps2/*.h \
ffmpeg/libavcodec/*.c \
ffmpeg/libavcodec/*.h \
ffmpeg/libavformat/*.c \
ffmpeg/libavformat/*.h \
ffmpeg/tests/*.c \
ffmpeg/tests/*.ref \
ffmpeg/tests/*.sh \
ffmpeg/tests/test.conf \
ffmpeg/vhook/*.c
checkout:
cvs -d:pserver:anonymous@mplayerhq.hu:/cvsroot/ffmpeg co ffmpeg
@ -164,9 +127,7 @@ libavformat_la_CFLAGS = $(defs) -Wall -I$(srcdir) -I$(srcdir)/ffmpeg \
-I$(top_srcdir)/gst-libs/ext/linux/ -DHAVE_AV_CONFIG_H \
-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE
if HAVE_CPU_I386
sources_i386 = \
files_i386 = \
ffmpeg/libavcodec/i386/cputest.c \
ffmpeg/libavcodec/i386/dsputil_mmx.c \
ffmpeg/libavcodec/i386/fdct_mmx.c \
@ -175,12 +136,13 @@ sources_i386 = \
ffmpeg/libavcodec/i386/motion_est_mmx.c \
ffmpeg/libavcodec/i386/mpegvideo_mmx.c \
ffmpeg/libavcodec/i386/simple_idct_mmx.c
if HAVE_CPU_I386
sources_i386 = $(files_i386)
else
sources_i386 =
endif
if HAVE_CPU_PPC
sources_powerpc = \
files_powerpc = \
ffmpeg/libavcodec/ppc/dsputil_ppc.c \
ffmpeg/libavcodec/ppc/mpegvideo_ppc.c
# disabled Altivec support for now until someone shows up that make them compile conditionally
@ -189,6 +151,8 @@ sources_powerpc = \
# ffmpeg/libavcodec/ppc/gmc_altivec.c \
# ffmpeg/libavcodec/ppc/idct_altivec.c \
# ffmpeg/libavcodec/ppc/mpegvideo_altivec.c
if HAVE_CPU_PPC
sources_powerpc = $(files_powerpc)
else
sources_powerpc =
endif
@ -270,3 +234,86 @@ libavcodec_la_SOURCES = \
$(sources_i386) \
$(sources_powerpc)
more_libavcodec_files = \
ffmpeg/libavcodec/mdec.c \
ffmpeg/libavcodec/motion_est_template.c \
ffmpeg/libavcodec/svq3.c \
ffmpeg/libavcodec/wmv2.c
all_headers = \
ffmpeg/berrno.h \
ffmpeg/cmdutils.h \
ffmpeg/cygwin_inttypes.h \
ffmpeg/ffserver.h \
ffmpeg/xvmc_render.h \
ffmpeg/libavcodec/ac3.h \
ffmpeg/libavcodec/ac3tab.h \
ffmpeg/libavcodec/avcodec.h \
ffmpeg/libavcodec/bswap.h \
ffmpeg/libavcodec/cabac.h \
ffmpeg/libavcodec/common.h \
ffmpeg/libavcodec/dsputil.h \
ffmpeg/libavcodec/dvdata.h \
ffmpeg/libavcodec/faandct.h \
ffmpeg/libavcodec/fastmemcpy.h \
ffmpeg/libavcodec/golomb.h \
ffmpeg/libavcodec/h263data.h \
ffmpeg/libavcodec/h264data.h \
ffmpeg/libavcodec/imgconvert_template.h \
ffmpeg/libavcodec/indeo3data.h \
ffmpeg/libavcodec/mpeg12data.h \
ffmpeg/libavcodec/mpeg4data.h \
ffmpeg/libavcodec/mpegaudio.h \
ffmpeg/libavcodec/mpegaudiodectab.h \
ffmpeg/libavcodec/mpegaudiotab.h \
ffmpeg/libavcodec/mpegvideo.h \
ffmpeg/libavcodec/msmpeg4data.h \
ffmpeg/libavcodec/oggvorbis.h \
ffmpeg/libavcodec/ra144.h \
ffmpeg/libavcodec/ra288.h \
ffmpeg/libavcodec/rational.h \
ffmpeg/libavcodec/simple_idct.h \
ffmpeg/libavcodec/sp5x.h \
ffmpeg/libavcodec/svq1_cb.h \
ffmpeg/libavcodec/svq1_vlc.h \
ffmpeg/libavcodec/vp3data.h \
ffmpeg/libavcodec/wmadata.h \
ffmpeg/libavcodec/i386/dsputil_mmx_avg.h \
ffmpeg/libavcodec/i386/dsputil_mmx_rnd.h \
ffmpeg/libavcodec/i386/mmx.h \
ffmpeg/libavcodec/ppc/dsputil_altivec.h \
ffmpeg/libavcodec/ppc/dsputil_ppc.h \
ffmpeg/libavcodec/ppc/gcc_fixes.h \
ffmpeg/libavformat/avformat.h \
ffmpeg/libavformat/avi.h \
ffmpeg/libavformat/avio.h \
ffmpeg/libavformat/barpainet.h \
ffmpeg/libavformat/dv.h \
ffmpeg/libavformat/dv1394.h \
ffmpeg/libavformat/framehook.h \
ffmpeg/libavformat/mpegts.h \
ffmpeg/libavformat/os_support.h \
ffmpeg/libavformat/rtp.h \
ffmpeg/libavformat/rtsp.h \
ffmpeg/libavformat/rtspcodes.h
DISTCLEANFILES = \
ffmpeg/config.h \
ffmpeg/config.mak
EXTRA_DIST = \
$(PATCHES) \
Tag \
ffmpeg/CREDITS \
ffmpeg/INSTALL \
ffmpeg/README \
ffmpeg/configure \
ffmpeg/ffmpeg.c \
ffmpeg/ffserver.c \
$(libavcodec_la_SOURCES) \
$(more_libavcodec_files) \
$(libavformat_la_SOURCES) \
$(files_i386) \
$(files_powerpc) \
$(all_headers)

1
gst/smoothwave/.gitignore vendored Normal file
View file

@ -0,0 +1 @@
demo-osssrc

View 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

102
m4/ogg.m4 Normal file
View file

@ -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
])

View file

@ -42,7 +42,7 @@ pkgconfig_DATA = \
gstreamer-play-@GST_MAJORMINOR@.pc \
gstreamer-interfaces-@GST_MAJORMINOR@.pc
CLEANFILES = $(pcfiles) $(pcfiles_uninstalled)
CLEANFILES = $(pcfiles) $(pcfiles_uninstalled) $(GCONF_PC) $(GCONF_PC_UNINSTALLED)
EXTRA_DIST= \
gstreamer-libs.pc.in gstreamer-libs-uninstalled.pc.in \
gstreamer-play.pc.in gstreamer-play-uninstalled.pc.in

View file

@ -13,6 +13,9 @@ built_headers = dxr3marshal.h
noinst_HEADERS = dxr3videosink.h dxr3audiosink.h dxr3spusink.h \
dxr3common.h ac3_padder.h
EXTRA_DIST = dxr3marshal.list
dxr3marshal.h: dxr3marshal.list
glib-genmarshal --header --prefix=dxr3_marshal $^ > dxr3marshal.h.tmp
mv dxr3marshal.h.tmp dxr3marshal.h