Because of the proprietary packaging system our studio uses, we are creating an FMOD sound object using [b:3p89jssw]FMOD::System::createSound()[/b:3p89jssw] from FSB data already in memory. We are then "registering" the loaded wavebank using [b:3p89jssw]FMOD::EventSystem::preloadFSB()[/b:3p89jssw].

Then when we need to release the sound data, we are calling
[b:3p89jssw]FMOD::EventSystem::unloadFSB() [/b:3p89jssw]and [b:3p89jssw]FMOD::Sound::release()[/b:3p89jssw]. However, we are getting an access violation when calling release() on the [b:3p89jssw]FMOD::Sound[/b:3p89jssw] object at least some of the time.

I linked in the logging libraries, and after checking the TTY output I believe that this [b:3p89jssw]FMOD::Sound [/b:3p89jssw]object may already be getting released in a call to either [b:3p89jssw]FMOD::EventGroup::freeEventData()[/b:3p89jssw] or [b:3p89jssw]FMOD::EventProject::release()[/b:3p89jssw]. From what I can tell, there seems to be no way to test for the validity of a [b:3p89jssw]FMOD::Sound [/b:3p89jssw]object pointer to see if it have already been released.

Can you reproduce this issue for us? The event system does not release sounds that are created by the user.
Actually a few changes were made to unloadFSB recently to fix a problem with streams, have you made sure you are using the latest version?

[quote="brett":148jps8t]Can you reproduce this issue for us? The event system does not release sounds that are created by the user.
Actually a few changes were made to unloadFSB recently to fix a problem with streams, have you made sure you are using the latest version?[/quote:148jps8t] I am using 4.20.05. We are not streaming, and it appears the event system DOES release sounds created by the user, unless I am misitrepreting something.

[i:148jps8t]EDIT: I should also note that the TTY output line "Calling FMOD::Sound::release()" near the bottom is where I am calling FMOD::Sound::release() on the object I created with FMOD::System::createSound() and passed to FMOD::EventSytem::preloadFSB(), and that this code is running on a XBox 360.[/i:148jps8t]

I should note that we were on version 4.18.0, but recently upgraded. I get the same behavior with both versions…

I really, really need to figure this out. I am creating a sound using FMOD_OPENMEMORY_POINT, and when freeEventData() is called my FMOD::Sound object is getting released (which shouldn’t happen right?), and thus I am getting an access violation when trying to reuse the event same later…