Basically, mpg123 assumptions about audio is broken. It assumes that audio ioctl that change mode are instantaneous, which they are not, most often, so that with the old model, start-up was 80 ioctl, which amounts to ~10 seconds with wss. Added lazyness to basic audio.c so that it won't try to determine whether we can play @ 8000Hz mono when 44100Hz stereo is what we want, and it works...
20 lines
859 B
Plaintext
20 lines
859 B
Plaintext
--- audio.h.orig Mon Jan 11 17:21:38 1999
|
|
+++ audio.h Tue Mar 23 01:58:01 1999
|
|
@@ -24,7 +24,7 @@
|
|
#define AUDIO_RATE_TOLERANCE 3
|
|
|
|
#if 0
|
|
-#if defined(HPUX) || defined(SUNOS) || defined(SOLARIS) || defined(OSS) || defined(__NetBSD__) || defined(SPARCLINUX) || defined(__FreeBSD__)
|
|
+#if defined(HPUX) || defined(SUNOS) || defined(SOLARIS) || defined(OSS) || defined(__NetBSD__) || defined(SPARCLINUX) || defined(__FreeBSD__) || defined(__OpenBSD__)
|
|
#endif
|
|
#endif
|
|
|
|
@@ -85,6 +85,6 @@
|
|
extern int audio_write_sample(struct audio_info_struct *,short *,int);
|
|
extern int audio_close(struct audio_info_struct *);
|
|
extern void audio_info_struct_init(struct audio_info_struct *);
|
|
-#if defined(SOLARIS) || defined(__NetBSD__)
|
|
+#if defined(SOLARIS) || defined(__NetBSD__) || defined(__OpenBSD__)
|
|
extern void audio_queueflush(struct audio_info_struct *ai);
|
|
#endif
|