void sound_get_buffer(void *priv) { int c; sound_get_buffer_time += (TIMER_USEC * (1000000 / 10)); memset(outbuffer, 0, SOUNDBUFLEN * 2 * sizeof(int16_t)); for (c = 0; c < sound_handlers_num; c++) sound_handlers[c].get_buffer(outbuffer, SOUNDBUFLEN, sound_handlers[c].priv); /* if (!soundf) soundf=fopen("sound.pcm","wb"); fwrite(outbuffer,(SOUNDBUFLEN)*2*2,1,soundf);*/ if (soundon) givealbuffer(outbuffer); }
void sound_poll(void *priv) { sound_poll_time += sound_poll_latch; sound_pos_global++; if (sound_pos_global == SOUNDBUFLEN) { int c; memset(outbuffer, 0, SOUNDBUFLEN * 2 * sizeof(int16_t)); for (c = 0; c < sound_handlers_num; c++) sound_handlers[c].get_buffer(outbuffer, SOUNDBUFLEN, sound_handlers[c].priv); /* if (!soundf) soundf=fopen("sound.pcm","wb"); fwrite(outbuffer,(SOUNDBUFLEN)*2*2,1,soundf);*/ if (soundon) givealbuffer(outbuffer); thread_set_event(sound_cd_event); sound_pos_global = 0; } }