Handle problems with opening audio device
authorAndreas Eversberg <jolly@eversberg.eu>
Sun, 18 Mar 2018 17:44:10 +0000 (18:44 +0100)
committerAndreas Eversberg <jolly@eversberg.eu>
Sun, 18 Mar 2018 17:44:10 +0000 (18:44 +0100)
src/libsdl/sdl.c

index 99178db..d310791 100644 (file)
@@ -125,9 +125,17 @@ int init_sdl(const char *progname, int width, int height, int sound_samplerate,
        rc = SDL_OpenAudio(&want, &have);
        if (rc < 0) {
                fprintf(stderr, "Failed to open audio\n");
+               goto error;
        } else if (have.format != want.format) {
                fprintf(stderr, "Failed to open audio with desired audio format\n");
                SDL_CloseAudio();
+               rc = -EIO;
+               goto error;
+       } else if (have.freq != want.freq) {
+               fprintf(stderr, "Failed to open audio with desired sample rate\n");
+               SDL_CloseAudio();
+               rc = -EIO;
+               goto error;
        } else {
                SDL_PauseAudio(0);
                audio_initialized = 1;