mirror of
				https://github.com/libsdl-org/SDL.git
				synced 2025-10-26 12:27:44 +00:00 
			
		
		
		
	We don't require the audio system to be initialized for audio format conversion
This is helpful for tools pipelines where audio devices are never used.
This commit is contained in:
		| @@ -602,9 +602,6 @@ int SDL_InitAudio(const char *driver_name) | ||||
|         SDL_QuitAudio(); // shutdown driver if already running. | ||||
|     } | ||||
|  | ||||
|     SDL_ChooseAudioConverters(); | ||||
|     SDL_SetupAudioResampler(); | ||||
|  | ||||
|     SDL_RWLock *device_list_lock = SDL_CreateRWLock();  // create this early, so if it fails we don't have to tear down the whole audio subsystem. | ||||
|     if (!device_list_lock) { | ||||
|         return -1; | ||||
|   | ||||
| @@ -404,10 +404,8 @@ static int UpdateAudioStreamInputSpec(SDL_AudioStream *stream, const SDL_AudioSp | ||||
|  | ||||
| SDL_AudioStream *SDL_CreateAudioStream(const SDL_AudioSpec *src_spec, const SDL_AudioSpec *dst_spec) | ||||
| { | ||||
|     if (!SDL_WasInit(SDL_INIT_AUDIO)) { | ||||
|         SDL_SetError("Audio subsystem is not initialized"); | ||||
|         return NULL; | ||||
|     } | ||||
|     SDL_ChooseAudioConverters(); | ||||
|     SDL_SetupAudioResampler(); | ||||
|  | ||||
|     SDL_AudioStream *retval = (SDL_AudioStream *)SDL_calloc(1, sizeof(SDL_AudioStream)); | ||||
|     if (retval == NULL) { | ||||
|   | ||||
| @@ -481,6 +481,10 @@ static int audio_buildAudioStream(void *arg) | ||||
|     SDL_AudioSpec spec2; | ||||
|     int i, ii, j, jj, k, kk; | ||||
|  | ||||
|     /* Call Quit */ | ||||
|     SDL_QuitSubSystem(SDL_INIT_AUDIO); | ||||
|     SDLTest_AssertPass("Call to SDL_QuitSubSystem(SDL_INIT_AUDIO)"); | ||||
|  | ||||
|     /* No conversion needed */ | ||||
|     spec1.format = SDL_AUDIO_S16LE; | ||||
|     spec1.channels = 2; | ||||
| @@ -528,6 +532,9 @@ static int audio_buildAudioStream(void *arg) | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     /* Restart audio again */ | ||||
|     audioSetUp(NULL); | ||||
|  | ||||
|     return TEST_COMPLETED; | ||||
| } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Sam Lantinga
					Sam Lantinga