--- vlc-0.8.6/modules/codec/flac.c.orig 2007-01-02 01:06:46.000000000 +0000 +++ vlc-0.8.6/modules/codec/flac.c 2007-01-02 01:43:51.000000000 +0000 @@ -225,17 +225,17 @@ return VLC_EGENERIC; } - FLAC__stream_decoder_set_read_callback( p_sys->p_flac, - DecoderReadCallback ); - FLAC__stream_decoder_set_write_callback( p_sys->p_flac, - DecoderWriteCallback ); - FLAC__stream_decoder_set_metadata_callback( p_sys->p_flac, - DecoderMetadataCallback ); - FLAC__stream_decoder_set_error_callback( p_sys->p_flac, - DecoderErrorCallback ); - FLAC__stream_decoder_set_client_data( p_sys->p_flac, p_dec ); - - FLAC__stream_decoder_init( p_sys->p_flac ); + FLAC__stream_decoder_init_stream( p_sys->p_flac, + DecoderReadCallback, + NULL, + NULL, + NULL, + NULL, + DecoderWriteCallback, + DecoderMetadataCallback, + DecoderErrorCallback, + p_dec + ); #endif /* Set output properties */ @@ -730,25 +730,18 @@ case FLAC__STREAM_DECODER_END_OF_STREAM: msg_Dbg( p_dec, "the decoder has reached the end of the stream." ); break; + case FLAC__STREAM_DECODER_OGG_ERROR: + msg_Dbg( p_dec, "the decoder got ogg error." ); + break; + case FLAC__STREAM_DECODER_SEEK_ERROR: + msg_Dbg( p_dec, "the decoder got seek error." ); + break; case FLAC__STREAM_DECODER_ABORTED: msg_Warn( p_dec, "the decoder was aborted by the read callback." ); break; - case FLAC__STREAM_DECODER_UNPARSEABLE_STREAM: - msg_Warn( p_dec, "the decoder encountered reserved fields in use " - "in the stream." ); - break; case FLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR: msg_Err( p_dec, "error when allocating memory." ); break; - case FLAC__STREAM_DECODER_ALREADY_INITIALIZED: - msg_Err( p_dec, "FLAC__stream_decoder_init() was called when the " - "decoder was already initialized, usually because " - "FLAC__stream_decoder_finish() was not called." ); - break; - case FLAC__STREAM_DECODER_INVALID_CALLBACK: - msg_Err( p_dec, "FLAC__stream_decoder_init() was called without " - "all callbacks being set." ); - break; case FLAC__STREAM_DECODER_UNINITIALIZED: msg_Err( p_dec, "decoder in uninitialized state." ); break; @@ -1193,15 +1186,14 @@ FLAC__stream_encoder_set_bits_per_sample( p_sys->p_flac, 16 ); p_enc->fmt_in.i_codec = AOUT_FMT_S16_NE; - 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 ); - /* Get and store the STREAMINFO metadata block as a p_extra */ p_sys->p_chain = 0; - FLAC__stream_encoder_init( p_sys->p_flac ); + FLAC__stream_encoder_init_stream( p_sys->p_flac , + EncoderWriteCallback, + NULL, + NULL, + EncoderMetadataCallback, + p_enc); return VLC_SUCCESS; }