head 1.2; access; symbols pkgsrc-2013Q2:1.2.0.18 pkgsrc-2013Q2-base:1.2 pkgsrc-2012Q4:1.2.0.16 pkgsrc-2012Q4-base:1.2 pkgsrc-2011Q4:1.2.0.14 pkgsrc-2011Q4-base:1.2 pkgsrc-2011Q2:1.2.0.12 pkgsrc-2011Q2-base:1.2 pkgsrc-2009Q4:1.2.0.10 pkgsrc-2009Q4-base:1.2 pkgsrc-2008Q4:1.2.0.8 pkgsrc-2008Q4-base:1.2 pkgsrc-2008Q3:1.2.0.6 pkgsrc-2008Q3-base:1.2 cube-native-xorg:1.2.0.4 cube-native-xorg-base:1.2 pkgsrc-2008Q2:1.2.0.2 pkgsrc-2008Q2-base:1.2 pkgsrc-2008Q1:1.1.0.10 pkgsrc-2008Q1-base:1.1 pkgsrc-2007Q4:1.1.0.8 pkgsrc-2007Q4-base:1.1 pkgsrc-2007Q3:1.1.0.6 pkgsrc-2007Q3-base:1.1 pkgsrc-2007Q2:1.1.0.4 pkgsrc-2007Q2-base:1.1 pkgsrc-2007Q1:1.1.0.2 pkgsrc-2007Q1-base:1.1; locks; strict; comment @# @; 1.2 date 2008.04.22.21.23.41; author wiz; state dead; branches; next 1.1; 1.1 date 2007.01.13.23.36.28; author wiz; state Exp; branches; next ; desc @@ 1.2 log @Update to 1.0.2. Add speex to DEPENDS. Update buildlink3.mk and bump ABI. 04172008 - Look for Speex includes in new directory. Converted all text encoding from ISO-8859-1 to UTF-8. Fixed "make dist" script for dealing with Subversion instead of CVS. Added Speex to the README. Upped version to 1.0.2. 04112008 - Check if Speex header has bogus data (CVE-2008-1686). 08062007 - Updated my email address. 07152007 - Minor correction in Timidity resampling code (Thanks, Sam!). 07062007 - Fixed uninitialized buffer in mpglib. (Thanks, Phil!). 10292006 - Fixed bogus memory dereference when SMPEG fails init (thanks, Chris!) 10272006 - FLAC 1.1.3 breaks their API _again_, so we try to do the right thing at build time. (Thanks, Josh!). 05122006 - Patched to get mpglib compiling again (thanks, Sam!). 12172005 - Fixed gcc4 whining in playsound_simple.c. 12062005 - Trimmed a bunch of junk out of the build system, and now it works on Mac OS X again. 10122005 - Check for libmodplug headers in two possible places (thanks, Tyler!) 10012005 - Added playsound_simple.c. 05302005 - Backport from devtree: Fixed automake nonsense. 11122004 - Backport from devtree: fix .voc decoder crash on file open. 05082004 - Fixed "bootstrap" to work with MacOSX. 05072004 - Backed out some commits, converted repository to Subversion, and branched off to a 1.1.0 development tree. Changed MikMod URL...old one is now a porn site. :( 10252003 - VOC decoder was broken. Now it isn't. 10142003 - Build system fix: acinclude.m4 had some word wrapping badness. @ text @$NetBSD: patch-ac,v 1.1 2007/01/13 23:36:28 wiz Exp $ --- decoders/flac.c.orig 2003-03-10 22:44:14.000000000 +0000 +++ decoders/flac.c @@@@ -44,6 +44,16 @@@@ #define __SDL_SOUND_INTERNAL__ #include "SDL_sound_internal.h" +#include + +/* FLAC 1.1.3 has FLAC_API_VERSION_CURRENT == 8 */ +#if !defined(FLAC_API_VERSION_CURRENT) || FLAC_API_VERSION_CURRENT < 8 +#define LEGACY_FLAC +#else +#undef LEGACY_FLAC +#endif + +#ifdef LEGACY_FLAC #include #define D_END_OF_STREAM FLAC__SEEKABLE_STREAM_DECODER_END_OF_STREAM @@@@ -80,6 +90,34 @@@@ typedef FLAC__SeekableStreamDecoderReadS typedef FLAC__SeekableStreamDecoderSeekStatus d_seek_status_t; typedef FLAC__SeekableStreamDecoderTellStatus d_tell_status_t; typedef FLAC__SeekableStreamDecoderLengthStatus d_length_status_t; +#else +#include + +#define D_END_OF_STREAM FLAC__STREAM_DECODER_END_OF_STREAM + +#define d_new() FLAC__stream_decoder_new() +#define d_process_metadata(x) FLAC__stream_decoder_process_until_end_of_metadata(x) +#define d_process_one_frame(x) FLAC__stream_decoder_process_single(x) +#define d_get_state(x) FLAC__stream_decoder_get_state(x) +#define d_finish(x) FLAC__stream_decoder_finish(x) +#define d_delete(x) FLAC__stream_decoder_delete(x) + +typedef FLAC__StreamDecoder decoder_t; +typedef FLAC__StreamDecoderReadStatus d_read_status_t; + +#define D_SEEK_STATUS_OK FLAC__STREAM_DECODER_SEEK_STATUS_OK +#define D_SEEK_STATUS_ERROR FLAC__STREAM_DECODER_SEEK_STATUS_ERROR +#define D_TELL_STATUS_OK FLAC__STREAM_DECODER_TELL_STATUS_OK +#define D_TELL_STATUS_ERROR FLAC__STREAM_DECODER_TELL_STATUS_ERROR +#define D_LENGTH_STATUS_OK FLAC__STREAM_DECODER_LENGTH_STATUS_OK +#define D_LENGTH_STATUS_ERROR FLAC__STREAM_DECODER_LENGTH_STATUS_ERROR + +#define d_seek_absolute(x, y) FLAC__stream_decoder_seek_absolute(x, y) + +typedef FLAC__StreamDecoderSeekStatus d_seek_status_t; +typedef FLAC__StreamDecoderTellStatus d_tell_status_t; +typedef FLAC__StreamDecoderLengthStatus d_length_status_t; +#endif #define D_WRITE_CONTINUE FLAC__STREAM_DECODER_WRITE_STATUS_CONTINUE #define D_READ_END_OF_STREAM FLAC__STREAM_DECODER_READ_STATUS_END_OF_STREAM @@@@ -141,9 +179,15 @@@@ static void free_flac(flac_t *f) } /* free_flac */ +#ifdef LEGACY_FLAC static d_read_status_t read_callback( const decoder_t *decoder, FLAC__byte buffer[], unsigned int *bytes, void *client_data) +#else +static d_read_status_t read_callback( + const decoder_t *decoder, FLAC__byte buffer[], + size_t *bytes, void *client_data) +#endif { flac_t *f = (flac_t *) client_data; Uint32 retval; @@@@ -400,6 +444,7 @@@@ static int FLAC_open(Sound_Sample *sampl BAIL_MACRO(ERR_OUT_OF_MEMORY, 0); } /* if */ +#ifdef LEGACY_FLAC d_set_read_callback(decoder, read_callback); d_set_write_callback(decoder, write_callback); d_set_metadata_callback(decoder, metadata_callback); @@@@ -410,6 +455,7 @@@@ static int FLAC_open(Sound_Sample *sampl d_set_eof_callback(decoder, eof_callback); d_set_client_data(decoder, f); +#endif f->rw = internal->rw; f->sample = sample; @@@@ -418,7 +464,12 @@@@ static int FLAC_open(Sound_Sample *sampl f->is_flac = 0 /* !!! FIXME: should be "has_extension", not "0". */; internal->decoder_private = f; + /* really should check the init return value here: */ +#ifdef LEGACY_FLAC d_init(decoder); +#else + FLAC__stream_decoder_init_stream(decoder, read_callback, seek_callback, tell_callback, length_callback, eof_callback, write_callback, metadata_callback, error_callback, f); +#endif sample->flags = SOUND_SAMPLEFLAG_NONE; @ 1.1 log @Enable flac supprt. Add flac-1.1.3 support, using a patch from ftp.altlinux.org /pub/people/thresh Bump PKGREVISION. @ text @d1 1 a1 1 $NetBSD$ @