GNOME Bugzilla – Bug 305149
faad plugin in 0.8.8.2 pre-release doesn't compile on amd64
Last modified: 2005-10-27 13:33:09 UTC
Distribution/Version: Gentoo Attempting to compile the faad plugin in the 0.8.8.2 pre-release fails on amd64. The trouble is that "samplerate" in gstfaad.c is defined as "gulong", which is 64-bit on amd64, while in faad.h it is defined as "uint32_t". I'm not sure what is the most correct way of fixing this, but changing "gulong" to "uint32_t" on lines 304 and 677 of gstfaad.c allowed the plugin to compile for me.
In my copy, it is defined as unsigned long: /* Init the library based on info from the AAC file (ADTS/ADIF) */ long FAADAPI faacDecInit(faacDecHandle hDecoder, unsigned char *buffer, unsigned long buffer_size, unsigned long *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); What version of libfaad2?
It's libfaad2 version 2.0 -- but it turns out that the Gentoo packages for some reason include a patch which changes the line you listed, among others: long FAADAPI faacDecInit(faacDecHandle hDecoder, - unsigned char *buffer, - unsigned long buffer_size, - unsigned long *samplerate, - unsigned char *channels); + uint8_t *buffer, + uint32_t buffer_size, + uint32_t *samplerate, + uint8_t *channels); So I guess this bug is invalid. Sorry for the inconvenience.
*** Bug 319795 has been marked as a duplicate of this bug. ***