#3081 closed defect (fixed)
VORBIS: .sou and .bun file regressions
Reported by: | eriktorbjorn | Owned by: | fingolfin |
---|---|---|---|
Priority: | high | Component: | Engine: SCUMM |
Version: | Keywords: | ||
Cc: | Game: |
Description
latest SVN snapshot.
The recent Vorbis changes seem to have introduced regression with Ogg Vorbis compressed .bun and .sou files. Since these are probably caused by the same thing, I'm reporting them as one bug rather than two.
With .sou files, the first sound plays without problem. After that, it fails with a "WARNING: startTalkSound: SFX file is not open!" message.
Digital iMUSE simply crashes.
I don't understand exactly why yet, but it seems to be at least indirectly connected to vorbis.cpp's close_wrap() deleting (and thereby closing, I guess) the file.
I haven't checked if this is also true of MP3 and FLAC.
Ticket imported from: #1665707. Ticket imported from: bugs/3081.
Change History (7)
comment:1 by , 18 years ago
Owner: | set to |
---|
comment:2 by , 18 years ago
Priority: | normal → high |
---|
comment:3 by , 18 years ago
comment:4 by , 18 years ago
I noticed your changes but I won't be able to try them for another few hours. I look forward to it.
If the problem still remains you can't really miss it though. The Curse of Monkey Island crashed after maybe a second or two on the difficulty selection screen. The Dig crashed immediately after pressing Escape in the opening SMUSH movie. I tried Valgrinding the CoMI case, and if I remember correctly the first thing it complained about was an invalid read at the _file->seek() line in BundleMgr::getFile(). I think that what it meant was that _file itself was invalid.
That, and the "SFX file not open" messages, is what led me to close_wrap() in vorbis.cpp, but by then I no longer had the time to investigate any further.
comment:6 by , 18 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
comment:7 by , 6 years ago
Component: | → Engine: SCUMM |
---|
I actually rewrote the Vorbis code partially this morning. For me, things seem to work (well, monste.sog files at least -- didn't try .bun files yet). Does this resolve the bug? If not, could you give me a specific example where/how to reproduce it? Thanks!