diff mbox series

audio/sdl2: fix unrecognized audio format

Message ID 20200120024422.GA686@PC-SEANJYE
State New
Headers show
Series audio/sdl2: fix unrecognized audio format | expand

Commit Message

KJ Liew Jan. 20, 2020, 2:44 a.m. UTC
On Windows/SDL2, SDL_OpenAudio() may obtain audio format different from
requested format.

QEMU trace:
sdl: sdl_open: req.fmt = 0x8010 obt.fmt = 0x8120
sdl: Unrecognized SDL audio format 33056
sdl: SDL_OpenAudio failed

The easiest fix is to force audio format conversion internal to SDL2.
diff mbox series

Patch

diff -ru ../orig/qemu-4.2.0/audio/sdlaudio.c ../qemu-4.2.0/audio/sdlaudio.c
--- ../orig/qemu-4.2.0/audio/sdlaudio.c	2019-12-12 10:20:47.000000000 -0800
+++ ../qemu-4.2.0/audio/sdlaudio.c	2020-01-15 15:56:25.059841600 -0800
@@ -147,10 +147,11 @@ 
     }
 #endif
 
-    status = SDL_OpenAudio (req, obt);
+    status = SDL_OpenAudio (req, NULL);
     if (status) {
         sdl_logerr ("SDL_OpenAudio failed\n");
     }
+    memcpy(obt, req, sizeof(SDL_AudioSpec));
 
 #ifndef _WIN32
     err = pthread_sigmask (SIG_SETMASK, &old, NULL);