I’m new to FMOD. I’d like to load up an m3u playlist, so I perused the example code for such a task and modeled after it. However, it always crashes my program when I try to run it. Here is the code that attempts to load the m3u file:
[code:clkdwebo]FMOD_RESULT eResult = m_pkSystem->createSound("C:\user\CarCraneium\CarCraneium\assets\music\music.m3u", FMOD_DEFAULT, 0, &m_pkPlaylist);[/code:clkdwebo]
I can play regular mp3 sounds off of the m_pkSystem, so I don’t believe that’s a problem. The m_pkPlaylist variable is of type FMOD::Sound*and is set to zero when this function gets called.
The m3u file came from Windows Media Player, and consists of the following:
EXTINF:212,You Are Smart
You Are Smart.mp3
Any time the line above is called, I get the following error in Windows:
[quote:clkdwebo]Unhandled exception at 0x1005ab1a in CarCraneium.exe: 0xC0000005: Access violation reading location 0x00000104.[/quote:clkdwebo]
And, the call stack is as follows:
[quote:clkdwebo][Frames below may be incorrect and/or missing, no symbols loaded for fmodex.dll]
msvcr80d.dll!_vsnprintf_helper(int (_iobuf *, const char *, localeinfo_struct *, char *)* outfn=0x10228980, char * string=0x0012f93c, unsigned int count=270663397, const char * format=0x0099a022, localeinfo_struct * plocinfo=0x000000fd, char * ap=0x000000ea) Line 140 + 0x13 bytes C
msvcr80d.dll!_vsprintf_s_l(char * string=0x0012fa24, unsigned int sizeInBytes=1243696, const char * format=0x00000013, localeinfo_struct * plocinfo=0x01ede0c8, char * ap=0xcccccccc) Line 236 + 0x1e bytes C
CarCraneium.exe!CCJukebox::LoadPlaylist(const char * inFilename=0x0099a008) Line 71 + 0x1b bytes C++
I also tried the same code on Mac OS 10.4, and got a similar error. The top of the callstack in that case was the getUserData function. I also tried passing in the following FMOD_CREATESOUNDEXINFO structure:
[code:clkdwebo] FMOD_CREATESOUNDEXINFO kInfo;
kInfo.cbsize = sizeof(FMOD_CREATESOUNDEXINFO);
kInfo.format = FMOD_SOUND_FORMAT_NONE;
kInfo.suggestedsoundtype = FMOD_SOUND_TYPE_PLAYLIST;
kInfo.length = 0;
kInfo.fileoffset = 0;
kInfo.numchannels = 0;
kInfo.defaultfrequency = 0;
kInfo.decodebuffersize = 5000;
kInfo.initialsubsound = 0;
kInfo.numsubsounds = 0;
kInfo.inclusionlist = 0;
kInfo.inclusionlistnum = 0;
kInfo.pcmreadcallback = 0;
kInfo.pcmsetposcallback = 0;
kInfo.nonblockcallback = 0;
kInfo.dlsname = NULL;
kInfo.encryptionkey = NULL;
kInfo.maxpolyphony = 0;
kInfo.userdata = NULL;[/code:clkdwebo]
but still recieved the same crashes.
Any ideas as to what might be causing this problem? Thanks in advance!
- bsilva asked 12 years ago
If the version function said 4.4.8 that is obviously not 4.4.14 or 4.4.15.
You still have an old dll lying around somehwere, find it and delete it. Remember to check dll search paths like \windows\system, if you’ve copied it there you shouldn’t because it just causes problems like this.
I was using 4.0.12, so I installed 4.0.14 but still received the same problem. I also tried 4.0.15 and got the same results.
I used the uninstaller programs and then reinstalled. I also cleaned my build and rebuilt the project to make sure it got linked through.
When I use getVersion on the FMOD::System object, it returns 4.4.8 for both v4.0.15 and v4.0.14. Is this correct?
Thanks for the advice : I will certainly do a better job keeping up with revisions and the development releases.
Any other ideas on this problem?
- bsilva answered 12 years ago
Please login first to submit.