diff -u -r faad2/include/faad.h faad2-fix/include/faad.h --- faad2/include/faad.h 2004-02-06 04:23:28.000000000 -0600 +++ faad2-fix/include/faad.h 2005-01-31 22:09:47.679904304 -0600 @@ -114,7 +114,7 @@ /* Audio Specific Info */ unsigned char objectTypeIndex; unsigned char samplingFrequencyIndex; - unsigned long samplingFrequency; + unsigned int samplingFrequency; unsigned char channelsConfiguration; /* GA Specific Info */ @@ -134,7 +134,7 @@ typedef struct faacDecConfiguration { unsigned char defObjectType; - unsigned long defSampleRate; + unsigned int defSampleRate; unsigned char outputFormat; unsigned char downMatrix; unsigned char useOldADTSFormat; @@ -143,11 +143,11 @@ typedef struct faacDecFrameInfo { - unsigned long bytesconsumed; - unsigned long samples; + unsigned int bytesconsumed; + unsigned int samples; unsigned char channels; unsigned char error; - unsigned long samplerate; + unsigned int samplerate; /* SBR: 0: off, 1: on; upsample, 2: on; downsampled, 3: off; upsampled */ unsigned char sbr; @@ -168,7 +168,7 @@ char* FAADAPI faacDecGetErrorMessage(unsigned char errcode); -unsigned long FAADAPI faacDecGetCapabilities(void); +unsigned int FAADAPI faacDecGetCapabilities(void); faacDecHandle FAADAPI faacDecOpen(void); @@ -178,32 +178,32 @@ faacDecConfigurationPtr config); /* Init the library based on info from the AAC file (ADTS/ADIF) */ -long FAADAPI faacDecInit(faacDecHandle hDecoder, +int FAADAPI faacDecInit(faacDecHandle hDecoder, unsigned char *buffer, - unsigned long buffer_size, - unsigned long *samplerate, + unsigned int buffer_size, + unsigned int *samplerate, unsigned char *channels); /* Init the library using a DecoderSpecificInfo */ char FAADAPI faacDecInit2(faacDecHandle hDecoder, unsigned char *pBuffer, - unsigned long SizeOfDecoderSpecificInfo, - unsigned long *samplerate, unsigned char *channels); + unsigned int SizeOfDecoderSpecificInfo, + unsigned int *samplerate, unsigned char *channels); /* Init the library for DRM */ -char FAADAPI faacDecInitDRM(faacDecHandle hDecoder, unsigned long samplerate, +char FAADAPI faacDecInitDRM(faacDecHandle hDecoder, unsigned int samplerate, unsigned char channels); -void FAADAPI faacDecPostSeekReset(faacDecHandle hDecoder, long frame); +void FAADAPI faacDecPostSeekReset(faacDecHandle hDecoder, int frame); void FAADAPI faacDecClose(faacDecHandle hDecoder); void* FAADAPI faacDecDecode(faacDecHandle hDecoder, faacDecFrameInfo *hInfo, unsigned char *buffer, - unsigned long buffer_size); + unsigned int buffer_size); char FAADAPI AudioSpecificConfig(unsigned char *pBuffer, - unsigned long buffer_size, + unsigned int buffer_size, mp4AudioSpecificConfig *mp4ASC); #ifdef _WIN32 diff -u -r faad2/libfaad/common.h faad2-fix/libfaad/common.h --- faad2/libfaad/common.h 2004-02-06 06:55:24.000000000 -0600 +++ faad2-fix/libfaad/common.h 2005-01-31 22:26:36.895480216 -0600 @@ -193,12 +193,26 @@ # include #endif #if HAVE_INTTYPES_H +#warning "Using HAVE_INTTYPES_H" # include #else # if HAVE_STDINT_H +#warning "Using HAVE_STDINT_H" # include # else /* we need these... */ +#ifdef __x86_64__ +#warning "Using AMD64 definitions" +typedef unsigned long uint64_t; +typedef unsigned int uint32_t; +typedef unsigned short uint16_t; +typedef unsigned char uint8_t; +typedef long int64_t; +typedef int int32_t; +typedef short int16_t; +typedef char int8_t; +#else +#warning "Using 32-bit definitions" typedef unsigned long long uint64_t; typedef unsigned long uint32_t; typedef unsigned short uint16_t; @@ -207,6 +221,7 @@ typedef long int32_t; typedef short int16_t; typedef char int8_t; +#endif # endif #endif #if HAVE_UNISTD_H diff -u -r faad2/plugins/mpeg4ip/aa_file.cpp faad2-fix/plugins/mpeg4ip/aa_file.cpp --- faad2/plugins/mpeg4ip/aa_file.cpp 2004-01-05 08:05:12.000000000 -0600 +++ faad2-fix/plugins/mpeg4ip/aa_file.cpp 2005-01-31 22:13:54.806335376 -0600 @@ -22,6 +22,8 @@ * aa_file.cpp - create media structure for aac files */ +#define __STDC_LIMIT_MACROS +#include #include "faad2.h" codec_data_t *aac_file_check (lib_message_func_t message, const char *name, @@ -56,7 +58,7 @@ aac->m_buffer_size_max, aac->m_ifile); - unsigned long freq; + unsigned int freq; unsigned char chans; faacDecInit(aac->m_info, (unsigned char *)aac->m_buffer, diff -u -r faad2/plugins/mpeg4ip/faad2.cpp faad2-fix/plugins/mpeg4ip/faad2.cpp --- faad2/plugins/mpeg4ip/faad2.cpp 2004-01-05 08:05:12.000000000 -0600 +++ faad2-fix/plugins/mpeg4ip/faad2.cpp 2005-01-31 22:13:41.169408504 -0600 @@ -18,6 +18,13 @@ ** ** $Id: faad2.cpp,v 1.2 2004/01/05 14:05:12 menno Exp $ **/ +#define __STDC_LIMIT_MACROS +#include + +#ifndef UINT32_MAX +#error "stdint.h didn't define UINT32_MAX, wtf?" +#endif + #include "faad2.h" #include #include @@ -76,7 +83,7 @@ } aac->m_info = faacDecOpen(); - unsigned long srate; + unsigned int srate; unsigned char chan; if ((userdata == NULL && fmtp == NULL) || (faacDecInit2(aac->m_info, @@ -156,7 +163,7 @@ void *userdata) { aac_codec_t *aac = (aac_codec_t *)ptr; - unsigned long bytes_consummed; + unsigned int bytes_consummed; int bits = -1; // struct timezone tz; @@ -188,7 +195,7 @@ * If not initialized, do so. */ abort(); - unsigned long freq; + unsigned int freq; unsigned char chans; faacDecInit(aac->m_info, @@ -202,7 +209,7 @@ } uint8_t *buff; - unsigned long samples; + unsigned int samples; bytes_consummed = buflen; //aa_message(LOG_DEBUG, aaclib, "decoding %d bits", buflen * 8); faacDecFrameInfo frame_info; @@ -237,7 +244,7 @@ aac->m_vft->audio_configure(aac->m_ifptr, aac->m_freq, aac->m_chans, - AUDIO_S16SYS, + AUDIO_FMT_S16, aac->m_output_frame_size); uint8_t *now = aac->m_vft->audio_get_buffer(aac->m_ifptr); aac->m_audio_inited = 1; diff -u -r faad2/plugins/xmms/src/libmp4.c faad2-fix/plugins/xmms/src/libmp4.c --- faad2/plugins/xmms/src/libmp4.c 2003-12-03 12:37:56.000000000 -0600 +++ faad2-fix/plugins/xmms/src/libmp4.c 2005-01-31 22:04:49.058301688 -0600 @@ -22,6 +22,10 @@ #define MP4_ABOUT "Written by ciberfred" #define BUFFER_SIZE FAAD_MIN_STREAMSIZE*64 +void getMP4info(char* file); +int getAACTrack(MP4FileHandle file); + + static void mp4_init(void); static void mp4_about(void); static void mp4_play(char *); @@ -112,11 +116,11 @@ gchar* extention; extention = strrchr(filename, '.'); - if (extention && + if (extention &&( !strcasecmp(extention, ".mp4") || // official extention !strcasecmp(extention, ".m4a") || // Apple mp4 extention !strcasecmp(extention, ".aac") // old MPEG2/4-AAC extention - ){ + )){ return (1); } } @@ -202,11 +206,11 @@ faacDecHandle decoder; unsigned char *buffer = NULL; guint bufferSize = 0; - gulong samplerate; + guint samplerate; guchar channels; guint avgBitrate; MP4Duration duration; - gulong msDuration; + guint msDuration; MP4SampleId numSamples; MP4SampleId sampleID = 1; @@ -329,10 +333,10 @@ FILE *file = NULL; faacDecHandle decoder = 0; guchar *buffer = 0; - gulong bufferconsumed = 0; - gulong samplerate = 0; + guint bufferconsumed = 0; + guint samplerate = 0; guchar channels; - gulong buffervalid = 0; + guint buffervalid = 0; TitleInput* input; gchar *temp = g_strdup(args); gchar *ext = strrchr(temp, '.'); @@ -424,7 +428,7 @@ while(bPlaying && buffervalid > 0){ faacDecFrameInfo finfo; - unsigned long samplesdecoded; + unsigned int samplesdecoded; char* sample_buffer = NULL; /* if(bSeek && seekPosition!=-1){