diff --git a/multimedia/vlc07/distinfo b/multimedia/vlc07/distinfo index 9dcd1cc8b046..1c831cedfbad 100644 --- a/multimedia/vlc07/distinfo +++ b/multimedia/vlc07/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.1.1.1 2006/09/26 07:19:41 martti Exp $ +$NetBSD: distinfo,v 1.2 2007/01/13 07:31:07 wiz Exp $ SHA1 (vlc-0.7.2.tar.bz2) = 938eaea128af02451fcbf0305c84ce290c9d8c21 RMD160 (vlc-0.7.2.tar.bz2) = 05e35e0b9080581cfbc730212fc756cb46bd3257 @@ -8,3 +8,4 @@ SHA1 (patch-ab) = 5f1cb287981d79533aedeb176c0219a815b8bf52 SHA1 (patch-ac) = aec258582e1d18ccb1efc3ce74e9f949046d61b1 SHA1 (patch-ad) = e12945776db476e48ce005b6d68f9931ddcbe020 SHA1 (patch-ae) = 1dcc0466a362fcdf51fbce8869cd1a48d35d3909 +SHA1 (patch-af) = ad79f35070495bbbe555bcc85bfa24b4bcbcb322 diff --git a/multimedia/vlc07/patches/patch-af b/multimedia/vlc07/patches/patch-af new file mode 100644 index 000000000000..b242bbe23590 --- /dev/null +++ b/multimedia/vlc07/patches/patch-af @@ -0,0 +1,149 @@ +$NetBSD: patch-af,v 1.1 2007/01/13 07:31:07 wiz Exp $ + +--- modules/codec/flac.c.orig 2004-04-25 18:08:39.000000000 +0000 ++++ modules/codec/flac.c +@@ -31,6 +31,12 @@ + + #include + #include ++/* by LEGACY_FLAC we mean before FLAC 1.1.3 when the decoder/encoder APIs were simplified */ ++# if !defined(FLAC_API_VERSION_CURRENT) || FLAC_API_VERSION_CURRENT < 8 ++# define LEGACY_FLAC ++# else ++# undef LEGACY_FLAC ++#endif + + #include "vlc_block_helper.h" + +@@ -112,7 +118,12 @@ static int SyncInfo( decoder_t *, uint8_ + + static FLAC__StreamDecoderReadStatus + DecoderReadCallback( const FLAC__StreamDecoder *decoder, +- FLAC__byte buffer[], unsigned *bytes, void *client_data ); ++#ifdef LEGACY_FLAC ++ FLAC__byte buffer[], unsigned *bytes, ++#else ++ FLAC__byte buffer[], size_t *bytes, ++#endif ++ void *client_data ); + + static FLAC__StreamDecoderWriteStatus + DecoderWriteCallback( const FLAC__StreamDecoder *decoder, +@@ -195,6 +206,7 @@ static int OpenDecoder( vlc_object_t *p_ + return VLC_EGENERIC; + } + ++#ifdef LEGACY_FLAC + FLAC__stream_decoder_set_read_callback( p_sys->p_flac, + DecoderReadCallback ); + FLAC__stream_decoder_set_write_callback( p_sys->p_flac, +@@ -205,7 +217,12 @@ static int OpenDecoder( vlc_object_t *p_ + DecoderErrorCallback ); + FLAC__stream_decoder_set_client_data( p_sys->p_flac, p_dec ); + ++ /* really should check the return value here */ + FLAC__stream_decoder_init( p_sys->p_flac ); ++#else ++ /* really should check the return value here */ ++ FLAC__stream_decoder_init_stream( p_sys->p_flac, DecoderReadCallback, NULL, NULL, NULL, NULL, DecoderWriteCallback, DecoderMetadataCallback, DecoderErrorCallback, p_dec ); ++#endif + + /* Set output properties */ + p_dec->fmt_out.i_cat = AUDIO_ES; +@@ -450,7 +467,12 @@ static void CloseDecoder( vlc_object_t * + *****************************************************************************/ + static FLAC__StreamDecoderReadStatus + DecoderReadCallback( const FLAC__StreamDecoder *decoder, FLAC__byte buffer[], +- unsigned *bytes, void *client_data ) ++#ifdef LEGACY_FLAC ++ unsigned *bytes, ++#else ++ size_t *bytes, ++#endif ++ void *client_data ) + { + decoder_t *p_dec = (decoder_t *)client_data; + decoder_sys_t *p_sys = p_dec->p_sys; +@@ -575,6 +597,11 @@ static void DecoderErrorCallback( const + msg_Err( p_dec, "frame's data did not match the CRC in the " + "footer." ); + break; ++#ifndef LEGACY_FLAC ++ case FLAC__STREAM_DECODER_ERROR_STATUS_UNPARSEABLE_STREAM: ++ msg_Err( p_dec, "the decoder encountered reserved fields in use in the stream." ); ++ break; ++#endif + default: + msg_Err( p_dec, "got decoder error: %d", status ); + } +@@ -640,6 +667,7 @@ static void decoder_state_error( decoder + case FLAC__STREAM_DECODER_ABORTED: + msg_Err( p_dec, "the decoder was aborted by the read callback." ); + break; ++#ifdef LEGACY_FLAC + case FLAC__STREAM_DECODER_UNPARSEABLE_STREAM: + msg_Err( p_dec, "the decoder encountered reserved fields in use " + "in the stream." ); +@@ -656,6 +684,14 @@ static void decoder_state_error( decoder + msg_Err( p_dec, "FLAC__stream_decoder_init() was called without " + "all callbacks being set." ); + break; ++#else ++ case FLAC__STREAM_DECODER_OGG_ERROR: ++ msg_Warn( p_dec, "an error occurred in the underlying Ogg layer." ); ++ break; ++ case FLAC__STREAM_DECODER_SEEK_ERROR: ++ msg_Warn( p_dec, "an error occurred while seeking." ); ++ break; ++#endif + case FLAC__STREAM_DECODER_UNINITIALIZED: + msg_Err( p_dec, "decoder in uninitialized state." ); + break; +@@ -1046,7 +1082,11 @@ static block_t *Encode( encoder_t *, aou + static FLAC__StreamEncoderWriteStatus + EncoderWriteCallback( const FLAC__StreamEncoder *encoder, + const FLAC__byte buffer[], ++#ifdef LEGACY_FLAC + unsigned bytes, unsigned samples, ++#else ++ size_t bytes, unsigned samples, ++#endif + unsigned current_frame, void *client_data ); + + static void EncoderMetadataCallback( const FLAC__StreamEncoder *encoder, +@@ -1093,15 +1133,23 @@ static int OpenEncoder( vlc_object_t *p_ + FLAC__stream_encoder_set_bits_per_sample( p_sys->p_flac, 16 ); + p_enc->fmt_in.i_codec = AOUT_FMT_S16_NE; + ++#ifdef LEGACY_FLAC + FLAC__stream_encoder_set_write_callback( p_sys->p_flac, + EncoderWriteCallback ); + FLAC__stream_encoder_set_metadata_callback( p_sys->p_flac, + EncoderMetadataCallback ); + FLAC__stream_encoder_set_client_data( p_sys->p_flac, p_enc ); ++#endif + + /* Get and store the STREAMINFO metadata block as a p_extra */ + p_sys->p_chain = 0; ++#ifdef LEGACY_FLAC ++ /* really should check the return value here */ + FLAC__stream_encoder_init( p_sys->p_flac ); ++#else ++ /* really should check the return value here */ ++ FLAC__stream_encoder_init_stream( p_sys->p_flac, EncoderWriteCallback, NULL, NULL, EncoderMetadataCallback, p_enc ); ++#endif + + return VLC_SUCCESS; + } +@@ -1178,7 +1226,11 @@ static void EncoderMetadataCallback( con + static FLAC__StreamEncoderWriteStatus + EncoderWriteCallback( const FLAC__StreamEncoder *encoder, + const FLAC__byte buffer[], ++#ifdef LEGACY_FLAC + unsigned bytes, unsigned samples, ++#else ++ size_t bytes, unsigned samples, ++#endif + unsigned current_frame, void *client_data ) + { + encoder_t *p_enc = (encoder_t *)client_data;