5 volatile int isdone = 0;
6 static void eos_callback(void *unused, ALuint unused2)
15 int main(int argc, char **argv)
22 fprintf(stderr, "Usage %s <soundfile>\n", argv[0]);
26 if(!alureInitDevice(NULL, NULL))
28 fprintf(stderr, "Failed to open OpenAL device: %s\n", alureGetErrorString());
32 alGenSources(1, &src);
33 if(alGetError() != AL_NO_ERROR)
35 fprintf(stderr, "Failed to create OpenAL source!\n");
36 alureShutdownDevice();
40 alureStreamSizeIsMicroSec(AL_TRUE);
42 stream = alureCreateStreamFromFile(argv[1], 250000, 0, NULL);
45 fprintf(stderr, "Could not load %s: %s\n", argv[1], alureGetErrorString());
46 alDeleteSources(1, &src);
48 alureShutdownDevice();
52 if(!alurePlaySourceStream(src, stream, NUM_BUFS, 0, eos_callback, NULL))
54 fprintf(stderr, "Failed to play stream: %s\n", alureGetErrorString());
63 alureStopSource(src, AL_FALSE);
65 alDeleteSources(1, &src);
66 alureDestroyStream(stream, 0, NULL);
68 alureShutdownDevice();