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;
switch (mmap_control->status.status) {
case SND_PCM_STATUS_PREPARED:
if ((rc=snd_pcm_channel_go(pcm_handle, SND_PCM_CHANNEL_PLAYBACK))<0) {
- Qprintf(stderr, "unable to start playback. %s\n",
+ fprintf(stderr, "unable to start playback. %s\n",
snd_strerror(rc));
exit(1);
}
break;
case SND_PCM_STATUS_UNDERRUN:
if ((rc=snd_pcm_plugin_prepare(pcm_handle, SND_PCM_CHANNEL_PLAYBACK))<0) {
- Qprintf(stderr, "underrun: playback channel prepare error. %s\n",
+ fprintf(stderr, "underrun: playback channel prepare error. %s\n",
snd_strerror(rc));
exit(1);
}
}
}
+void *S_LockBuffer(void)
+{
+ return shm->buffer;
+}
+
+void S_UnlockBuffer(void)
+{
+}