OpenAL streaming and threads
Salut,
J'ai réussi à lire un son avec openal en streaming, mais quand je crée un thread pour jouer le son je vois que mon cpu est presque à 100%
vous avez une petite idée pour diminuer l'usage du cpu ?
voici comment je fais appel au thread:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
/* pour jouer le son */
void play(ASS_Sound* sound)
{
pthread_create(&sound->thread,NULL,ASS_PlaySound,(void*)sound);
}
/* et la fonction pour mettre à jour le son */
void* ASS_PlaySound(void* snd)
{
ASS_Sound* sound=snd;
alSourcePlay(sound->source);
while(updateStream(sound)) /* peut être cette boucle qui consomme le cpu ??*/
{
if(!(ASS_GetStatus(*sound)==AL_PLAYING))
{
if(!playback(sound))
printf("stream abruptly stopped.");
else
printf("stream was interrupted.\n");
}
}
} |
Merci d'avance