static int Audio_Available(void)
{
	if (LoadNASLibrary() == 0) {
		AuServer *aud = NAS_AuOpenServer("", 0, NULL, 0, NULL, NULL);
		if (!aud) {
			UnloadNASLibrary();
			return 0;
		}
		NAS_AuCloseServer(aud);
		UnloadNASLibrary();
		return 1;
	}
	return 0;
}
static int
LoadNASLibrary(void)
{
    int retval = 0;
    if (nas_handle == NULL) {
        nas_handle = SDL_LoadObject(nas_library);
        if (nas_handle == NULL) {
            /* Copy error string so we can use it in a new SDL_SetError(). */
            char *origerr = SDL_GetError();
            size_t len = SDL_strlen(origerr) + 1;
            char *err = (char *) alloca(len);
            SDL_strlcpy(err, origerr, len);
            retval = -1;
            SDL_SetError("NAS: SDL_LoadObject('%s') failed: %s\n",
                         nas_library, err);
        } else {
            retval = load_nas_syms();
            if (retval < 0) {
                UnloadNASLibrary();
            }
        }
    }
    return retval;
}
static void Audio_DeleteDevice(SDL_AudioDevice *device)
{
	UnloadNASLibrary();
	SDL_free(device->hidden);
	SDL_free(device);
}
Beispiel #4
0
static void
NAS_Deinitialize(void)
{
    UnloadNASLibrary();
}