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();