0
0

[code:3cdbf1d8]

8/02/07 4.06.08 – Stable release update

!- Fix hang bug introduced in 4.06.07.
– Fix System::setStreamBufferSize and FMOD_TIMEUNIT_MS with FSB files.
– Event API – Fixed "Max playbacks behaviour" "Steal oldest"
– Event API – Fixed "Max playbacks behaviour" "Steal quietest"
– Event API – Fixed sound definition "Play mode" "RandomNoRepeat"
– Event API – Fixed EventSystem::update scaling cpu cost with project size
– Fix Channel::set3DOcclusion/get3DOcclusion documentation.
– Fixed DSP played with System::playDSP not being 3d if
Channel::setMode(FMOD_3D) was called. (Channel::set3DPanLevel(1.0f) would
have also fixed it.)

[/code:3cdbf1d8]

This thread is for discussion / bugreports for the current release.
Download the current release from the front page at http://www.fmod.org

  • You must to post comments
0
0

I’ve only just recently added support for playing CD Audio to my Audio Player project. Now that its been added, I’m getting reports of quite a few crashes and have been able to reproduce it in a debug build.

The problem is that it appears to be crashing in the Fmod dll and only when playing CD Audio tracks.

I’ve reported it in this thread as I’ve recently upgraded to this version of the dll and am not sure if it happens in previous versions or just this version.

I’ve used the FMODExL.dll in order to produce a better stack and it seems to be dying when releasing or creating the CD audio streams. Any other streams including net streams are fine, its just the CD audio streams

Here is an example Stack trace:

[code:5uvz6wz5]
ntdll.dll!7c911ec3()
ntdll.dll!7c910d5c()
ntdll.dll!7c91056d()
msvcrt.dll!77c2c2de()
fmodex.dll!100126ea()
fmodex.dll!10012dde()
fmodex.dll!10062095()
fmodex.dll!10015b2a()
> Xion.exe!XionPlayer::ReleaseCurrentOpen() Line 1454 C++
[/code:5uvz6wz5]

Another example is when the Stream is first opened:
[code:5uvz6wz5]
ntdll.dll!7c911404()
ntdll.dll!7c9105c8()
ntdll.dll!7c910551()
ntdll.dll!7c91056d()
ntdll.dll!7c9140bb()
kernel32.dll!7c81095f()
kernel32.dll!7c80e0af()
kernel32.dll!7c801a4f()
ntdll.dll!7c90e234()
msvcrt.dll!77c2f49f()
msvcrt.dll!77c2c3c9()
msvcrt.dll!77c2e556()
msvcrt.dll!77c2c3e7()
msvcrt.dll!77c2c42e()
msvcrt.dll!77c42ed2()
msvcrt.dll!77c3ecd3()
msvcrt.dll!77c416f9()
msvcrt.dll!77c40f16()
msvcrt.dll!77c3f000()
fmodex.dll!1000ee0d()
fmodex.dll!1000f064()
ntdll.dll!7c910732()
ntdll.dll!7c910732()
ntdll.dll!7c9106ab()
ntdll.dll!7c9106eb()
ntdll.dll!7c918331()
ntdll.dll!7c9105c8()
ntdll.dll!7c910551()
ntdll.dll!7c91056d()
msvcrt.dll!77c2c2e3()
ntdll.dll!7c9106eb()
msvcrt.dll!77c2c3c9()
msvcrt.dll!77c2c3ce()
msvcrt.dll!77c2c3ce()
msvcrt.dll!77c2c3e7()
fmodex.dll!10012d17()
fmodex.dll!10069a42()
fmodex.dll!10069c69()
fmodex.dll!10016be7()
> Xion.exe!XionPlayer::InputOpen() Line 342 + 0x28 C++
[/code:5uvz6wz5]

The end of the fmod.log file just before the crash looks like:
[code:5uvz6wz5]
FMOD: Codec::release :
FMOD: SoundI::release : (null) (0110BF80)
FMOD: SoundI::release : stopping sound. (0110BF80)
FMOD: SoundI::release : free this. (0110BF80)
FMOD: SoundI::release : done (0110BF80)
FMOD: SoundI::release : Track 1 (011A1940)
FMOD: SoundI::release : stopping sound. (011A1940)
FMOD: SoundI::release : remove stream samples. (011A1940)
FMOD: SoundI::release : Track 1 (011B0DD0)
FMOD: SoundI::release : stopping sound. (011B0DD0)
FMOD: SoundI::release : free this. (011B0DD0)
FMOD: SoundI::release : done (011B0DD0)
FMOD: SoundI::release : release codec. (011A1940)
FMOD: Codec::release :
FMOD: Codec::release : Close file (mFile = 003AC028)
FMOD: Thread::callback : * finished
FMOD: Thread::close : FMOD file thread thread destroyed
FMOD: Plugin::release : (011B0BC0)
FMOD: Plugin::release : done
FMOD: Codec::release :
FMOD: SoundI::release : release subsounds. (011A1940)
FMOD: SoundI::release : (null) (0110BF80)
FMOD: SoundI::release : stopping sound. (0110BF80)
FMOD: SoundI::release : free this. (0110BF80)
FMOD: SoundI::release : done (0110BF80)
FMOD: SoundI::release : free this. (011A1940)
FMOD: SoundI::release : done (011A1940)
FMOD: SystemI::createSound : filename = H: : mode 0001c0c8
FMOD: SystemI::createSound : FMOD_NONBLOCKING specified. Putting into queue to be opened asynchronously!
[/code:5uvz6wz5]

Brett, if you could take a look using a debug version of Fmod, perhaps you can see what is going wrong.

To reproduce please do the following:

Download the Beta version of my player from -> http://www.r2.com.au/fmod/qa-xion_v1.0b73-cdcrash.exe

After installing, insert an Audio CD and add all the tracks (can be done by dragging and dropping the .cda files onto the playlist or by dragging and dropping the CD drive onto the player/playlist, or by choosing ‘Play with Xion’ when the CD is inserted).

Crash ->
Now start playing the CD Audio tracks. Click next each time the track starts playing. After a couple of Next clicks, it will crash.

If this is caused by something I am doing incorrectly with Fmod, then please let me know, but from what I can see its very similar to what I’ve always been doing, other than now I’m playing a sub sound. When I release, I release both the sound that was created with createStream as well as the sound that was created when getSubSound is called.

Once this issue is cleared I think I can do another Public Release, however until it is cleared I am unable to go any further. My only other option is to remove support for CD Audio Playback, however I would prefer not to have to do this.

Thanks for your time :)

Cliff :)

  • You must to post comments
Showing 1 result
Your Answer

Please first to submit.