flac debug cleanup m4 for ffmpeg

Original commit message from CVS:
flac debug cleanup
m4 for ffmpeg
This commit is contained in:
Thomas Vander Stichele 2002-11-26 14:51:34 +00:00
parent d9c6d0dde9
commit dbb97e6823
6 changed files with 123 additions and 12 deletions

2
common

@ -1 +1 @@
Subproject commit 1ca7d9a20180cab830f4383cde5ba932338e50b1
Subproject commit f2d9b99515c73da09bfe307d273d320f79a226da

View file

@ -504,6 +504,12 @@ GST_CHECK_FEATURE(FLAC, [FLAC lossless audio], flacenc flacdec, [
AC_SUBST(FLAC_LIBS)
])
dnl *** FFMPEG ***
translit(dnm, m, l) AM_CONDITIONAL(USE_FFMPEG, true)
GST_CHECK_FEATURE(FFMPEG, [ffmpeg plug-ins], ffmpeg, [
AM_PATH_FFMPEG(0.4.6, HAVE_FFMPEG=yes, HAVE_FFMPEG=no)
])
dnl *** Gnome VFS ***
translit(dnm, m, l) AM_CONDITIONAL(USE_GNOME_VFS, true)
GST_CHECK_FEATURE(GNOME_VFS, [Gnome VFS], gnomevfssrc, [

View file

@ -76,6 +76,12 @@ else
GSM_DIR=
endif
if USE_FFMPEG
FFMPEG_DIR=ffmpeg
else
FFMPEG_DIR=
endif
if USE_FLAC
FLAC_DIR=flac
else
@ -142,12 +148,6 @@ else
LIBFAME_DIR=
endif
if USE_LIBPNG
LIBPNG_DIR=libpng
else
LIBPNG_DIR=
endif
if USE_MAD
MAD_DIR=mad
else
@ -242,7 +242,7 @@ SUBDIRS=$(A52DEC_DIR) $(AALIB_DIR) $(ALSA_DIR) \
$(ARTS_DIR) $(ARTSC_DIR) $(AUDIOFILE_DIR) \
$(AVIFILE_DIR) $(CDPARANOIA_DIR) \
$(DVDREAD_DIR) $(DVDNAV_DIR) $(ESD_DIR) \
$(FLAC_DIR) $(GNOMEVFS_DIR) $(GSM_DIR) \
$(FFMPEG_DIR) $(FLAC_DIR) $(GNOMEVFS_DIR) $(GSM_DIR) \
$(HERMES_DIR) $(HTTP_DIR) $(JACK_DIR) $(JPEG_DIR) \
$(LADSPA_DIR) $(LAME_DIR) $(LCS_DIR) $(LIBDV_DIR) $(LIBFAME_DIR) \
$(MAD_DIR) $(MIKMOD_DIR) $(MJPEGTOOLS_DIR) $(MPEG2DEC_DIR) \

View file

@ -433,9 +433,11 @@ gst_flacdec_loop (GstElement *element)
flacdec = GST_FLACDEC (element);
GST_DEBUG (GST_CAT_PLUGIN_INFO, "flacdec: entering loop");
if (flacdec->init) {
GST_DEBUG (GST_CAT_PLUGIN_INFO, "flacdec: initializing decoder");
FLAC__seekable_stream_decoder_init (flacdec->decoder);
//FLAC__seekable_stream_decoder_process_metadata (flacdec->decoder);
/* FLAC__seekable_stream_decoder_process_metadata (flacdec->decoder); */
flacdec->init = FALSE;
}
@ -455,19 +457,23 @@ gst_flacdec_loop (GstElement *element)
flacdec->seek_pending = FALSE;
}
GST_DEBUG (GST_CAT_PLUGIN_INFO, "flacdec: processing single");
res = FLAC__seekable_stream_decoder_process_single (flacdec->decoder);
GST_DEBUG (GST_CAT_PLUGIN_INFO, "flacdec: checking for EOS");
if (FLAC__seekable_stream_decoder_get_state (flacdec->decoder) ==
FLAC__SEEKABLE_STREAM_DECODER_END_OF_STREAM)
{
GstEvent *event;
GST_DEBUG (GST_CAT_PLUGIN_INFO, "flacdec: sending EOS event");
FLAC__seekable_stream_decoder_finish(flacdec->decoder);
flacdec->init = TRUE;
event = gst_event_new(GST_EVENT_EOS);
event = gst_event_new (GST_EVENT_EOS);
gst_pad_push (flacdec->srcpad, GST_BUFFER (event));
gst_element_set_eos (element);
}
GST_DEBUG (GST_CAT_PLUGIN_INFO, "flacdec: _loop end");
}
GST_FORMATS_FUNCTION (gst_flacdec_get_src_formats,

99
m4/as-ffmpeg.m4 Normal file
View file

@ -0,0 +1,99 @@
# CFLAGS and library paths for FFMPEG
# taken from Autostar Sandbox, http://autostars.sourceforge.net/
dnl Usage:
dnl AM_PATH_FFMPEG([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
dnl FIXME: version checking does not work currently
dnl
dnl Example:
dnl AM_PATH_FFMPEG(0.4.6, , AC_MSG_ERROR([*** FFMPEG >= 0.4.6 not installed))
dnl
dnl Defines FFMPEG_LIBS
dnl FIXME: should define FFMPEG_VERSION
dnl
AC_DEFUN(AM_PATH_FFMPEG,
[
dnl allow for specification of a source path (for uninstalled)
AC_ARG_WITH(ffmpeg-source,
AC_HELP_STRING([--with-ffmpeg-source=DIR],
[Directory where FFmpeg source is (optional)]),
ffmpeg_source="$withval", ffmpeg_source="")
dnl save CFLAGS and LIBS here
CFLAGS_save=$CFLAGS
LIBS_save=$LIBS
if test "x$ffmpeg_source" != "x"; then
dnl uninstalled FFmpeg copy
AC_MSG_NOTICE([Looking for FFmpeg source in $ffmpeg_source])
CFLAGS="-I$ffmpeg_source/libav -I$ffmpeg_source/libavcodec"
LIBS="-L$ffmpeg_source/libav -L$ffmpeg_source/libavcodec"
AC_DEFINE_UNQUOTED(HAVE_FFMPEG_UNINSTALLED, 1,
[defined if we compile against uninstalled FFmpeg])
FFMPEG_COMMON_INCLUDE="#include <common.h>"
else
FFMPEG_COMMON_INCLUDE="#include <ffmpeg/common.h>"
fi
dnl check for libavcodec
AC_CHECK_LIB(avcodec, avcodec_init, HAVE_FFMPEG=yes, HAVE_FFMPEG=no)
dnl check for avcodec.h and avformat.h
if test "x$ffmpeg_source" != "x"; then
dnl uninstalled
AC_CHECK_HEADER(avcodec.h, , HAVE_FFMPEG=no, [/* only compile */])
AC_CHECK_HEADER(avformat.h, , HAVE_FFMPEG=no, [/* only compile */])
else
AC_CHECK_HEADER(ffmpeg/avcodec.h, , HAVE_FFMPEG=no)
AC_CHECK_HEADER(ffmpeg/avformat.h, , HAVE_FFMPEG=no)
fi
dnl now check if it's sufficiently new
AC_LANG_SAVE()
AC_LANG_C()
dnl FIXME: we use strcmp, which we know is going to break if ffmpeg ever uses
dnl two digits for any of their version numbers. It makes the test so much
dnl easier though so let's ignore that
AC_TRY_RUN([
$FFMPEG_COMMON_INCLUDE
#include <stdio.h>
#include <string.h>
int
main ()
{
if (strcmp (FFMPEG_VERSION, "$1") == -1)
{
fprintf (stderr,
"ERROR: your copy of ffmpeg is too old (%s)\n", FFMPEG_VERSION);
return 1;
}
else
return 0;
}
], , HAVE_FFMPEG=no)
dnl now do the actual "do we have it ?" test
if test "x$HAVE_FFMPEG" = "xyes"; then
FFMPEG_LIBS="$LIBS -lavcodec -lavformat"
FFMPEG_CFLAGS="$CFLAGS"
AC_MSG_NOTICE(we have ffmpeg)
dnl execute what we have to because it's found
ifelse([$2], , :, [$2])
else
FFMPEG_LIBS=""
FFMPEG_CFLAGS=""
dnl execute what we have to because it's not found
ifelse([$3], , :, [$3])
fi
dnl make variables available
AC_SUBST(FFMPEG_LIBS)
AC_SUBST(FFMPEG_CFLAGS)
AC_SUBST(HAVE_FFMPEG)
AC_LANG_RESTORE()
CFLAGS=$CFLAGS_save
LIBS=$LIBS_save
])

View file

@ -69,13 +69,13 @@ sub playfile($$)
if ($cfg{VISUALIZER} && ($pipe = $pipes{"vis." . $ext}))
{
$command = "gst-launch filesrc location=\"$file\" ! $pipe";
print "Running $command\n";
print "Running command-line\n$command\n\n";
system ("PATH=\$PATH:".$cfg{CVS_PATH}."/gstreamer/tools $command");
}
elsif ($pipe = $pipes{$ext})
{
$command = "gst-launch filesrc location=\"$file\" ! $pipe";
print "Running $command\n";
print "Running command-line\n$command\n\n";
system ("PATH=\$PATH:".$cfg{CVS_PATH}."/gstreamer/tools $command");
}
else