head 1.2; access; symbols pkgsrc-2013Q2:1.2.0.10 pkgsrc-2013Q2-base:1.2 pkgsrc-2012Q4:1.2.0.8 pkgsrc-2012Q4-base:1.2 pkgsrc-2011Q4:1.2.0.6 pkgsrc-2011Q4-base:1.2 pkgsrc-2011Q2:1.2.0.4 pkgsrc-2011Q2-base:1.2 pkgsrc-2009Q4:1.2.0.2 pkgsrc-2009Q4-base:1.2 pkgsrc-2009Q1:1.1.0.22 pkgsrc-2009Q1-base:1.1 pkgsrc-2008Q4:1.1.0.20 pkgsrc-2008Q4-base:1.1 pkgsrc-2008Q3:1.1.0.18 pkgsrc-2008Q3-base:1.1 cube-native-xorg:1.1.0.16 cube-native-xorg-base:1.1 pkgsrc-2008Q2:1.1.0.14 pkgsrc-2008Q2-base:1.1 cwrapper:1.1.0.12 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 2009.06.08.00.56.09; author snj; state dead; branches; next 1.1; 1.1 date 2007.01.09.23.36.45; author wiz; state Exp; branches; next ; desc @@ 1.2 log @Grr, forgot to cvs rm these. @ text @$NetBSD: patch-ac,v 1.1 2007/01/09 23:36:45 wiz Exp $ --- flac123.c.orig 2005-05-09 04:25:20.000000000 +0000 +++ flac123.c @@@@ -49,12 +49,17 @@@@ struct poptOption cli_options[] = { static void play_file(const char *); static void play_remote_file(void); -void flac_error_hdl(const FLAC__FileDecoder *, FLAC__StreamDecoderErrorStatus, - void *); -void flac_metadata_hdl(const FLAC__FileDecoder *, const FLAC__StreamMetadata *, - void *); +#ifdef LEGACY_FLAC +void flac_error_hdl(const FLAC__FileDecoder *, FLAC__StreamDecoderErrorStatus, void *); +void flac_metadata_hdl(const FLAC__FileDecoder *, const FLAC__StreamMetadata *, void *); FLAC__StreamDecoderWriteStatus flac_write_hdl(const FLAC__FileDecoder *, const FLAC__Frame *, const FLAC__int32 * const buf[], void *); +#else +void flac_error_hdl(const FLAC__StreamDecoder *, FLAC__StreamDecoderErrorStatus, void *); +void flac_metadata_hdl(const FLAC__StreamDecoder *, const FLAC__StreamMetadata *, void *); +FLAC__StreamDecoderWriteStatus flac_write_hdl(const FLAC__StreamDecoder *, + const FLAC__Frame *, const FLAC__int32 * const buf[], void *); +#endif static void signal_handler(int); static int quit_now = 0; @@@@ -190,6 +195,7 @@@@ FLAC__bool decoder_constructor(const cha file_info.year[VORBIS_YEAR_LEN] = '\0'; /* create and initialize flac decoder object */ +#ifdef LEGACY_FLAC file_info.decoder = FLAC__file_decoder_new(); FLAC__file_decoder_set_md5_checking(file_info.decoder, true); FLAC__file_decoder_set_filename(file_info.decoder, filename); @@@@ -210,13 +216,29 @@@@ FLAC__bool decoder_constructor(const cha FLAC__file_decoder_delete(file_info.decoder); return false; } +#else + file_info.decoder = FLAC__stream_decoder_new(); + FLAC__stream_decoder_set_md5_checking(file_info.decoder, true); + + /* read metadata */ + if ((FLAC__stream_decoder_init_file(file_info.decoder, filename, flac_write_hdl, flac_metadata_hdl, flac_error_hdl, (void *)&file_info) != FLAC__STREAM_DECODER_INIT_STATUS_OK) + || (!FLAC__stream_decoder_process_until_end_of_metadata(file_info.decoder))) + { + FLAC__stream_decoder_delete(file_info.decoder); + return false; + } +#endif /* open libao output device */ if (cli_args.wavfile) { if (!(file_info.ao_dev = ao_open_file(ao_driver_id("wav"), cli_args.wavfile, /*overwrite*/ 1, &(file_info.ao_fmt), NULL))) { fprintf(stderr, "Error opening wav file %s\n", cli_args.wavfile); +#ifdef LEGACY_FLAC FLAC__file_decoder_delete(file_info.decoder); +#else + FLAC__stream_decoder_delete(file_info.decoder); +#endif return false; } } @@@@ -224,7 +246,11 @@@@ FLAC__bool decoder_constructor(const cha if (!(file_info.ao_dev = ao_open_live(ao_output_id, &(file_info.ao_fmt), NULL))) { fprintf(stderr, "Error opening ao device %d\n", ao_output_id); +#ifdef LEGACY_FLAC FLAC__file_decoder_delete(file_info.decoder); +#else + FLAC__stream_decoder_delete(file_info.decoder); +#endif return false; } } @@@@ -237,7 +263,11 @@@@ FLAC__bool decoder_constructor(const cha if (!(file_info.ao_dev = ao_open_live(ao_output_id, &(file_info.ao_fmt), NULL))) { fprintf(stderr, "Error opening ao device %d\n", ao_output_id); +#ifdef LEGACY_FLAC FLAC__file_decoder_delete(file_info.decoder); +#else + FLAC__stream_decoder_delete(file_info.decoder); +#endif return false; } } @@@@ -257,8 +287,13 @@@@ FLAC__bool decoder_constructor(const cha void decoder_destructor(void) { +#ifdef LEGACY_FLAC FLAC__file_decoder_finish(file_info.decoder); FLAC__file_decoder_delete(file_info.decoder); +#else + FLAC__stream_decoder_finish(file_info.decoder); + FLAC__stream_decoder_delete(file_info.decoder); +#endif file_info.is_loaded = false; file_info.is_playing = false; file_info.filename[0] = '\0'; @@@@ -272,9 +307,15 @@@@ static void play_file(const char *filena return; } +#ifdef LEGACY_FLAC while (FLAC__file_decoder_process_single(file_info.decoder) == true && FLAC__file_decoder_get_state(file_info.decoder) == FLAC__FILE_DECODER_OK && !interrupted) +#else + while (FLAC__stream_decoder_process_single(file_info.decoder) == true && + FLAC__stream_decoder_get_state(file_info.decoder) < + FLAC__STREAM_DECODER_END_OF_STREAM && !interrupted) +#endif { } interrupted = 0; /* more accurate feedback if placed after loop */ @@@@ -292,13 +333,22 @@@@ static void play_remote_file(void) { if (file_info.is_playing == true) { +#ifdef LEGACY_FLAC if (FLAC__file_decoder_get_state(file_info.decoder) == FLAC__FILE_DECODER_END_OF_FILE) +#else + if (FLAC__stream_decoder_get_state(file_info.decoder) == + FLAC__STREAM_DECODER_END_OF_STREAM) +#endif { decoder_destructor(); printf("@@P 0\n"); } +#ifdef LEGACY_FLAC else if (!FLAC__file_decoder_process_single(file_info.decoder)) +#else + else if (!FLAC__stream_decoder_process_single(file_info.decoder)) +#endif { fprintf(stderr, "error decoding single frame!\n"); } @@@@ -314,14 +364,24 @@@@ static void play_remote_file(void) } } +#ifdef LEGACY_FLAC void flac_error_hdl(const FLAC__FileDecoder *dec, FLAC__StreamDecoderErrorStatus status, void *data) +#else +void flac_error_hdl(const FLAC__StreamDecoder *dec, + FLAC__StreamDecoderErrorStatus status, void *data) +#endif { fprintf(stderr, "error handler called!\n"); } +#ifdef LEGACY_FLAC void flac_metadata_hdl(const FLAC__FileDecoder *dec, const FLAC__StreamMetadata *meta, void *data) +#else +void flac_metadata_hdl(const FLAC__StreamDecoder *dec, + const FLAC__StreamMetadata *meta, void *data) +#endif { file_info_struct *p = (file_info_struct *) data; @@@@ -344,10 +404,17 @@@@ void flac_metadata_hdl(const FLAC__FileD } } +#ifdef LEGACY_FLAC FLAC__StreamDecoderWriteStatus flac_write_hdl(const FLAC__FileDecoder *dec, const FLAC__Frame *frame, const FLAC__int32 * const buf[], void *data) +#else +FLAC__StreamDecoderWriteStatus flac_write_hdl(const FLAC__StreamDecoder *dec, + const FLAC__Frame *frame, + const FLAC__int32 * const buf[], + void *data) +#endif { int sample, channel, i; uint_32 samples = frame->header.blocksize; @ 1.1 log @Fix build with flac-1.1.3. @ text @d1 1 a1 1 $NetBSD$ @