Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 23 Apr 2004 01:16:59 +1000 (EST)
From:      Tim Robbins <tim@robbins.dropbear.id.au>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/65890: [patch] multimedia/libxine MPEG-4 AAC audio broken on amd64
Message-ID:  <20040422151659.8CC3541C9@robbins.dropbear.id.au>
Resent-Message-ID: <200404221420.i3MEKMKn045123@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         65890
>Category:       ports
>Synopsis:       [patch] multimedia/libxine MPEG-4 AAC audio broken on amd64
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Apr 22 07:20:22 PDT 2004
>Closed-Date:
>Last-Modified:
>Originator:     Tim Robbins
>Release:        FreeBSD 5.2-tjr amd64
>Organization:
The FreeBSD Project
>Environment:
System: FreeBSD 5.2-tjr amd64

>Description:

MPEG-4 AAC audio files cannot be played in Kaffeine (multimedia/kaffeine)
on amd64.

>How-To-Repeat:

Try to play http://www.ics.uci.edu/~jyeung/geek/aac/files/sample2.aac
with Kaffeine (or your favourite Xine frontend) on amd64.

>Fix:

libxine uses an old version of faad that is known to be broken on amd64.
See PR ports/64964.

Add the following as ports/multimedia/libxine/files/patch-src::libfaad::structs.h:

--- src/libfaad/structs.h.old	Thu Apr 22 23:49:49 2004
+++ src/libfaad/structs.h	Thu Apr 22 23:53:16 2004
@@ -307,58 +307,58 @@
 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;
-    uint8_t dontUpSampleImplicitSBR;
+    unsigned char defObjectType;
+    unsigned long defSampleRate;
+    unsigned char outputFormat;
+    unsigned char downMatrix;
+    unsigned char useOldADTSFormat;
+    unsigned char dontUpSampleImplicitSBR;
 } 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
>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040422151659.8CC3541C9>