mirror of
https://github.com/yawut/SDL.git
synced 2026-07-20 18:07:56 -05:00
NetBSD patch to use AUDIO_GETBUFINFO when available (contributed by jmcneill)
This commit is contained in:
parent
7bf6954e55
commit
d79c21ea69
|
|
@ -53,6 +53,10 @@
|
|||
/* Open the audio device for playback, and don't block if busy */
|
||||
#define OPEN_FLAGS (O_WRONLY|O_NONBLOCK)
|
||||
|
||||
#if defined(AUDIO_GETINFO) && !defined(AUDIO_GETBUFINFO)
|
||||
#define AUDIO_GETBUFINFO AUDIO_GETINFO
|
||||
#endif
|
||||
|
||||
/* Audio driver functions */
|
||||
static int DSP_OpenAudio(_THIS, SDL_AudioSpec * spec);
|
||||
static void DSP_WaitAudio(_THIS);
|
||||
|
|
@ -129,11 +133,11 @@ AudioBootStrap SUNAUDIO_bootstrap = {
|
|||
void
|
||||
CheckUnderflow(_THIS)
|
||||
{
|
||||
#ifdef AUDIO_GETINFO
|
||||
#ifdef AUDIO_GETBUFINFO
|
||||
audio_info_t info;
|
||||
int left;
|
||||
|
||||
ioctl(audio_fd, AUDIO_GETINFO, &info);
|
||||
ioctl(audio_fd, AUDIO_GETBUFINFO, &info);
|
||||
left = (written - info.play.samples);
|
||||
if (written && (left == 0)) {
|
||||
fprintf(stderr, "audio underflow!\n");
|
||||
|
|
@ -145,12 +149,12 @@ CheckUnderflow(_THIS)
|
|||
void
|
||||
DSP_WaitAudio(_THIS)
|
||||
{
|
||||
#ifdef AUDIO_GETINFO
|
||||
#ifdef AUDIO_GETBUFINFO
|
||||
#define SLEEP_FUDGE 10 /* 10 ms scheduling fudge factor */
|
||||
audio_info_t info;
|
||||
Sint32 left;
|
||||
|
||||
ioctl(audio_fd, AUDIO_GETINFO, &info);
|
||||
ioctl(audio_fd, AUDIO_GETBUFINFO, &info);
|
||||
left = (written - info.play.samples);
|
||||
if (left > fragsize) {
|
||||
Sint32 sleepy;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user