We’re using ambient events that are defined as streams. When i’m trying to free the data of one of the streams after crossfading to another i use freeEventData(eventPointer, false) on the parentGroup. Setting the block parameter to true is working fine and releases the stream memory correctly, but creates a freeze on the Wii till the reads have finished. Setting it to false and calling freeEventData every frame to see when i get an FMOD_OK result always gets FMOD_ERR_NOTREADY and never gets the ok. All non-stream sfx are working fine and are released.
Getting the parentGroup does not throw an error, as well as getting the state of the parentGroup. Is it normal the the state of the parentGroup returns a 0x00000000? I thought it would return a READY.
Any help/suggestions/ideas would be appreciated
- manni asked 9 years ago
just a quick update: i’m now getting the groupStatus correctly, the first few times i check it it gives me loading|playing (on the wii), after this, it returns only playing (we’re playing another ambient stream from the same group at that moment), so that should be correct. Still the freeEventData returns false everytime i try
edit: I’ve tried starting just one stream for testing, stopping and trying to free it again. Since no other event from this group is playing, i get "ready" as the state of the "to-free" event, and zero for the group state. Again, freeEventData never returns true when setting the "waituntilready" parameter in freeEventData to false. Setting this to true, freeEventData returns true, but blocks till all reads are finished.
we’re experiencing problems with freeEventData(eventPointer, false) again. we’re calling each frame. on the PC the data is freed correctly for sfx and streams, on the WII the buffer for the streams are not freed – freeEventData always returns false.
any ideas or waiting bugfixes for the next version? 😉
we’re using stable version 4.14.02
hm… i’m working on a sample right now, but what i just noticed is that:
– one stream playing, stopped and started another stream from a different group in the same frame -> stream gets freed correctly
– one stream playing, stopped and started another stream from the SAME group (groupState: playing) in the same frame -> stream doesn’t ever get freed
this behaviour is reproducable, perhaps it can help you guys.
- manni answered 8 years ago
Please login first to submit.