audio/faad does not work on amd64. No matter what file you try to play, it gives the error message "Error: Pulse coding not allowed in short blocks." Fix: Not known. How-To-Repeat: Install audio/faad on an amd64 machine. Download this sample file: http://www.ics.uci.edu/~jyeung/geek/aac/files/sample2.aac Run faad sample2.aac. Now try the same on i386.
Is this a FreeBSD specific issue? Does the file plays, say, on gentoo-amd64 Linux? Can submitter provide a fix on this? Can maintainer provide a fix on this? Have you talked to authors about this? -- Pav Lucistnik <pav@oook.cz> <pav@FreeBSD.org> I went grocery shopping, made a pot of chilli, played ey, then ate some chilli
State Changed From-To: open->feedback Asked for various feedback
On Thu, Apr 01, 2004 at 07:04:00PM +0200, Pav Lucistnik wrote: > Is this a FreeBSD specific issue? Does the file plays, say, on > gentoo-amd64 Linux? Can submitter provide a fix on this? Can maintainer > provide a fix on this? Have you talked to authors about this? I doubt that it's FreeBSD-specific, but I'm not desperate enough to install Linux just to play MPEG-4 audio :-) I'll see if I can come up with a fix, but for the moment it should just be marked BROKEN on amd64 - the failure mode is such that's it's not obvious just by running the program that it is broken. Tim
V p=E1, 02. 04. 2004 v 07:34, Tim Robbins p=ED=B9e: > > Is this a FreeBSD specific issue? Does the file plays, say, on > > gentoo-amd64 Linux? Can submitter provide a fix on this? Can maintainer > > provide a fix on this? Have you talked to authors about this? >=20 > I doubt that it's FreeBSD-specific, but I'm not desperate enough to insta= ll > Linux just to play MPEG-4 audio :-) I'll see if I can come up with a fix, > but for the moment it should just be marked BROKEN on amd64 - the failure > mode is such that's it's not obvious just by running the program that it > is broken. Okay I can mark it broken for amd64 (maybe all 64 bit archs?). Does maintainer agree? --=20 Pav Lucistnik <pav@oook.cz> <pav@FreeBSD.org> In God we trust. All others must use the callback verifier.
State Changed From-To: feedback->closed Port was marked IGNORE with an explanatory message.
State Changed From-To: closed->open Reopen.
Here is a patch that makes audio/faad work on amd64; it's essentially a backport of this patch from faad CVS: http://cvs.sourceforge.net/viewcvs.py/faac/faad2/libfaad/structs.h?r1=1.36&r2=1.37 Add this file as ports/audio/faad/files/patch-structs_h: --- libfaad/structs.h.orig Thu Nov 13 07:47:59 2003 +++ libfaad/structs.h Sun Apr 11 22:01:09 2004 @@ -297,57 +297,57 @@ typedef struct mp4AudioSpecificConfig { /* Audio Specific Info */ - uint8_t objectTypeIndex; - uint8_t samplingFrequencyIndex; - uint32_t samplingFrequency; - uint8_t channelsConfiguration; + unsigned char objectTypeIndex; + unsigned char samplingFrequencyIndex; + unsigned long samplingFrequency; + unsigned char channelsConfiguration; /* GA Specific Info */ - uint8_t frameLengthFlag; - uint8_t dependsOnCoreCoder; - uint16_t coreCoderDelay; - uint8_t extensionFlag; - uint8_t aacSectionDataResilienceFlag; - uint8_t aacScalefactorDataResilienceFlag; - uint8_t aacSpectralDataResilienceFlag; - uint8_t epConfig; + unsigned char frameLengthFlag; + unsigned char dependsOnCoreCoder; + unsigned short coreCoderDelay; + unsigned char extensionFlag; + unsigned char aacSectionDataResilienceFlag; + unsigned char aacScalefactorDataResilienceFlag; + unsigned char aacSpectralDataResilienceFlag; + unsigned char epConfig; - int8_t sbr_present_flag; - int8_t forceUpSampling; + char sbr_present_flag; + char forceUpSampling; } mp4AudioSpecificConfig; typedef struct faacDecConfiguration { - uint8_t defObjectType; - uint32_t defSampleRate; - uint8_t outputFormat; - uint8_t downMatrix; - uint8_t useOldADTSFormat; + unsigned char defObjectType; + unsigned long defSampleRate; + unsigned char outputFormat; + unsigned char downMatrix; + unsigned char useOldADTSFormat; } faacDecConfiguration, *faacDecConfigurationPtr; typedef struct faacDecFrameInfo { - uint32_t bytesconsumed; - uint32_t samples; - uint8_t channels; - uint8_t error; - uint32_t samplerate; + unsigned long bytesconsumed; + unsigned long samples; + unsigned char channels; + unsigned char error; + unsigned long samplerate; /* SBR: 0: off, 1: on; normal, 2: on; downsampled */ - uint8_t sbr; + unsigned char sbr; /* MPEG-4 ObjectType */ - uint8_t object_type; + unsigned char object_type; /* AAC header type; MP4 will be signalled as RAW also */ - uint8_t header_type; + unsigned char header_type; /* multichannel configuration */ - uint8_t num_front_channels; - uint8_t num_side_channels; - uint8_t num_back_channels; - uint8_t num_lfe_channels; - uint8_t channel_position[MAX_CHANNELS]; + unsigned char num_front_channels; + unsigned char num_side_channels; + unsigned char num_back_channels; + unsigned char num_lfe_channels; + unsigned char channel_position[MAX_CHANNELS]; } faacDecFrameInfo; typedef struct
I have no access to AMD64 equipment to verify this On 11-Apr-04, at 8:15, Tim Robbins wrote: > Here is a patch that makes audio/faad work on amd64; it's essentially > a backport of this patch from faad CVS: > http://cvs.sourceforge.net/viewcvs.py/faac/faad2/libfaad/structs.h? > r1=1.36&r2=1.37 > > Add this file as ports/audio/faad/files/patch-structs_h: > > --- libfaad/structs.h.orig Thu Nov 13 07:47:59 2003 > +++ libfaad/structs.h Sun Apr 11 22:01:09 2004 > @@ -297,57 +297,57 @@ > typedef struct mp4AudioSpecificConfig > { > /* Audio Specific Info */ > - uint8_t objectTypeIndex; > - uint8_t samplingFrequencyIndex; > - uint32_t samplingFrequency; > - uint8_t channelsConfiguration; > + unsigned char objectTypeIndex; > + unsigned char samplingFrequencyIndex; > + unsigned long samplingFrequency; > + unsigned char channelsConfiguration; > > /* GA Specific Info */ > - uint8_t frameLengthFlag; > - uint8_t dependsOnCoreCoder; > - uint16_t coreCoderDelay; > - uint8_t extensionFlag; > - uint8_t aacSectionDataResilienceFlag; > - uint8_t aacScalefactorDataResilienceFlag; > - uint8_t aacSpectralDataResilienceFlag; > - uint8_t epConfig; > + unsigned char frameLengthFlag; > + unsigned char dependsOnCoreCoder; > + unsigned short coreCoderDelay; > + unsigned char extensionFlag; > + unsigned char aacSectionDataResilienceFlag; > + unsigned char aacScalefactorDataResilienceFlag; > + unsigned char aacSpectralDataResilienceFlag; > + unsigned char epConfig; > > - int8_t sbr_present_flag; > - int8_t forceUpSampling; > + char sbr_present_flag; > + char forceUpSampling; > } mp4AudioSpecificConfig; > > typedef struct faacDecConfiguration > { > - uint8_t defObjectType; > - uint32_t defSampleRate; > - uint8_t outputFormat; > - uint8_t downMatrix; > - uint8_t useOldADTSFormat; > + unsigned char defObjectType; > + unsigned long defSampleRate; > + unsigned char outputFormat; > + unsigned char downMatrix; > + unsigned char useOldADTSFormat; > } faacDecConfiguration, *faacDecConfigurationPtr; > > typedef struct faacDecFrameInfo > { > - uint32_t bytesconsumed; > - uint32_t samples; > - uint8_t channels; > - uint8_t error; > - uint32_t samplerate; > + unsigned long bytesconsumed; > + unsigned long samples; > + unsigned char channels; > + unsigned char error; > + unsigned long samplerate; > > /* SBR: 0: off, 1: on; normal, 2: on; downsampled */ > - uint8_t sbr; > + unsigned char sbr; > > /* MPEG-4 ObjectType */ > - uint8_t object_type; > + unsigned char object_type; > > /* AAC header type; MP4 will be signalled as RAW also */ > - uint8_t header_type; > + unsigned char header_type; > > /* multichannel configuration */ > - uint8_t num_front_channels; > - uint8_t num_side_channels; > - uint8_t num_back_channels; > - uint8_t num_lfe_channels; > - uint8_t channel_position[MAX_CHANNELS]; > + unsigned char num_front_channels; > + unsigned char num_side_channels; > + unsigned char num_back_channels; > + unsigned char num_lfe_channels; > + unsigned char channel_position[MAX_CHANNELS]; > } faacDecFrameInfo; > > typedef struct > > ------------------------------------------------------------------------ ----------- Sean McGovern | "The day my dream became endless mailto:sean@sfarc.net | ...I wonder when it was?" - Kanon
State Changed From-To: open->closed committed, thank you very much for improving amd64-ports.