7 #define _CRT_SECURE_NO_WARNINGS
35 remove(
"sdlaudio.raw");
87 const char* audioDriver;
96 SDLTest_AssertCheck(iMax > 0,
"Validate number of audio drivers; expected: >0 got: %d", iMax);
97 for (i = 0; i < iMax; i++) {
101 SDLTest_AssertCheck(audioDriver[0] !=
'\0',
"Audio driver name is not empty; got: %s", audioDriver);
141 int result, expectedResult;
143 const char* audioDriver;
153 SDLTest_AssertCheck(iMax > 0,
"Validate number of audio drivers; expected: >0 got: %d", iMax);
154 for (i = 0; i < iMax; i++) {
158 SDLTest_AssertCheck(audioDriver[0] !=
'\0',
"Audio driver name is not empty; got: %s", audioDriver);
161 for (j = 0; j < 2; j++) {
173 desired.
freq = 22050;
182 desired.
freq = 48000;
192 for (k=0; k <=
j; k++) {
195 expectedResult = (k==0) ? 0 : -1;
196 SDLTest_AssertCheck(result == expectedResult,
"Verify return value; expected: %d, got: %d", expectedResult, result);
200 for (k=0; k <=
j; k++) {
206 for (k=0; k <=
j; k++) {
228 int i, iMax,
j,
k, l;
232 const char* audioDriver;
242 SDLTest_AssertCheck(iMax > 0,
"Validate number of audio drivers; expected: >0 got: %d", iMax);
243 for (i = 0; i < iMax; i++) {
247 SDLTest_AssertCheck(audioDriver[0] !=
'\0',
"Audio driver name is not empty; got: %s", audioDriver);
250 for (j = 0; j < 2; j++) {
262 desired.
freq = 22050;
271 desired.
freq = 48000;
286 for (l=0; l<3; l++) {
295 for (k=0; k <=
j; k++) {
311 for (k=0; k <=
j; k++) {
350 const char *
name, *nameAgain;
353 for (t=0; t<2; t++) {
358 SDLTest_Log(
"Number of %s devices < 0, reported as %i", (t) ?
"capture" :
"output", n);
365 SDLTest_AssertCheck(n==nn,
"Verify result from SDL_GetNumAudioDevices(%i), expected same number of audio devices %i, got %i", tt, n, nn);
367 SDLTest_AssertCheck(n==nn,
"Verify result from SDL_GetNumAudioDevices(%i), expected same number of audio devices %i, got %i", -tt, n, nn);
372 for (i=0; i<
n; i++) {
377 SDLTest_AssertCheck(name[0] !=
'\0',
"verify result from SDL_GetAudioDeviceName(%i, %i) is not empty, got: '%s'", i, t, name);
382 SDLTest_AssertCheck(nameAgain !=
NULL,
"Verify result from SDL_GetAudioDeviceName(%i, %i) is not NULL", i, tt);
383 if (nameAgain !=
NULL) {
384 SDLTest_AssertCheck(nameAgain[0] !=
'\0',
"Verify result from SDL_GetAudioDeviceName(%i, %i) is not empty, got: '%s'", i, tt, nameAgain);
386 "Verify SDL_GetAudioDeviceName(%i, %i) and SDL_GetAudioDeviceName(%i %i) return the same string",
417 for (t=0; t<2; t++) {
422 SDLTest_AssertCheck(name ==
NULL,
"Check SDL_GetAudioDeviceName(%i, %i) result NULL, expected NULL, got: %s", i, t, (name ==
NULL) ?
"NULL" : name);
425 for (j=0; j<3; j++) {
426 i = (
t) ? nc+j : no+j;
429 SDLTest_AssertCheck(name ==
NULL,
"Check SDL_GetAudioDeviceName(%i, %i) result, expected: NULL, got: %s", i, t, (name ==
NULL) ?
"NULL" : name);
433 if ((no>0) && (no>nc) && (t==1)) {
437 SDLTest_AssertCheck(name ==
NULL,
"Check SDL_GetAudioDeviceName(%i, %i) result, expected: NULL, got: %s", i, t, (name ==
NULL) ?
"NULL" : name);
464 for (i=0; i<
n; i++) {
469 SDLTest_AssertCheck(name[0] !=
'\0',
"Verify returned name is not empty, got: '%s'", name);
490 SDLTest_AssertCheck(name[0] !=
'\0',
"Verify returned name is not empty, got: '%s'", name);
501 char *
_audioFormatsVerbose[] = {
"AUDIO_S8",
"AUDIO_U8",
"AUDIO_S16LSB",
"AUDIO_S16MSB",
"AUDIO_S16SYS",
"AUDIO_S16",
"AUDIO_U16LSB",
502 "AUDIO_U16MSB",
"AUDIO_U16SYS",
"AUDIO_U16",
"AUDIO_S32LSB",
"AUDIO_S32MSB",
"AUDIO_S32SYS",
"AUDIO_S32",
503 "AUDIO_F32LSB",
"AUDIO_F32MSB",
"AUDIO_F32SYS",
"AUDIO_F32" };
521 int i, ii,
j, jj,
k, kk;
559 SDLTest_AssertPass(
"Call to SDL_BuildAudioCVT(format[%i]=%s(%i),channels[%i]=%i,freq[%i]=%i ==> format[%i]=%s(%i),channels[%i]=%i,freq[%i]=%i)",
560 i,
_audioFormatsVerbose[i], spec1.
format, j, spec1.
channels, k, spec1.
freq, ii,
_audioFormatsVerbose[ii], spec2.
format, jj, spec2.
channels, kk, spec2.
freq);
561 SDLTest_AssertCheck(result == 0 || result == 1,
"Verify result value; expected: 0 or 1, got: %i", result);
581 const char *expectedError =
"Parameter 'cvt' is invalid";
611 "Validate error message, expected: '%s', got: '%s'", expectedError, error);
615 for (i = 1; i < 64; i++) {
682 "Verify returned value; expected: STOPPED (%i) | PLAYING (%i) | PAUSED (%i), got: %i",
708 for (i = 0; i <
count; i++) {
733 "Verify returned value; expected: STOPPED (%i) | PLAYING (%i) | PAUSED (%i), got: %i",
766 for (i = 0; i <
count; i++) {
792 SDLTest_Log(
"Simulate callback processing - delay");
825 int i, ii,
j, jj,
k, kk, l, ll;
828 for (c = 1; c < 8; c++) {
865 }
while ((i == ii) && (j == jj) && (k == kk));
872 SDLTest_AssertPass(
"Call to SDL_BuildAudioCVT(format[%i]=%s(%i),channels[%i]=%i,freq[%i]=%i ==> format[%i]=%s(%i),channels[%i]=%i,freq[%i]=%i)",
873 i,
_audioFormatsVerbose[i], spec1.
format, j, spec1.
channels, k, spec1.
freq, ii,
_audioFormatsVerbose[ii], spec2.
format, jj, spec2.
channels, kk, spec2.
freq);
884 SDLTest_Log(
"Creating dummy sample buffer of %i length (%i bytes)", l, ll);
928 for (i = 0; i <
count; i++) {
951 #ifdef AUDIODEVICECONNECTED_DEFINED
953 result = SDL_AudioDeviceConnected(
id);