Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
+#include "quakedef.h"
#include <sys/param.h>
#include <sys/audioio.h>
#endif
#include <unistd.h>
-#include "quakedef.h"
#include "snd_main.h"
}
AUDIO_INITINFO (&info);
-#ifdef AUMODE_PLAY // NetBSD / OpenBSD
+#ifdef AUMODE_PLAY // NetBSD / OpenBSD
info.mode = AUMODE_PLAY;
#endif
info.play.sample_rate = requested->speed;
#ifdef SUNOS
info.play.encoding = AUDIO_ENCODING_LINEAR;
#else
-# if BYTE_ORDER == BIG_ENDIAN
+ if (mem_bigendian)
info.play.encoding = AUDIO_ENCODING_SLINEAR_BE;
-# else
+ else
info.play.encoding = AUDIO_ENCODING_SLINEAR_LE;
-# endif
#endif
- if (ioctl (audio_fd, AUDIO_SETINFO, &info) == 0)
- break;
+ if (ioctl (audio_fd, AUDIO_SETINFO, &info) != 0)
+ {
+ Con_Printf("Can't set up the sound device (%s)\n", snddev);
+ return false;
+ }
// TODO: check the parameters with AUDIO_GETINFO
// TODO: check AUDIO_ENCODINGFLAG_EMULATED with AUDIO_GETENC
{
unsigned int startoffset, factor, limit, nbframes;
int written;
-
+
if (audio_fd < 0 ||
snd_renderbuffer->startframe == snd_renderbuffer->endframe)
return;
snd_renderbuffer->startframe += written / factor;
- if ((unsigned int)written < nbframes * factor)
+ if ((unsigned int)written < limit * factor)
{
- Con_Printf("SndSys_Submit: audio can't keep up! (%d < %u)\n", written, nbframes * factor);
+ Con_Printf("SndSys_Submit: audio can't keep up! (%u < %u)\n", written, limit * factor);
return;
}
-
+
nbframes -= limit;
startoffset = 0;
}
if (ioctl (audio_fd, AUDIO_GETINFO, &info) < 0)
{
Con_Print("Error: can't get audio info\n");
- SNDDMA_Shutdown ();
+ SndSys_Shutdown ();
return 0;
}
{
// Nothing to do
}
+
+/*
+====================
+SndSys_SendKeyEvents
+
+Send keyboard events originating from the sound system (e.g. MIDI)
+====================
+*/
+void SndSys_SendKeyEvents(void)
+{
+ // not supported
+}