dummy audio: Implemented dummy audio capture support. :)

This commit is contained in:
Ryan C. Gordon 2016-08-03 02:18:47 -04:00
parent 9dd8477a21
commit 17246ba95e

View file

@ -32,12 +32,28 @@ DUMMYAUD_OpenDevice(_THIS, void *handle, const char *devname, int iscapture)
return 0; /* always succeeds. */ return 0; /* always succeeds. */
} }
static int
DUMMYAUD_CaptureFromDevice(_THIS, void *buffer, int buflen)
{
/* Delay to make this sort of simulate real audio input. */
SDL_Delay((device->spec.samples * 1000) / device->spec.freq);
/* always return a full buffer of silence. */
SDL_memset(buffer, this->spec.silence, buflen);
return buflen;
}
static int static int
DUMMYAUD_Init(SDL_AudioDriverImpl * impl) DUMMYAUD_Init(SDL_AudioDriverImpl * impl)
{ {
/* Set the function pointers */ /* Set the function pointers */
impl->OpenDevice = DUMMYAUD_OpenDevice; impl->OpenDevice = DUMMYAUD_OpenDevice;
impl->CaptureFromDevice = DUMMYAUD_CaptureFromDevice;
impl->OnlyHasDefaultOutputDevice = 1; impl->OnlyHasDefaultOutputDevice = 1;
impl->OnlyHasDefaultInputDevice = 1;
impl->HasCaptureSupport = SDL_TRUE;
return 1; /* this audio target is available. */ return 1; /* this audio target is available. */
} }