0

I am integrating OpenAL in my iPhone game from code I found in this post, but the compiler gave me an error on this line of code:
unsigned char *outData = malloc(fileSize);

so I changed it to this:
unsigned char *outData = (unsigned char*) malloc(fileSize);.

This got rid of the compiler errors, but seems to have thrown up two leaks:
Malloc 32 Bytes 0x505cb40 AudioToolbox SimAggregateDevice::CreateAggregateDevice(__CFString const*, __CFString const*, unsigned long&)

and
NSCFDictionary 0x505be30 64 AudioToolbox SimAggregateDevice::CreateAggregateDevice(__CFString const*, __CFString const*, unsigned long&)

Is this due to me changing the unsigned char line? I would be very grateful if someone could help me to remove these leaks.

Community
  • 1
  • 1

1 Answers1

0

I'm assuming you are using a .mm file instead of a .m (It's the only reason I can think that the compiler will yield an error without the cast). The change you made will have no effect on memory management, and will certainly not cause the leak. Are you freeing this data after using it?

Marcelo Cantos
  • 181,030
  • 38
  • 327
  • 365
  • Yes, later I call 'if (outData) { free(outData); outData = NULL; }' Having done another run with instruments, it is now giving me 10 leaks!! 5 of which are the same as above, and the other 5 are: 'Malloc 32 Bytes 0x531b5d0 AudioToolbox CreateDictionaryForDevice(unsigned long)' – AptoTech Mar 27 '10 at 12:11
  • Sorry, I'm stumped. I can only surmise that some OpenAL resource isn't being released or closed or whatever. I don't know OpenAL well enough to suggest anything more. – Marcelo Cantos Mar 27 '10 at 12:18
  • Thanks for help anyway :), I guess il have to work on it some more. If anyone who does have OpenAL experience could help me I would really appreciate it. – AptoTech Mar 27 '10 at 14:32