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 stream
= alureCreateStreamFromFile(argv
[1], 32768, 0, NULL
);
43 fprintf(stderr
, "Could not load %s: %s\n", argv
[1], alureGetErrorString());
44 alDeleteSources(1, &src
);
46 alureShutdownDevice();
50 if(!alurePlaySourceStream(src
, stream
, NUM_BUFS
, 0, eos_callback
, NULL
))
52 fprintf(stderr
, "Failed to play stream: %s\n", alureGetErrorString());
61 alureStopSource(src
, AL_FALSE
);
63 alDeleteSources(1, &src
);
64 alureDestroyStream(stream
, 0, NULL
);
66 alureShutdownDevice();