ofSoundStreamSetup - crashes when closing app

Hi,

under OSX10.6.6 I experienced, that OF apps that include “ofSoundStreamSetup()” are not finishing correct. It’s hanging for a while.

It appears with the “audioOutputExample”…for example.
Anyone else having this problem?

Best,
K.

Hello

Yes I am having the same problem using OSX10.6.5, and can’t figure out whats going on.
I am also new to OF which doesn’t help!

Any solutions yet?

Hi JB,

thanks for the test! I have no solution right now, but it’s good to know that I’m not the only one having this issue.
I used OF with my old Macbook osx 10.4, and never had that problem. So it could be the rt-audio driver with core audio?
Does everything work for someone on Mac Osx 10.6 ?

Any ideas?

K.

[quote author=“ketchupok”]Hi,

under OSX10.6.6 I experienced, that OF apps that include “ofSoundStreamSetup()” are not finishing correct. It’s hanging for a while.

It appears with the “audioOutputExample”…for example.
Anyone else having this problem?

Best,
K.[/quote]

No idea if this has been solved elsewhere, but :

Yes I’ve had this problem with the current release of OF on Snow Leopard.

It’s definitely a problem with ofSoundStreamStop() not being able to stop the stream when the app exits. It can stop the stream perfectly well beforehand.

I commented out ofSoundStreamStop() from ofExitCallback() like this :

  
void ofExitCallback(){  
  
	//------------------------  
	// try to close FMOD:  
	ofSoundPlayer::closeFmod();  
	//------------------------  
  
	//------------------------  
	// try to close rtAudio:  
  
	//ofSoundStreamStop();  
	  
	ofSoundStreamClose();  
  

and then re-wrote ofSoundStream.cpp so that ofSoundStreamClose() doesn’t try to stop the stream either, like this.

  
void ofSoundStreamClose(){  
	  
	if(!audio) return;  
	  
	try {  
    	  
		//audio->stopStream();  
		printf("trying to close RtAudio\n");  
		  
    	audio->closeStream();  
		  
		printf("made it to the end of closeStream\n");  
		  
  	} catch (RtError &error) {  
   		error.printMessage();  
 	}  
	delete audio;  
}  
  

This left me with the following error when I quit :

emptyExampleDebug(4880,0xa0bec540) malloc: *** error for object 0x1c00000: pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug
emptyExampleDebug(4880,0xa0bec540) malloc: *** error for object 0x69536572: pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug

To fix this, I commented out the following line from ofExitCallback() in ofAppRunner.cpp

//if(OFSAptr)delete OFSAptr;

This may be totally mental but the app quits without errors.