static void PSL1GHT_AUD_CloseDevice(_THIS) { deprintf( "PSL1GHT_AUD_CloseDevice(%08X.%08X)\n", SHW64(this)); int ret = 0; ret=audioPortStop(_portNum); deprintf("audioPortStop: %d\n",ret); ret=audioRemoveNotifyEventQueue(_snd_queue_key); deprintf("audioRemoveNotifyEventQueue: %d\n",ret); ret=audioPortClose(_portNum); deprintf("audioPortClose: %d\n",ret); ret=sysEventQueueDestroy(_snd_queue, 0); deprintf("sysEventQueueDestroy: %d\n",ret); ret=audioQuit(); deprintf("audioQuit: %d\n",ret); SDL_free(this->hidden); }
int main(int argc,char *argv[]) { u32 portNum,i; audioPortParam params; audioPortConfig config; s32 ret = audioInit(); printf("audioInit: %08x\n",ret); params.numChannels = AUDIO_PORT_2CH; params.numBlocks = AUDIO_BLOCK_8; params.attrib = 0x1000; params.level = 1.0f; ret = audioPortOpen(¶ms,&portNum); printf("audioPortOpen: %08x\n",ret); printf(" portNum: %d\n",portNum); ret = audioGetPortConfig(portNum,&config); printf("audioGetPortConfig: %08x\n",ret); printf("config.readIndex: %08x\n",config.readIndex); printf("config.status: %d\n",config.status); printf("config.channelCount: %ld\n",config.channelCount); printf("config.numBlocks: %ld\n",config.numBlocks); printf("config.portSize: %d\n",config.portSize); printf("config.audioDataStart: %08x\n",config.audioDataStart); ret = audioCreateNotifyEventQueue(&snd_queue,&snd_key); printf("audioCreateNotifyEventQueue: %08x\n",ret); printf("snd_queue: %16lx\n",(long unsigned int)snd_queue); printf("snd_key: %16lx\n",snd_key); ret = audioSetNotifyEventQueue(snd_key); printf("audioSetNotifyEventQueue: %08x\n",ret); ret = sysEventQueueDrain(snd_queue); printf("sysEventQueueDrain: %08x\n",ret); ret = audioPortStart(portNum); printf("audioPortStart: %08x\n",ret); i = 0; while(i<1000) { playOneBlock(&config); i++; } ret = audioPortStop(portNum); printf("audioPortStop: %08x\n",ret); ret = audioRemoveNotifyEventQueue(snd_key); printf("audioRemoveNotifyEventQueue: %08x\n",ret); ret = audioPortClose(portNum); printf("audioPortClose: %08x\n",ret); ret = sysEventQueueDestroy(snd_queue,0); printf("sysEventQueueDestroy: %08x\n",ret); ret = audioQuit(); printf("audioQuit: %08x\n",ret); return 0; }