aboutsummaryrefslogtreecommitdiff
path: root/tests/sdl_audio_quickload.c
diff options
context:
space:
mode:
authorEhsan Akhgari <ehsan.akhgari@gmail.com>2012-06-25 19:13:35 -0400
committerEhsan Akhgari <ehsan.akhgari@gmail.com>2012-06-25 19:13:35 -0400
commit5940f3189736ba5a935b35485feac1d0ec00f7fc (patch)
treefcb8c25e3d55b8c4699c6f4c14bea3812db3c81b /tests/sdl_audio_quickload.c
parentff674a7489ae519cbce9e139e7cc19fc096a83f4 (diff)
Implement Mix_QuickLoad_RAW
Diffstat (limited to 'tests/sdl_audio_quickload.c')
-rw-r--r--tests/sdl_audio_quickload.c44
1 files changed, 44 insertions, 0 deletions
diff --git a/tests/sdl_audio_quickload.c b/tests/sdl_audio_quickload.c
new file mode 100644
index 00000000..1525d048
--- /dev/null
+++ b/tests/sdl_audio_quickload.c
@@ -0,0 +1,44 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <SDL/SDL.h>
+#include <SDL/SDL_mixer.h>
+#include <assert.h>
+#include <limits.h>
+#include <emscripten.h>
+
+Mix_Chunk *sound;
+
+void play() {
+ int channel = Mix_PlayChannel(-1, sound, 1);
+ assert(channel == 0);
+
+ int result = 1;
+ REPORT_RESULT();
+}
+
+int main(int argc, char **argv) {
+ SDL_Init(SDL_INIT_AUDIO);
+
+ int ret = Mix_OpenAudio(44100, MIX_DEFAULT_FORMAT, 2, 1024);
+ assert(ret == 0);
+
+ Uint16* buffer = (Uint16*)malloc(10*44100*sizeof(Uint16));
+ for (Uint32 i = 0; i < 10*44100; ++i) {
+ buffer[i] = (i * 5) % UINT32_MAX;
+ }
+ sound = Mix_QuickLoad_RAW((Uint8*) buffer, 10*44100*sizeof(Uint16));
+ assert(sound);
+
+ play();
+
+ emscripten_run_script("element = document.createElement('input');"
+ "element.setAttribute('type', 'button');"
+ "element.setAttribute('value', 'replay!');"
+ "element.setAttribute('onclick', 'Module[\"_play\"]()');"
+ "document.body.appendChild(element);");
+
+ printf("you should one sounds. press the button to replay!\n");
+
+ return 0;
+}
+