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.main
parent
9a5f7b17c6
commit
c552cc6847
|
@ -602,9 +602,6 @@ int SDL_InitAudio(const char *driver_name)
|
||||||
SDL_QuitAudio(); // shutdown driver if already running.
|
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.
|
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) {
|
if (!device_list_lock) {
|
||||||
return -1;
|
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)
|
SDL_AudioStream *SDL_CreateAudioStream(const SDL_AudioSpec *src_spec, const SDL_AudioSpec *dst_spec)
|
||||||
{
|
{
|
||||||
if (!SDL_WasInit(SDL_INIT_AUDIO)) {
|
SDL_ChooseAudioConverters();
|
||||||
SDL_SetError("Audio subsystem is not initialized");
|
SDL_SetupAudioResampler();
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
SDL_AudioStream *retval = (SDL_AudioStream *)SDL_calloc(1, sizeof(SDL_AudioStream));
|
SDL_AudioStream *retval = (SDL_AudioStream *)SDL_calloc(1, sizeof(SDL_AudioStream));
|
||||||
if (retval == NULL) {
|
if (retval == NULL) {
|
||||||
|
|
|
@ -481,6 +481,10 @@ static int audio_buildAudioStream(void *arg)
|
||||||
SDL_AudioSpec spec2;
|
SDL_AudioSpec spec2;
|
||||||
int i, ii, j, jj, k, kk;
|
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 */
|
/* No conversion needed */
|
||||||
spec1.format = SDL_AUDIO_S16LE;
|
spec1.format = SDL_AUDIO_S16LE;
|
||||||
spec1.channels = 2;
|
spec1.channels = 2;
|
||||||
|
@ -528,6 +532,9 @@ static int audio_buildAudioStream(void *arg)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Restart audio again */
|
||||||
|
audioSetUp(NULL);
|
||||||
|
|
||||||
return TEST_COMPLETED;
|
return TEST_COMPLETED;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue