Fix build with flac-1.1.3 using patch from
ftp.altlinux.org /pub/people/thresh Tested by joerg@
This commit is contained in:
parent
352209f3c1
commit
081f818478
2 changed files with 151 additions and 1 deletions
|
@ -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
|
||||
|
|
149
multimedia/vlc07/patches/patch-af
Normal file
149
multimedia/vlc07/patches/patch-af
Normal file
|
@ -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 <FLAC/stream_decoder.h>
|
||||
#include <FLAC/stream_encoder.h>
|
||||
+/* 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;
|
Loading…
Reference in a new issue