mask = snd_cards_mask();
if (!mask) {
- Con_Printf("No sound cards detected\n");
+ Con_Print("No sound cards detected\n");
return 0;
}
if ((i=COM_CheckParm("-sndcard"))!=0) {
rate=11025;
frag_size=128; /* assuming stereo 8 bit */
} else {
- Con_Printf("ALSA: desired rates not supported\n");
+ Con_Print("ALSA: desired rates not supported\n");
goto error_2;
}
if ((format==-1 || format==SND_PCM_SFMT_S16_LE) && cinfo.formats & SND_PCM_FMT_S16_LE) {
format=SND_PCM_SFMT_U8;
bps=8;
} else {
- Con_Printf("ALSA: desired formats not supported\n");
+ Con_Print("ALSA: desired formats not supported\n");
goto error_2;
}
if (stereo && cinfo.max_voices>=2) {
frag_size/=2;
}
-// err_msg="audio flush";
-// if ((rc=snd_pcm_channel_flush(pcm_handle, SND_PCM_CHANNEL_PLAYBACK))<0)
-// goto error;
err_msg="audio munmap";
if ((rc=snd_pcm_munmap(pcm_handle, SND_PCM_CHANNEL_PLAYBACK))<0)
goto error;
params.buf.block.frag_size=frag_size;
params.buf.block.frags_min=1;
params.buf.block.frags_max=-1;
-// err_msg="audio flush";
-// if ((rc=snd_pcm_channel_flush(pcm_handle, SND_PCM_CHANNEL_PLAYBACK))<0)
-// goto error;
err_msg="audio params";
if ((rc=snd_pcm_channel_params(pcm_handle, ¶ms))<0)
goto error;
if ((rc=snd_pcm_channel_setup(pcm_handle, &setup))<0)
goto error;
- shm=&sn;
memset((dma_t*)shm,0,sizeof(*shm));
- shm->splitbuffer = 0;
shm->channels=setup.format.voices;
- shm->submission_chunk=128; // don't mix less than this #
shm->samplepos=0; // in mono samples
shm->samplebits=setup.format.format==SND_PCM_SFMT_S16_LE?16:8;
shm->samples=setup.buf.block.frags*setup.buf.block.frag_size/(shm->samplebits/8); // mono samples in buffer
Con_Printf("%5d samples\n", shm->samples);
Con_Printf("%5d samplepos\n", shm->samplepos);
Con_Printf("%5d samplebits\n", shm->samplebits);
- Con_Printf("%5d submission_chunk\n", shm->submission_chunk);
Con_Printf("%5d speed\n", shm->speed);
Con_Printf("0x%x dma buffer\n", (int)shm->buffer);
Con_Printf("%5d total_channels\n", total_channels);
}
}
+void *S_LockBuffer(void)
+{
+ return shm->buffer;
+}
+
+void S_UnlockBuffer(void)
+{
+}
+