mirror of
				https://github.com/Ryujinx/SDL.git
				synced 2025-11-04 08:45:00 +00:00 
			
		
		
		
	emscripten: get even more aggressive about audio device closing.
I still get exceptions thrown sometimes on shutdown without this.
This commit is contained in:
		
							parent
							
								
									b7818d7124
								
							
						
					
					
						commit
						06700a905b
					
				| 
						 | 
					@ -346,6 +346,7 @@ EMSCRIPTENAUDIO_OpenDevice(_THIS, void *handle, const char *devname, int iscaptu
 | 
				
			||||||
                SDL2.capture.mediaStreamNode = SDL2.audioContext.createMediaStreamSource(stream);
 | 
					                SDL2.capture.mediaStreamNode = SDL2.audioContext.createMediaStreamSource(stream);
 | 
				
			||||||
                SDL2.capture.scriptProcessorNode = SDL2.audioContext.createScriptProcessor($1, $0, 1);
 | 
					                SDL2.capture.scriptProcessorNode = SDL2.audioContext.createScriptProcessor($1, $0, 1);
 | 
				
			||||||
                SDL2.capture.scriptProcessorNode.onaudioprocess = function(audioProcessingEvent) {
 | 
					                SDL2.capture.scriptProcessorNode.onaudioprocess = function(audioProcessingEvent) {
 | 
				
			||||||
 | 
					                    if ((SDL2 === undefined) || (SDL2.capture === undefined)) { return; }
 | 
				
			||||||
                    audioProcessingEvent.outputBuffer.getChannelData(0).fill(0.0);
 | 
					                    audioProcessingEvent.outputBuffer.getChannelData(0).fill(0.0);
 | 
				
			||||||
                    SDL2.capture.currentCaptureBuffer = audioProcessingEvent.inputBuffer;
 | 
					                    SDL2.capture.currentCaptureBuffer = audioProcessingEvent.inputBuffer;
 | 
				
			||||||
                    Runtime.dynCall('vi', $2, [$3]);
 | 
					                    Runtime.dynCall('vi', $2, [$3]);
 | 
				
			||||||
| 
						 | 
					@ -380,6 +381,7 @@ EMSCRIPTENAUDIO_OpenDevice(_THIS, void *handle, const char *devname, int iscaptu
 | 
				
			||||||
        EM_ASM_ARGS({
 | 
					        EM_ASM_ARGS({
 | 
				
			||||||
            SDL2.audio.scriptProcessorNode = SDL2.audioContext['createScriptProcessor']($1, 0, $0);
 | 
					            SDL2.audio.scriptProcessorNode = SDL2.audioContext['createScriptProcessor']($1, 0, $0);
 | 
				
			||||||
            SDL2.audio.scriptProcessorNode['onaudioprocess'] = function (e) {
 | 
					            SDL2.audio.scriptProcessorNode['onaudioprocess'] = function (e) {
 | 
				
			||||||
 | 
					                if ((SDL2 === undefined) || (SDL2.audio === undefined)) { return; }
 | 
				
			||||||
                SDL2.audio.currentOutputBuffer = e['outputBuffer'];
 | 
					                SDL2.audio.currentOutputBuffer = e['outputBuffer'];
 | 
				
			||||||
                Runtime.dynCall('vi', $2, [$3]);
 | 
					                Runtime.dynCall('vi', $2, [$3]);
 | 
				
			||||||
            };
 | 
					            };
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue