Opened 16 years ago

Closed 16 years ago

Last modified 8 months ago

#768 closed defect (worksforme)

Endian issue in sound/mixer code

Reported by: (none) Owned by: fingolfin
Priority: normal Component: Audio
Keywords: Cc:
Game:

Description

There appears to be an endian issue in the mixer/sound code. My
environment is OpenBSD/macppc 3.3-current using scummvm 0.4.0
with Day of the Tentacle, sound files encoded into mp3. On
OpenBSD/i386 it works fine.

Can anyone confirm or deny this with linux/ppc or some other
bigendian machine?

Ticket imported from: #737415. Ticket imported from: bugs/768.

Change History (15)

comment:1 Changed 16 years ago by SF/khalek

Owner: set to fingolfin

comment:2 Changed 16 years ago by SF/khalek

I believe it works fine on macs and other big endian
machines, if you are using the sdl backend I think
SCUMM_BIG_ENDIAN should get defined for you.

Assigning to fingolfin as he runs osx

comment:3 Changed 16 years ago by fingolfin

Jolan, if you'd explain *why+ you think there are endian issues... (usually in a
bug report, it's better to describe the problem symptoms, not what you think
is the cause, that should if at all only come at the end ;-)

As khalek writes, I develop ScummVM on Mac OS X, on big endian hardware.

comment:4 Changed 16 years ago by (none)

Uh, the comment in the configure script specifies that the script does
nothing, therefore I'm not using it. I can change this of course... Or just
define SCUMM_BIG_ENDIAN

Why assign it to an osx guy? Doesn't the OSX port use coreaudio rather
than SDL..?

Anyway, I think it's an endian issue because I have to remove my
headphones immediately or else risk going deaf ;) The audio is
garbled/scratchy/etc.

comment:5 Changed 16 years ago by (none)

Actually, I see that SCUMM_BIG_ENDIAN is defined.. but it (obviously)
doesn't seem to help..?

comment:6 Changed 16 years ago by SF/khalek

optionally coreaudio for midi, sdl for everything else

comment:7 Changed 16 years ago by fingolfin

It's been assigned to me because a) I am one of the primary ScummVM
developers, b) have a big endian machine. Audio output is done on Mac OS X
via SDL, too, as khalek pointed out. And no, the configure script is not used
for anything, you can safely ignore it. Rather, for builds using SDL, we relay
on SDL telling us correctly which endianess the system has (as in your case).

comment:8 Changed 16 years ago by (none)

Yes, I see now that you use the SDL endian detection. I don't trust "works
on MacOSX so it's okay on big endian". sc2.sf.net also has endian issues in
the sound code and some of the sound plays fine on MacOSX, but not at all
on other platforms. I'd prefer to hear from someone running linux/ppc.
Anyway, I'll investigate further when I get home and can test on my sparc &
sparc64 machines.

comment:9 Changed 16 years ago by fingolfin

Well, we have more, non-OS X, big endian users, You are the first, AFAIK, to
report such issues.

The sc2 example is not comparable, because there are different sound
backends involved in that one.

comment:10 Changed 16 years ago by SF/wooshell

I have just tried to reproduce the bug on my bigendian Sun box
(sun4u Ultra1), to no avail. Sound plays fine here.
(english DOTT Talkie, mp3 sound file, audio through SDL1.2.6.)

comment:11 Changed 16 years ago by fingolfin

Resolution: worksforme
Status: newclosed

comment:12 Changed 16 years ago by fingolfin

This almost guranteed to not be an endian bug. check your MP3 files, check
the rest of your setup, etc. Maybe you can find some other Linux/PPC users
who run ScummVM and can exchange experiences with them.

comment:13 Changed 16 years ago by (none)

Which OS on the Ultra 1 machine?

SDL 1.2.6 doesn't exist..?

As I stated before my mp3 works fine on i386.

I am not a Linux/PPC user... I just figured that would be the closest platform
to OpenBSD/macppc...

comment:14 Changed 16 years ago by SF/wooshell

Solaris 8 Rev. 02/02 (MU6 108528-11)
SDL 1.2.6 is the cvs version, built somewhen middle April.

comment:15 Changed 8 months ago by digitall

Component: --Unset--Audio
Note: See TracTickets for help on using tickets.