Hi!
Nach kurzer Pause läuft meine rudimentäre Engine jetzt nicht mehr auf iPad. Seid neuem IOS und XCODE update.
Es hängt an einer einzigen Stelle der Sound Funktion die aber vorher ohne Probleme funktioniert hat...
Hier das Stückchen code, es ist die letzte Zeile darin die lautet:
"memcpy( (char*)dst, &tmpBuff[0], ret);"
Wenn ich sie auskommentiere hängt sich das Programm nicht mehr auf, aber der Sound geht nicht mehr
Der Fehlercode lautet: EXC_BAD_ACCESS ( code=1, adress... )
Die Warnung der selben Zeile vorher: "Cast to char * from smaller integer type int"
Wie kann es sein das das jetzt auch einmal streikt? Und wie bekomme ich den Dreher wieder raus?
Oder kann es sein das ich meine OpenAL Framework updaten muss?
Hoffe Ihr könnt mir helfen.
Danke!
Ray
Alles anzeigen
Nach kurzer Pause läuft meine rudimentäre Engine jetzt nicht mehr auf iPad. Seid neuem IOS und XCODE update.
Es hängt an einer einzigen Stelle der Sound Funktion die aber vorher ohne Probleme funktioniert hat...
Hier das Stückchen code, es ist die letzte Zeile darin die lautet:
"memcpy( (char*)dst, &tmpBuff[0], ret);"
Wenn ich sie auskommentiere hängt sich das Programm nicht mehr auf, aber der Sound geht nicht mehr
Der Fehlercode lautet: EXC_BAD_ACCESS ( code=1, adress... )
Die Warnung der selben Zeile vorher: "Cast to char * from smaller integer type int"
Wie kann es sein das das jetzt auch einmal streikt? Und wie bekomme ich den Dreher wieder raus?
Oder kann es sein das ich meine OpenAL Framework updaten muss?
Hoffe Ihr könnt mir helfen.
Danke!
Ray
Quellcode
-
- if ((fh = fopen([fsPath UTF8String], "r")) != NULL) {
- // open ogg file
- OggVorbis_File vf;
- int eof = 0;
- int current_section;
- if(ov_open(fh, &vf, NULL, 0) < 0) {
- NSLog(@"SoundOAL: Input does not appear to be an Ogg bitstream");
- [NSException raise:@"PASoundEngine:InvalidOggFormat" format:@"InvalidOggFormat"];
- }
- // get meta info (sample rate & mono/stereo format)
- vorbis_info *vi = ov_info(&vf,-1);
- freq = (ALsizei)vi->rate;
- format = (vi->channels == 1) ? AL_FORMAT_MONO16 : AL_FORMAT_STEREO16;
- // decode data
- size = 0;
- char tmpBuff[kBuffSize];
- char *newData;
- while(!eof) {
- int ret = ov_read(&vf, &tmpBuff[0], kBuffSize, ¤t_section);
- if (ret == 0) {
- eof = 1;
- } else if (ret < 0) {
- /* error in the stream. Not a problem, just reporting it in
- case we (the app) cares. In this case, we don't. */
- NSLog(@"SoundOAL:Error reading buffer");
- [NSException raise:@"PASoundEngine:Error reading file" format:@"Error reading file"];
- } else {
- size += ret;
- // 1st malloc
- if( !data )
- newData = malloc(ret);
- else
- newData = realloc( data, size);
- if( ! newData ) {
- NSLog(@"SoundOAL: Not enough memory");
- [NSException raise:@"PASoundEngine:NotEnoughMemory" format:@"NotEnoughMemory"];
- }
- data = newData;
- int dst = (int)data + (size-ret);
- memcpy( (char*)dst, &tmpBuff[0], ret);
- }
- }
Just a bloggingFreak raysspieleschmiede.blogspot.de freakwave-games.blogspot.de