--- uae/src/sd-uss/sound.h 2018/04/24 16:40:30 1.1 +++ uae/src/sd-uss/sound.h 2018/04/24 17:19:11 1.1.1.4 @@ -1,22 +1,23 @@ - /* + /* * UAE - The Un*x Amiga Emulator - * + * * Support for Linux/USS sound - * + * * Copyright 1997 Bernd Schmidt */ -extern int sound_fd; -extern uae_u16 sndbuffer[]; -extern uae_u16 *sndbufpt; +extern uae_u16 *sndbufpt, *sndbuf_base; extern int sndbufsize; -static __inline__ void check_sound_buffers (void) +extern void finish_sound_buffers (void); + +STATIC_INLINE int check_sound_buffers (void) { - if ((char *)sndbufpt - (char *)sndbuffer >= sndbufsize) { - write (sound_fd, sndbuffer, sndbufsize); - sndbufpt = sndbuffer; + if ((char *)sndbufpt - (char *)sndbuf_base >= sndbufsize) { + finish_sound_buffers (); + return 1; } + return 0; } #define PUT_SOUND_BYTE(b) do { *(uae_u8 *)sndbufpt = b; sndbufpt = (uae_u16 *)(((uae_u8 *)sndbufpt) + 1); } while (0) @@ -28,8 +29,8 @@ static __inline__ void check_sound_buffe #define SOUND16_BASE_VAL 0 #define SOUND8_BASE_VAL 128 -#define DEFAULT_SOUND_MAXB 8192 -#define DEFAULT_SOUND_MINB 8192 +#define DEFAULT_SOUND_MAXB 2048 +#define DEFAULT_SOUND_MINB 2048 #define DEFAULT_SOUND_BITS 16 #define DEFAULT_SOUND_FREQ 44100 #define HAVE_STEREO_SUPPORT