diff options
Diffstat (limited to 'abs/extra-testing')
| -rw-r--r-- | abs/extra-testing/vorbis-tools/ChangeLog | 10 | ||||
| -rw-r--r-- | abs/extra-testing/vorbis-tools/PKGBUILD | 25 | ||||
| -rw-r--r-- | abs/extra-testing/vorbis-tools/curl.patch | 10 | ||||
| -rw-r--r-- | abs/extra-testing/vorbis-tools/vorbis-tools-1.1.1-flac_gt_1.1.3_support.patch | 500 | 
4 files changed, 545 insertions, 0 deletions
diff --git a/abs/extra-testing/vorbis-tools/ChangeLog b/abs/extra-testing/vorbis-tools/ChangeLog new file mode 100644 index 0000000..b4f8311 --- /dev/null +++ b/abs/extra-testing/vorbis-tools/ChangeLog @@ -0,0 +1,10 @@ +2008-03-15 Travis Willard <travis@archlinux.org> + +	* 1.2.0-3 +	Removed explicit /usr/man usage + +2008-03-15 Travis Willard <travis@archlinux.org> + +	* 1.2.0-1 +	New upstream release. +	Added ChangeLog diff --git a/abs/extra-testing/vorbis-tools/PKGBUILD b/abs/extra-testing/vorbis-tools/PKGBUILD new file mode 100644 index 0000000..4428e6a --- /dev/null +++ b/abs/extra-testing/vorbis-tools/PKGBUILD @@ -0,0 +1,25 @@ +# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $ +# Maintainer: Travis Willard <travis@archlinux.org> +# Maintainer: dorphell <dorphell@archlinux.org> +# Committer: Judd Vinet <jvinet@zeroflux.org> + +pkgname=vorbis-tools +pkgver=1.2.0 +pkgrel=3 +pkgdesc="Extra tools for Ogg-Vorbis" +arch=(i686 x86_64) +url='http://www.xiph.org/vorbis/' +license=('GPL') +depends=('libao' 'libvorbis' 'curl>=7.16.2' 'flac>=1.1.4') +source=(http://downloads.xiph.org/releases/vorbis/$pkgname-$pkgver.tar.gz) +md5sums=('df976d24e51ef3d87cd462edf747bf9a') + +build()  +{ +  cd $startdir/src/$pkgname-$pkgver +  autoconf +  ./configure --prefix=/usr --without-speex  +  make || return 1 +  make DESTDIR=$startdir/pkg install +} + diff --git a/abs/extra-testing/vorbis-tools/curl.patch b/abs/extra-testing/vorbis-tools/curl.patch new file mode 100644 index 0000000..2aabebe --- /dev/null +++ b/abs/extra-testing/vorbis-tools/curl.patch @@ -0,0 +1,10 @@ +--- vorbis-tools-1.1.1/ogg123/http_transport.c.orig	2006-12-09 16:34:44.000000000 +1100 ++++ vorbis-tools-1.1.1/ogg123/http_transport.c	2006-12-09 16:39:46.000000000 +1100 +@@ -116,7 +116,6 @@ +   if (inputOpts.ProxyTunnel) +     curl_easy_setopt (handle, CURLOPT_HTTPPROXYTUNNEL, inputOpts.ProxyTunnel); +   */ +-  curl_easy_setopt(handle, CURLOPT_MUTE, 1); +   curl_easy_setopt(handle, CURLOPT_ERRORBUFFER, private->error); +   curl_easy_setopt(handle, CURLOPT_PROGRESSFUNCTION, progress_callback); +   curl_easy_setopt(handle, CURLOPT_PROGRESSDATA, private); diff --git a/abs/extra-testing/vorbis-tools/vorbis-tools-1.1.1-flac_gt_1.1.3_support.patch b/abs/extra-testing/vorbis-tools/vorbis-tools-1.1.1-flac_gt_1.1.3_support.patch new file mode 100644 index 0000000..19f8e33 --- /dev/null +++ b/abs/extra-testing/vorbis-tools/vorbis-tools-1.1.1-flac_gt_1.1.3_support.patch @@ -0,0 +1,500 @@ +Add support for libFLAC-1.1.3. Original patch from Josh Coalson: +http://lists.xiph.org/pipermail/vorbis-dev/2006-October/018561.html +This patch updates that to build against svn trunk, and includes +automatic detection of libFLAC version in ./configure. +Tested against libFLAC versions 1.1.2 and 1.1.3.  + +--- old/vorbis-tools-1.1.1/configure.ac	2005-06-27 10:25:51.000000000 +0100 ++++ vorbis-tools-1.1.1/configure.ac	2007-04-07 17:26:15.000000000 +0100 +@@ -169,17 +169,33 @@ +  + FLAC_LIBS="" + if test "x$build_flac" = xyes; then ++ +   AC_CHECK_LIB(m,log,FLAC_LIBS="-lm") +-  AC_CHECK_LIB(FLAC, [FLAC__stream_decoder_process_single], +-    [have_libFLAC=yes; FLAC_LIBS="-lFLAC $FLAC_LIBS"], +-    AC_MSG_WARN([libFLAC missing]) +-    have_libFLAC=no, [$FLAC_LIBS] +-  ) +-  AC_CHECK_LIB(OggFLAC, [OggFLAC__stream_decoder_new], +-    [FLAC_LIBS="-lOggFLAC $FLAC_LIBS $OGG_LIBS"], +-    AC_MSG_WARN([libOggFLAC missing]) +-    have_libFLAC=no, [$FLAC_LIBS $OGG_LIBS] +-  ) ++ ++  dnl First check for libFLAC-1.1.3 or later. As of libFLAC 1.1.3, ++  dnl OggFLAC functionality has been rolled into libFLAC rather ++  dnl than being in a separate libOggFLAC library. ++ ++  AC_CHECK_LIB(FLAC, [FLAC__stream_decoder_init_ogg_stream], ++    have_libFLAC=yes, have_libFLAC=no, [$FLAC_LIBS $OGG_LIBS]) ++ ++  if test "x$have_libFLAC" = xyes; then ++    FLAC_LIBS="-lFLAC $FLAC_LIBS $OGG_LIBS" ++  else ++    dnl Check for libFLAC prior to 1.1.3 ++    AC_CHECK_LIB(FLAC, [FLAC__stream_decoder_process_single], ++      [have_libFLAC=yes; FLAC_LIBS="-lFLAC $FLAC_LIBS"], ++      AC_MSG_WARN([libFLAC missing]) ++      have_libFLAC=no, [$FLAC_LIBS] ++    ) ++ ++    AC_CHECK_LIB(OggFLAC, [OggFLAC__stream_decoder_new], ++      [FLAC_LIBS="-lOggFLAC $FLAC_LIBS $OGG_LIBS"], ++      AC_MSG_WARN([libOggFLAC missing]) ++      have_libFLAC=no, [$FLAC_LIBS $OGG_LIBS] ++    ) ++  fi ++ +   AC_CHECK_HEADER(FLAC/stream_decoder.h,, +     AC_MSG_WARN(libFLAC headers missing) +     have_libFLAC=no,[ ]) +--- old/vorbis-tools-1.1.1/ogg123/flac_format.c	2005-06-03 11:15:09.000000000 +0100 ++++ vorbis-tools-1.1.1/ogg123/flac_format.c	2007-04-07 17:25:14.000000000 +0100 +@@ -20,18 +20,26 @@ + #include <string.h> + #include <sys/types.h> + #include <math.h> +-#include <FLAC/metadata.h> ++#include <FLAC/all.h> + #include <ao/ao.h> + #include "audio.h" + #include "format.h" + #include "i18n.h" ++#if !defined(FLAC_API_VERSION_CURRENT) || (FLAC_API_VERSION_CURRENT < 8) ++#define NEED_EASYFLAC 1 ++#endif ++#if NEED_EASYFLAC + #include "easyflac.h" ++#endif + #include "vorbis_comments.h" +  +-#define DEFAULT_FLAC_FRAME_SIZE 4608 +- + typedef struct { ++#if NEED_EASYFLAC +   EasyFLAC__StreamDecoder *decoder; ++#else ++  FLAC__StreamDecoder *decoder; ++  int is_oggflac; ++#endif +   short channels; +   int rate; +   int bits_per_sample; +@@ -67,10 +75,18 @@ +  +  + /* Private functions declarations */ +-FLAC__StreamDecoderReadStatus easyflac_read_callback(const EasyFLAC__StreamDecoder *decoder, FLAC__byte buffer[], unsigned *bytes, void *client_data); +-FLAC__StreamDecoderWriteStatus easyflac_write_callback(const EasyFLAC__StreamDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 * const buffer[], void *client_data); +-void easyflac_metadata_callback(const EasyFLAC__StreamDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data); +-void easyflac_error_callback(const EasyFLAC__StreamDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data); ++#if NEED_EASYFLAC ++static FLAC__StreamDecoderReadStatus easyflac_read_callback(const EasyFLAC__StreamDecoder *decoder, FLAC__byte buffer[], unsigned *bytes, void *client_data); ++static FLAC__StreamDecoderWriteStatus easyflac_write_callback(const EasyFLAC__StreamDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 * const buffer[], void *client_data); ++static void easyflac_metadata_callback(const EasyFLAC__StreamDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data); ++static void easyflac_error_callback(const EasyFLAC__StreamDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data); ++#else ++static FLAC__StreamDecoderReadStatus read_callback(const FLAC__StreamDecoder *decoder, FLAC__byte buffer[], size_t *bytes, void *client_data); ++static FLAC__StreamDecoderWriteStatus write_callback(const FLAC__StreamDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 * const buffer[], void *client_data); ++static void metadata_callback(const FLAC__StreamDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data); ++static void error_callback(const FLAC__StreamDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data); ++static FLAC__bool eof_callback(const FLAC__StreamDecoder *decoder, void *client_data); ++#endif +  + void resize_buffer(flac_private_t *flac, int newchannels, int newsamples); + /*void copy_comments (vorbis_comment *v_comments, FLAC__StreamMetadata_VorbisComment *f_comments);*/ +@@ -155,6 +171,7 @@ +   private->buf_start = 0; +    +   /* Setup FLAC decoder */ ++#if NEED_EASYFLAC +   if (oggflac_can_decode(source)) { +     decoder->format = &oggflac_format; +     private->decoder = EasyFLAC__stream_decoder_new(1); +@@ -172,13 +189,40 @@ +   EasyFLAC__set_metadata_respond(private->decoder, FLAC__METADATA_TYPE_STREAMINFO); +   EasyFLAC__set_metadata_respond(private->decoder, FLAC__METADATA_TYPE_VORBIS_COMMENT); +   EasyFLAC__init(private->decoder); ++#else ++  if (oggflac_can_decode(source)) { ++    private->is_oggflac = 1; ++    decoder->format = &oggflac_format; ++  } else { ++    private->is_oggflac = 0; ++    decoder->format = &flac_format; ++  } ++  private->decoder = FLAC__stream_decoder_new(); ++ ++  FLAC__stream_decoder_set_md5_checking(private->decoder, false); ++  FLAC__stream_decoder_set_metadata_respond(private->decoder, FLAC__METADATA_TYPE_STREAMINFO); ++  FLAC__stream_decoder_set_metadata_respond(private->decoder, FLAC__METADATA_TYPE_VORBIS_COMMENT); ++  /*FLAC__stream_decoder_init(private->decoder);*/ ++  if(private->is_oggflac) ++    FLAC__stream_decoder_init_ogg_stream(private->decoder, read_callback, /*seek_callback=*/0, /*tell_callback=*/0, /*length_callback=*/0, eof_callback, write_callback, metadata_callback, error_callback, decoder); ++  else ++    FLAC__stream_decoder_init_stream(private->decoder, read_callback, /*seek_callback=*/0, /*tell_callback=*/0, /*length_callback=*/0, eof_callback, write_callback, metadata_callback, error_callback, decoder); ++#endif +    +   /* Callback will set the total samples and sample rate */ ++#if NEED_EASYFLAC +   EasyFLAC__process_until_end_of_metadata(private->decoder); ++#else ++  FLAC__stream_decoder_process_until_end_of_metadata(private->decoder); ++#endif +  +   /* Callback will set the number of channels and resize the  +      audio buffer */ ++#if NEED_EASYFLAC +   EasyFLAC__process_single(private->decoder); ++#else ++  FLAC__stream_decoder_process_single(private->decoder); ++#endif +  +   /* FLAC API returns signed samples on all streams */ +   decoder->actual_fmt.signed_sample = 1; +@@ -241,11 +285,19 @@ +       realsamples += copy; +     } +     else if (!priv->eos) { ++#if NEED_EASYFLAC +       ret = EasyFLAC__process_single(priv->decoder); +       if (!ret || + 	  EasyFLAC__get_state(priv->decoder) + 	  == FLAC__STREAM_DECODER_END_OF_STREAM) + 	priv->eos = 1;  /* Bail out! */ ++#else ++      ret = FLAC__stream_decoder_process_single(priv->decoder); ++      if (!ret || ++	  FLAC__stream_decoder_get_state(priv->decoder) ++	  == FLAC__STREAM_DECODER_END_OF_STREAM) ++	priv->eos = 1;  /* Bail out! */ ++#endif +     } else +       break; +   } +@@ -311,8 +363,13 @@ +     free(priv->buf[i]); +    +   free(priv->buf); ++#if NEED_EASYFLAC +   EasyFLAC__finish(priv->decoder); +   EasyFLAC__stream_decoder_delete(priv->decoder); ++#else ++  FLAC__stream_decoder_finish(priv->decoder); ++  FLAC__stream_decoder_delete(priv->decoder); ++#endif +  +   free(decoder->private); +   free(decoder); +@@ -342,7 +399,11 @@ +  +  +  ++#if NEED_EASYFLAC + FLAC__StreamDecoderReadStatus easyflac_read_callback(const EasyFLAC__StreamDecoder *decoder, FLAC__byte buffer[], unsigned *bytes, void *client_data) ++#else ++FLAC__StreamDecoderReadStatus read_callback(const FLAC__StreamDecoder *decoder, FLAC__byte buffer[], size_t *bytes, void *client_data) ++#endif + { +   decoder_t *e_decoder = client_data; +   flac_private_t *priv = e_decoder->private; +@@ -363,7 +424,11 @@ + } +  +  ++#if NEED_EASYFLAC + FLAC__StreamDecoderWriteStatus easyflac_write_callback(const EasyFLAC__StreamDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 * const buffer[], void *client_data) ++#else ++FLAC__StreamDecoderWriteStatus write_callback(const FLAC__StreamDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 * const buffer[], void *client_data) ++#endif + { +   decoder_t *e_decoder = client_data; +   flac_private_t *priv = e_decoder->private; +@@ -389,7 +454,11 @@ + } +  +  ++#if NEED_EASYFLAC + void easyflac_metadata_callback(const EasyFLAC__StreamDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data) ++#else ++void metadata_callback(const FLAC__StreamDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data) ++#endif + { +   decoder_t *e_decoder = client_data; +   flac_private_t *priv = e_decoder->private; +@@ -409,12 +478,26 @@ + } +  +  ++#if NEED_EASYFLAC + void easyflac_error_callback(const EasyFLAC__StreamDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data) ++#else ++void error_callback(const FLAC__StreamDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data) ++#endif + { +  +  + } +  ++#if !NEED_EASYFLAC ++FLAC__bool eof_callback(const FLAC__StreamDecoder *decoder, void *client_data) ++{ ++  decoder_t *e_decoder = client_data; ++  flac_private_t *priv = e_decoder->private; ++ ++  return priv->eos; ++} ++#endif ++ +  + void resize_buffer(flac_private_t *flac, int newchannels, int newsamples) + { +@@ -457,7 +540,11 @@ +      +  +    ++#if NEED_EASYFLAC +   if (EasyFLAC__is_oggflac(priv->decoder)) ++#else ++  if (priv->is_oggflac) ++#endif +     cb->printf_metadata(decoder->callback_arg, 2, + 			_("Ogg FLAC stream: %d bits, %d channel, %ld Hz"), + 			priv->bits_per_sample, +--- old/vorbis-tools-1.1.1/ogg123/easyflac.c	2005-06-03 11:15:09.000000000 +0100 ++++ vorbis-tools-1.1.1/ogg123/easyflac.c	2007-04-07 17:25:26.000000000 +0100 +@@ -33,10 +33,12 @@ +  * +  */ +  ++#include <FLAC/export.h> ++#if !defined(FLAC_API_VERSION_CURRENT) || (FLAC_API_VERSION_CURRENT < 8) ++ + #include <stdlib.h> + #include "easyflac.h" +  +- + FLAC__bool EasyFLAC__is_oggflac(EasyFLAC__StreamDecoder *decoder) + { + 	return decoder->is_oggflac; +@@ -373,3 +375,5 @@ + 	else + 		return FLAC__stream_decoder_process_until_end_of_stream(decoder->flac); + } ++ ++#endif +--- old/vorbis-tools-1.1.1/oggenc/flac.c	2005-06-03 11:15:10.000000000 +0100 ++++ vorbis-tools-1.1.1/oggenc/flac.c	2007-04-07 18:17:27.000000000 +0100 +@@ -20,15 +20,25 @@ + #include "platform.h" + #include "resample.h" +  +-#define DEFAULT_FLAC_FRAME_SIZE 4608 ++#if !defined(FLAC_API_VERSION_CURRENT) || (FLAC_API_VERSION_CURRENT < 8) ++#define NEED_EASYFLAC 1 ++#endif ++ ++#if NEED_EASYFLAC ++static FLAC__StreamDecoderReadStatus easyflac_read_callback(const EasyFLAC__StreamDecoder *decoder, FLAC__byte buffer[], unsigned *bytes, void *client_data); ++static FLAC__StreamDecoderWriteStatus easyflac_write_callback(const EasyFLAC__StreamDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 * const buffer[], void *client_data); ++static void easyflac_metadata_callback(const EasyFLAC__StreamDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data); ++static void easyflac_error_callback(const EasyFLAC__StreamDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data); ++#else ++static FLAC__StreamDecoderReadStatus read_callback(const FLAC__StreamDecoder *decoder, FLAC__byte buffer[], size_t *bytes, void *client_data); ++static FLAC__StreamDecoderWriteStatus write_callback(const FLAC__StreamDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 * const buffer[], void *client_data); ++static void metadata_callback(const FLAC__StreamDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data); ++static void error_callback(const FLAC__StreamDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data); ++static FLAC__bool eof_callback(const FLAC__StreamDecoder *decoder, void *client_data); ++#endif +  +-FLAC__StreamDecoderReadStatus easyflac_read_callback(const EasyFLAC__StreamDecoder *decoder, FLAC__byte buffer[], unsigned *bytes, void *client_data); +-FLAC__StreamDecoderWriteStatus easyflac_write_callback(const EasyFLAC__StreamDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 * const buffer[], void *client_data); +-void easyflac_metadata_callback(const EasyFLAC__StreamDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data); +-void easyflac_error_callback(const EasyFLAC__StreamDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data); +- +-void resize_buffer(flacfile *flac, int newchannels, int newsamples); +-void copy_comments (vorbis_comment *v_comments, FLAC__StreamMetadata_VorbisComment *f_comments); ++static void resize_buffer(flacfile *flac, int newchannels, int newsamples); ++static void copy_comments (vorbis_comment *v_comments, FLAC__StreamMetadata_VorbisComment *f_comments); +  +  + int flac_id(unsigned char *buf, int len) +@@ -76,6 +86,7 @@ + 	flac->in = in; +  + 	/* Setup FLAC decoder */ ++#if NEED_EASYFLAC + 	flac->decoder = EasyFLAC__stream_decoder_new(oggflac_id(oldbuf, buflen)); + 	EasyFLAC__set_client_data(flac->decoder, flac); + 	EasyFLAC__set_read_callback(flac->decoder, &easyflac_read_callback); +@@ -85,14 +96,32 @@ + 	EasyFLAC__set_metadata_respond(flac->decoder, FLAC__METADATA_TYPE_STREAMINFO); + 	EasyFLAC__set_metadata_respond(flac->decoder, FLAC__METADATA_TYPE_VORBIS_COMMENT); + 	EasyFLAC__init(flac->decoder); ++#else ++    flac->decoder = FLAC__stream_decoder_new(); ++    FLAC__stream_decoder_set_md5_checking(flac->decoder, false); ++    FLAC__stream_decoder_set_metadata_respond(flac->decoder, FLAC__METADATA_TYPE_STREAMINFO); ++    FLAC__stream_decoder_set_metadata_respond(flac->decoder, FLAC__METADATA_TYPE_VORBIS_COMMENT); ++    if(oggflac_id(oldbuf, buflen)) ++        FLAC__stream_decoder_init_ogg_stream(flac->decoder, read_callback, /*seek_callback=*/0, /*tell_callback=*/0, /*length_callback=*/0, eof_callback, write_callback, metadata_callback, error_callback, flac); ++    else ++        FLAC__stream_decoder_init_stream(flac->decoder, read_callback, /*seek_callback=*/0, /*tell_callback=*/0, /*length_callback=*/0, eof_callback, write_callback, metadata_callback, error_callback, flac); ++#endif + 	 + 	/* Callback will set the total samples and sample rate */ ++#if NEED_EASYFLAC + 	EasyFLAC__process_until_end_of_metadata(flac->decoder); ++#else ++    FLAC__stream_decoder_process_until_end_of_metadata(flac->decoder); ++#endif +  + 	/* Callback will set the number of channels and resize the  + 	   audio buffer */ ++#if NEED_EASYFLAC + 	EasyFLAC__process_single(flac->decoder); +-	 ++#else ++    FLAC__stream_decoder_process_single(flac->decoder); ++#endif ++ + 	/* Copy format info for caller */ + 	opt->rate = flac->rate; + 	opt->channels = flac->channels; +@@ -133,11 +162,19 @@ + 		} + 		else if (!flac->eos) + 		{ ++#if NEED_EASYFLAC + 			ret = EasyFLAC__process_single(flac->decoder); + 			if (!ret || + 			    EasyFLAC__get_state(flac->decoder) + 			    == FLAC__STREAM_DECODER_END_OF_STREAM) + 				flac->eos = 1;  /* Bail out! */ ++#else ++            ret = FLAC__stream_decoder_process_single(flac->decoder); ++            if (!ret || ++                FLAC__stream_decoder_get_state(flac->decoder) ++                == FLAC__STREAM_DECODER_END_OF_STREAM) ++                flac->eos = 1;  /* Bail out! */ ++#endif + 		} else + 			break; + 	} +@@ -157,13 +194,22 @@ + 	free(flac->buf); + 	free(flac->oldbuf); + 	free(flac->comments); ++#if NEED_EASYFLAC + 	EasyFLAC__finish(flac->decoder); + 	EasyFLAC__stream_decoder_delete(flac->decoder); ++#else ++    FLAC__stream_decoder_finish(flac->decoder); ++    FLAC__stream_decoder_delete(flac->decoder); ++#endif + 	free(flac); + } +  +  ++#if NEED_EASYFLAC + FLAC__StreamDecoderReadStatus easyflac_read_callback(const EasyFLAC__StreamDecoder *decoder, FLAC__byte buffer[], unsigned *bytes, void *client_data) ++#else ++FLAC__StreamDecoderReadStatus read_callback(const FLAC__StreamDecoder *decoder, FLAC__byte buffer[], size_t *bytes, void *client_data) ++#endif + { + 	flacfile *flac = (flacfile *) client_data; + 	int i = 0; +@@ -200,7 +246,11 @@ + 	return FLAC__STREAM_DECODER_READ_STATUS_CONTINUE;	  + } +  ++#if NEED_EASYFLAC + FLAC__StreamDecoderWriteStatus easyflac_write_callback(const EasyFLAC__StreamDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 * const buffer[], void *client_data) ++#else ++FLAC__StreamDecoderWriteStatus write_callback(const FLAC__StreamDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 * const buffer[], void *client_data) ++#endif + { + 	flacfile *flac = (flacfile *) client_data; + 	int samples = frame->header.blocksize; +@@ -221,7 +271,11 @@ + 	return FLAC__STREAM_DECODER_WRITE_STATUS_CONTINUE; + } +  ++#if NEED_EASYFLAC + void easyflac_metadata_callback(const EasyFLAC__StreamDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data) ++#else ++void metadata_callback(const FLAC__StreamDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data) ++#endif + { + 	flacfile *flac = (flacfile *) client_data; +  +@@ -240,11 +294,24 @@ + 	} + } +  ++#if NEED_EASYFLAC + void easyflac_error_callback(const EasyFLAC__StreamDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data) ++#else ++void error_callback(const FLAC__StreamDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data) ++#endif + { +-	flacfile *flac = (flacfile *) client_data; ++    flacfile *flac = (flacfile *) client_data; ++ ++} ++ ++#if !NEED_EASYFLAC ++FLAC__bool eof_callback(const FLAC__StreamDecoder *decoder, void *client_data) ++{ ++    flacfile *flac = (flacfile *) client_data; +  ++    return feof(flac->in)? true : false; + } ++#endif +  +  + void resize_buffer(flacfile *flac, int newchannels, int newsamples) +--- old/vorbis-tools-1.1.1/oggenc/easyflac.c	2005-06-03 11:15:10.000000000 +0100 ++++ vorbis-tools-1.1.1/oggenc/easyflac.c	2007-04-07 17:25:56.000000000 +0100 +@@ -33,6 +33,9 @@ +  * +  */ +  ++#include <FLAC/export.h> ++#if !defined(FLAC_API_VERSION_CURRENT) || (FLAC_API_VERSION_CURRENT < 8) ++ + #include <stdlib.h> + #include "easyflac.h" +  +@@ -373,3 +376,5 @@ + 	else + 		return FLAC__stream_decoder_process_until_end_of_stream(decoder->flac); + } ++ ++#endif +--- old/vorbis-tools-1.1.1/oggenc/flac.h	2005-06-03 11:15:10.000000000 +0100 ++++ vorbis-tools-1.1.1/oggenc/flac.h	2007-04-07 17:31:53.000000000 +0100 +@@ -5,10 +5,21 @@ + #include "encode.h" + #include "audio.h" + #include <stdio.h> ++#include <FLAC/stream_decoder.h> ++#if !defined(FLAC_API_VERSION_CURRENT) || (FLAC_API_VERSION_CURRENT < 8) ++#define NEED_EASYFLAC 1 ++#endif ++#if NEED_EASYFLAC ++#include <OggFLAC/stream_decoder.h> + #include "easyflac.h" ++#endif +  + typedef struct { ++#if NEED_EASYFLAC + 	EasyFLAC__StreamDecoder *decoder; ++#else ++	FLAC__StreamDecoder *decoder; ++#endif + 	short channels; + 	int rate; + 	long totalsamples; /* per channel, of course */  | 
