head 1.2; access; symbols pkgsrc-2026Q1:1.2.0.116 pkgsrc-2026Q1-base:1.2 pkgsrc-2025Q4:1.2.0.114 pkgsrc-2025Q4-base:1.2 pkgsrc-2025Q3:1.2.0.112 pkgsrc-2025Q3-base:1.2 pkgsrc-2025Q2:1.2.0.110 pkgsrc-2025Q2-base:1.2 pkgsrc-2025Q1:1.2.0.108 pkgsrc-2025Q1-base:1.2 pkgsrc-2024Q4:1.2.0.106 pkgsrc-2024Q4-base:1.2 pkgsrc-2024Q3:1.2.0.104 pkgsrc-2024Q3-base:1.2 pkgsrc-2024Q2:1.2.0.102 pkgsrc-2024Q2-base:1.2 pkgsrc-2024Q1:1.2.0.100 pkgsrc-2024Q1-base:1.2 pkgsrc-2023Q4:1.2.0.98 pkgsrc-2023Q4-base:1.2 pkgsrc-2023Q3:1.2.0.96 pkgsrc-2023Q3-base:1.2 pkgsrc-2023Q2:1.2.0.94 pkgsrc-2023Q2-base:1.2 pkgsrc-2023Q1:1.2.0.92 pkgsrc-2023Q1-base:1.2 pkgsrc-2022Q4:1.2.0.90 pkgsrc-2022Q4-base:1.2 pkgsrc-2022Q3:1.2.0.88 pkgsrc-2022Q3-base:1.2 pkgsrc-2022Q2:1.2.0.86 pkgsrc-2022Q2-base:1.2 pkgsrc-2022Q1:1.2.0.84 pkgsrc-2022Q1-base:1.2 pkgsrc-2021Q4:1.2.0.82 pkgsrc-2021Q4-base:1.2 pkgsrc-2021Q3:1.2.0.80 pkgsrc-2021Q3-base:1.2 pkgsrc-2021Q2:1.2.0.78 pkgsrc-2021Q2-base:1.2 pkgsrc-2021Q1:1.2.0.76 pkgsrc-2021Q1-base:1.2 pkgsrc-2020Q4:1.2.0.74 pkgsrc-2020Q4-base:1.2 pkgsrc-2020Q3:1.2.0.72 pkgsrc-2020Q3-base:1.2 pkgsrc-2020Q2:1.2.0.68 pkgsrc-2020Q2-base:1.2 pkgsrc-2020Q1:1.2.0.48 pkgsrc-2020Q1-base:1.2 pkgsrc-2019Q4:1.2.0.70 pkgsrc-2019Q4-base:1.2 pkgsrc-2019Q3:1.2.0.66 pkgsrc-2019Q3-base:1.2 pkgsrc-2019Q2:1.2.0.64 pkgsrc-2019Q2-base:1.2 pkgsrc-2019Q1:1.2.0.62 pkgsrc-2019Q1-base:1.2 pkgsrc-2018Q4:1.2.0.60 pkgsrc-2018Q4-base:1.2 pkgsrc-2018Q3:1.2.0.58 pkgsrc-2018Q3-base:1.2 pkgsrc-2018Q2:1.2.0.56 pkgsrc-2018Q2-base:1.2 pkgsrc-2018Q1:1.2.0.54 pkgsrc-2018Q1-base:1.2 pkgsrc-2017Q4:1.2.0.52 pkgsrc-2017Q4-base:1.2 pkgsrc-2017Q3:1.2.0.50 pkgsrc-2017Q3-base:1.2 pkgsrc-2017Q2:1.2.0.46 pkgsrc-2017Q2-base:1.2 pkgsrc-2017Q1:1.2.0.44 pkgsrc-2017Q1-base:1.2 pkgsrc-2016Q4:1.2.0.42 pkgsrc-2016Q4-base:1.2 pkgsrc-2016Q3:1.2.0.40 pkgsrc-2016Q3-base:1.2 pkgsrc-2016Q2:1.2.0.38 pkgsrc-2016Q2-base:1.2 pkgsrc-2016Q1:1.2.0.36 pkgsrc-2016Q1-base:1.2 pkgsrc-2015Q4:1.2.0.34 pkgsrc-2015Q4-base:1.2 pkgsrc-2015Q3:1.2.0.32 pkgsrc-2015Q3-base:1.2 pkgsrc-2015Q2:1.2.0.30 pkgsrc-2015Q2-base:1.2 pkgsrc-2015Q1:1.2.0.28 pkgsrc-2015Q1-base:1.2 pkgsrc-2014Q4:1.2.0.26 pkgsrc-2014Q4-base:1.2 pkgsrc-2014Q3:1.2.0.24 pkgsrc-2014Q3-base:1.2 pkgsrc-2014Q2:1.2.0.22 pkgsrc-2014Q2-base:1.2 pkgsrc-2014Q1:1.2.0.20 pkgsrc-2014Q1-base:1.2 pkgsrc-2013Q4:1.2.0.18 pkgsrc-2013Q4-base:1.2 pkgsrc-2013Q3:1.2.0.16 pkgsrc-2013Q3-base:1.2 pkgsrc-2013Q2:1.2.0.14 pkgsrc-2013Q2-base:1.2 pkgsrc-2013Q1:1.2.0.12 pkgsrc-2013Q1-base:1.2 pkgsrc-2012Q4:1.2.0.10 pkgsrc-2012Q4-base:1.2 pkgsrc-2012Q3:1.2.0.8 pkgsrc-2012Q3-base:1.2 pkgsrc-2012Q2:1.2.0.6 pkgsrc-2012Q2-base:1.2 pkgsrc-2012Q1:1.2.0.4 pkgsrc-2012Q1-base:1.2 pkgsrc-2011Q4:1.2.0.2 pkgsrc-2011Q4-base:1.2 pkgsrc-2011Q3:1.1.0.74 pkgsrc-2011Q3-base:1.1 pkgsrc-2011Q2:1.1.0.72 pkgsrc-2011Q2-base:1.1 pkgsrc-2011Q1:1.1.0.70 pkgsrc-2011Q1-base:1.1 pkgsrc-2010Q4:1.1.0.68 pkgsrc-2010Q4-base:1.1 pkgsrc-2010Q3:1.1.0.66 pkgsrc-2010Q3-base:1.1 pkgsrc-2010Q2:1.1.0.64 pkgsrc-2010Q2-base:1.1 pkgsrc-2010Q1:1.1.0.62 pkgsrc-2010Q1-base:1.1 pkgsrc-2009Q4:1.1.0.60 pkgsrc-2009Q4-base:1.1 pkgsrc-2009Q3:1.1.0.58 pkgsrc-2009Q3-base:1.1 pkgsrc-2009Q2:1.1.0.56 pkgsrc-2009Q2-base:1.1 pkgsrc-2009Q1:1.1.0.54 pkgsrc-2009Q1-base:1.1 pkgsrc-2008Q4:1.1.0.52 pkgsrc-2008Q4-base:1.1 pkgsrc-2008Q3:1.1.0.50 pkgsrc-2008Q3-base:1.1 cube-native-xorg:1.1.0.48 cube-native-xorg-base:1.1 pkgsrc-2008Q2:1.1.0.46 pkgsrc-2008Q2-base:1.1 cwrapper:1.1.0.44 pkgsrc-2008Q1:1.1.0.42 pkgsrc-2008Q1-base:1.1 pkgsrc-2007Q4:1.1.0.40 pkgsrc-2007Q4-base:1.1 pkgsrc-2007Q3:1.1.0.38 pkgsrc-2007Q3-base:1.1 pkgsrc-2007Q2:1.1.0.36 pkgsrc-2007Q2-base:1.1 pkgsrc-2007Q1:1.1.0.34 pkgsrc-2007Q1-base:1.1 pkgsrc-2006Q4:1.1.0.32 pkgsrc-2006Q4-base:1.1 pkgsrc-2006Q3:1.1.0.30 pkgsrc-2006Q3-base:1.1 pkgsrc-2006Q2:1.1.0.28 pkgsrc-2006Q2-base:1.1 pkgsrc-2006Q1:1.1.0.26 pkgsrc-2006Q1-base:1.1 pkgsrc-2005Q4:1.1.0.24 pkgsrc-2005Q4-base:1.1 pkgsrc-2005Q3:1.1.0.22 pkgsrc-2005Q3-base:1.1 pkgsrc-2005Q2:1.1.0.20 pkgsrc-2005Q2-base:1.1 pkgsrc-2005Q1:1.1.0.18 pkgsrc-2005Q1-base:1.1 pkgsrc-2004Q4:1.1.0.16 pkgsrc-2004Q4-base:1.1 pkgsrc-2004Q3:1.1.0.14 pkgsrc-2004Q3-base:1.1 pkgsrc-2004Q2:1.1.0.12 pkgsrc-2004Q2-base:1.1 pkgsrc-2004Q1:1.1.0.10 pkgsrc-2004Q1-base:1.1 pkgsrc-2003Q4:1.1.0.8 pkgsrc-2003Q4-base:1.1 netbsd-1-6-1:1.1.0.4 netbsd-1-6-1-base:1.1 netbsd-1-6:1.1.0.6 netbsd-1-6-RELEASE-base:1.1 pkgviews:1.1.0.2 pkgviews-base:1.1; locks; strict; comment @# @; 1.2 date 2011.11.22.20.57.35; author wiz; state Exp; branches; next 1.1; 1.1 date 2002.06.27.15.52.19; author agc; state Exp; branches; next ; desc @@ 1.2 log @Unconditionalize the DragonFly patches for newer c++. Use patches instead of sed. Set LICENSE while here. @ text @$NetBSD: patch-ai,v 1.1 2002/06/27 15:52:19 agc Exp $ --- obuffer.cc.orig 1994-06-27 11:14:03.000000000 +0000 +++ obuffer.cc @@@@ -47,7 +47,7 @@@@ #include #include #include -#include +#include #include "obuffer.h" #include "header.h" #ifdef ULAW @@@@ -65,14 +65,14 @@@@ FileObuffer::FileObuffer (uint32 number_ #ifdef DEBUG if (!number_of_channels || number_of_channels > MAXCHANNELS) { - cerr << "FileObuffer: number of channels has to be in [1, " << MAXCHANNELS << "] !\n"; + std::cerr << "FileObuffer: number of channels has to be in [1, " << MAXCHANNELS << "] !\n"; exit (1); } #endif #ifdef ULAW if (number_of_channels > 1) - cerr << "Are you sure you need stereo u-law output?\n"; + std::cerr << "Are you sure you need stereo u-law output?\n"; #endif channels = number_of_channels; for (int i = 0; i < number_of_channels; ++i) @@@@ -85,12 +85,12 @@@@ void FileObuffer::append (uint32 channel #ifdef DEBUG if (channel >= channels) { - cerr << "illegal channelnumber in FileObuffer::append()!\n"; + std::cerr << "illegal channelnumber in FileObuffer::append()!\n"; exit (1); } if (bufferp[channel] - buffer >= OBUFFERSIZE) { - cerr << "FileObuffer: buffer overflow!\n"; + std::cerr << "FileObuffer: buffer overflow!\n"; exit (1); } #endif @@@@ -143,7 +143,7 @@@@ IndigoObuffer::IndigoObuffer (uint32 num #ifdef DEBUG if (!number_of_channels || number_of_channels > MAXCHANNELS) { - cerr << "IndigoObuffer: number of channels has to be in [1, " << MAXCHANNELS << "] !\n"; + std::cerr << "IndigoObuffer: number of channels has to be in [1, " << MAXCHANNELS << "] !\n"; exit (1); } #endif @@@@ -155,7 +155,7 @@@@ IndigoObuffer::IndigoObuffer (uint32 num ALconfig config; if (!(config = ALnewconfig ())) { - cerr << "ALnewconfig failed!\n"; + std::cerr << "ALnewconfig failed!\n"; exit (1); } ALsetwidth (config, AL_SAMPLE_16); @@@@ -165,7 +165,7 @@@@ IndigoObuffer::IndigoObuffer (uint32 num ALsetchannels (config, AL_STEREO); if (!(port = ALopenport ("MPEG audio player", "w", config))) { - cerr << "can't allocate an audio port!\n"; + std::cerr << "can't allocate an audio port!\n"; exit (1); } @@@@ -190,12 +190,12 @@@@ void IndigoObuffer::append (uint32 chann #ifdef DEBUG if (channel >= channels) { - cerr << "illegal channelnumber in IndigoObuffer::append()!\n"; + std::cerr << "illegal channelnumber in IndigoObuffer::append()!\n"; exit (1); } if (bufferp[channel] - buffer >= OBUFFERSIZE) { - cerr << "IndigoObuffer: buffer overflow!\n"; + std::cerr << "IndigoObuffer: buffer overflow!\n"; exit (1); } #endif @@@@ -217,17 +217,17 @@@@ void IndigoObuffer::write_buffer (int) int SparcObuffer::audio_fd = -1; #ifdef ULAW -SparcObuffer::SparcObuffer (Header *header, bool use_speaker, bool use_headphone, bool use_line_out) +SparcObuffer::SparcObuffer (Header *header, boolean use_speaker, boolean use_headphone, boolean use_line_out) #else SparcObuffer::SparcObuffer (uint32 number_of_channels, Header *header, - bool use_speaker, bool use_headphone, bool use_line_out) + boolean use_speaker, boolean use_headphone, boolean use_line_out) #endif { #ifndef ULAW #ifdef DEBUG if (!number_of_channels || number_of_channels > MAXCHANNELS) { - cerr << "SparcObuffer: 0 < number of channels < " << MAXCHANNELS << "!\n"; + std::cerr << "SparcObuffer: 0 < number of channels < " << MAXCHANNELS << "!\n"; exit (1); } #endif @@@@ -235,7 +235,7 @@@@ SparcObuffer::SparcObuffer (uint32 numbe if (audio_fd < 0) { - cerr << "Internal error: SparcObuffer::audio_fd has to be initialized\n" + std::cerr << "Internal error: SparcObuffer::audio_fd has to be initialized\n" "by SparcObuffer::class_suitable()!\n"; exit (1); } @@@@ -296,7 +296,7 @@@@ void SparcObuffer::append (uint32 channe #ifdef DEBUG if (bufferp - buffer >= OBUFFERSIZE >> 1) { - cerr << "SparcObuffer: buffer overflow!\n"; + std::cerr << "SparcObuffer: buffer overflow!\n"; exit (1); } #endif @@@@ -307,12 +307,12 @@@@ void SparcObuffer::append (uint32 channe #ifdef DEBUG if (channel >= channels) { - cerr << "illegal channelnumber in SparcObuffer::append()!\n"; + std::cerr << "illegal channelnumber in SparcObuffer::append()!\n"; exit (1); } if (bufferp[channel] - buffer >= OBUFFERSIZE) { - cerr << "SparcObuffer: buffer overflow!\n"; + std::cerr << "SparcObuffer: buffer overflow!\n"; exit (1); } #endif @@@@ -351,7 +351,7 @@@@ int SparcObuffer::open_audio_device (voi if ((fd = open ("/dev/audio", O_WRONLY | O_NDELAY, 0)) < 0) if (errno == EBUSY) { - cerr << "Sorry, the audio device is busy!\n"; + std::cerr << "Sorry, the audio device is busy!\n"; exit (1); } else @@@@ -398,7 +398,7 @@@@ int SparcObuffer::get_device_type (int f } return devtype; #else - cerr << "SparcObuffer::get_device_type(): AUDIO_GETDEV ioctl not available!\n"; + std::cerr << "SparcObuffer::get_device_type(): AUDIO_GETDEV ioctl not available!\n"; return -1; #endif } @@@@ -406,15 +406,15 @@@@ int SparcObuffer::get_device_type (int f #ifdef ULAW -bool SparcObuffer::class_suitable (uint32 number_of_channels, bool force_amd) +boolean SparcObuffer::class_suitable (uint32 number_of_channels, boolean force_amd) #else -bool SparcObuffer::class_suitable (void) +boolean SparcObuffer::class_suitable (void) #endif { #ifdef ULAW if (number_of_channels > 1) { - cerr << "Your audio hardware cannot handle more than one audio channel.\n" + std::cerr << "Your audio hardware cannot handle more than one audio channel.\n" "Please use the option -l or -r for stereo streams.\n"; return False; } @@@@ -436,7 +436,7 @@@@ bool SparcObuffer::class_suitable (void) return True; else if (!strcmp (devtype.name, "SUNW,dbri")) { - cerr << "Your machine can produce CD-quality audio output,\n" + std::cerr << "Your machine can produce CD-quality audio output,\n" "but this binary was compiled for 8 kHz u-law ouput. (telephone quality)\n" "Please recompile it without the ULAW define in COMPILERFLAGS.\n" "(or use the -amd option to use this binary with low-quality output)\n"; @@@@ -448,7 +448,7 @@@@ bool SparcObuffer::class_suitable (void) return True; else if (!strcmp (devtype.name, "SUNW,am79c30")) { - cerr << "Your machine can produce 8 kHz u-law audio output only,\n" + std::cerr << "Your machine can produce 8 kHz u-law audio output only,\n" "but this binary was compiled for CD-quality output.\n" "Please recompile it with ULAW defined in COMPILERFLAGS\n" "or use it in stdout mode as an decoder only.\n"; @@@@ -464,7 +464,7 @@@@ bool SparcObuffer::class_suitable (void) # ifdef ULAW return True; # else - cerr << "Your machine can produce 8 kHz u-law audio output only,\n" + std::cerr << "Your machine can produce 8 kHz u-law audio output only,\n" "but this binary was compiled for CD-quality output.\n" "Please recompile it with ULAW defined in COMPILERFLAGS\n" "or use it in stdout mode as an decoder only.\n"; @@@@ -479,7 +479,7 @@@@ bool SparcObuffer::class_suitable (void) return True; else if (device_type == AUDIO_DEV_SPEAKERBOX) { - cerr << "Your machine can produce CD-quality audio output,\n" + std::cerr << "Your machine can produce CD-quality audio output,\n" "but this binary was compiled for 8 kHz u-law ouput. (telephone quality)\n" "Please recompile it without the ULAW define in COMPILERFLAGS.\n" "(or use the -amd option to use this binary with low-quality output)\n"; @@@@ -491,7 +491,7 @@@@ bool SparcObuffer::class_suitable (void) return True; else if (device_type == AUDIO_DEV_AMD) { - cerr << "Your machine can produce 8 kHz u-law audio output only,\n" + std::cerr << "Your machine can produce 8 kHz u-law audio output only,\n" "but this binary was compiled for CD-quality output.\n" "Please recompile it with ULAW defined in COMPILERFLAGS\n" "or use it in stdout mode as an decoder only.\n"; @@@@ -504,7 +504,7 @@@@ bool SparcObuffer::class_suitable (void) #ifndef SunOS4_1_1 close (audio_fd); - cerr << "Sorry, I don't recognize your audio device.\n" + std::cerr << "Sorry, I don't recognize your audio device.\n" # ifdef ULAW "Please try the -amd option or use the stdout mode.\n"; # else @@@@ -527,7 +527,7 @@@@ int LinuxObuffer::open_audio_device (voi if ((fd = open ("/dev/dsp", O_WRONLY | O_NDELAY, 0)) < 0) if (errno == EBUSY) { - cerr << "Sorry, the audio device is busy!\n"; + std::cerr << "Sorry, the audio device is busy!\n"; exit (1); } else @@@@ -537,6 +537,7 @@@@ int LinuxObuffer::open_audio_device (voi } // turn NDELAY mode off: +#ifndef __FreeBSD__ /* Our /dev/audio doesn't like non-blocking I/O */ int flags; if ((flags = fcntl (fd, F_GETFL, 0)) < 0) { @@@@ -549,6 +550,7 @@@@ int LinuxObuffer::open_audio_device (voi perror ("fcntl F_SETFL on /dev/audio failed"); exit (1); } +#endif return fd; } @@@@ -558,7 +560,7 @@@@ LinuxObuffer::LinuxObuffer (uint32 numbe #ifdef DEBUG if (!number_of_channels || number_of_channels > MAXCHANNELS) { - cerr << "LinuxObuffer: 0 < number of channels < " << MAXCHANNELS << "!\n"; + std::cerr << "LinuxObuffer: 0 < number of channels < " << MAXCHANNELS << "!\n"; exit (1); } #endif @@@@ -568,7 +570,7 @@@@ LinuxObuffer::LinuxObuffer (uint32 numbe if (audio_fd < 0) { - cerr << "Internal error, LinuxObuffer::audio_fd has to be initialized\n" + std::cerr << "Internal error, LinuxObuffer::audio_fd has to be initialized\n" "by LinuxObuffer::class_suitable()!\n"; exit (1); } @@@@ -602,12 +604,12 @@@@ void LinuxObuffer::append (uint32 channe #ifdef DEBUG if (channel >= channels) { - cerr << "illegal channelnumber in LinuxObuffer::append()!\n"; + std::cerr << "illegal channelnumber in LinuxObuffer::append()!\n"; exit (1); } if (bufferp[channel] - buffer >= OBUFFERSIZE) { - cerr << "buffer overflow!\n"; + std::cerr << "buffer overflow!\n"; exit (1); } #endif @@@@ -629,7 +631,7 @@@@ void LinuxObuffer::write_buffer (int) } -bool LinuxObuffer::class_suitable (uint32 number_of_channels) +boolean LinuxObuffer::class_suitable (uint32 number_of_channels) { // open the dsp audio device: audio_fd = open_audio_device (); @@@@ -637,3 +639,122 @@@@ bool LinuxObuffer::class_suitable (uint3 } #endif /* LINUX */ + +#ifdef NETBSD +int NetBSDObuffer::audio_fd = -1; + +int NetBSDObuffer::open_audio_device (void) +{ + int fd; + + if ((fd = open ("/dev/audio", O_WRONLY | O_NDELAY, 0)) < 0) + if (errno == EBUSY) + { + std::cerr << "Sorry, the audio device is busy!\n"; + exit (1); + } + else + { + perror ("can't open /dev/audio for writing"); + exit (1); + } + + int flags; + if ((flags = fcntl (fd, F_GETFL, 0)) < 0) + { + perror ("fcntl F_GETFL on /dev/audio failed"); + exit (1); + } + flags &= ~O_NDELAY; + if (fcntl (fd, F_SETFL, flags) < 0) + { + perror ("fcntl F_SETFL on /dev/audio failed"); + exit (1); + } + return fd; +} + + +NetBSDObuffer::NetBSDObuffer (uint32 number_of_channels, Header *header) +{ +#ifdef DEBUG + if (!number_of_channels || number_of_channels > MAXCHANNELS) + { + std::cerr << "NetBSDObuffer: 0 < number of channels < " << MAXCHANNELS << "!\n"; + exit (1); + } +#endif + channels = number_of_channels; + for (int i = 0; i < number_of_channels; ++i) + bufferp[i] = buffer + i; + + if (audio_fd < 0) + { + std::cerr << "Internal error, NetBSDObuffer::audio_fd has to be initialized\n" + "by NetBSDObuffer::class_suitable()!\n"; + exit (1); + } + + audio_info info; + AUDIO_INITINFO(&info); + + // configure the device: + info.play.encoding = AUDIO_ENCODING_SLINEAR; + info.play.precision = 16; + info.play.channels = channels; + info.play.sample_rate = header->frequency (); + + if (ioctl (audio_fd, AUDIO_SETINFO, &info)) + { + perror ("configuration of /dev/audio failed"); + exit (1); + } +} + + +NetBSDObuffer::~NetBSDObuffer (void) +{ + close (audio_fd); +} + + +void NetBSDObuffer::append (uint32 channel, int16 value) +{ +#ifdef DEBUG + if (channel >= channels) + { + std::cerr << "illegal channelnumber in NetBSDObuffer::append()!\n"; + exit (1); + } + if (bufferp[channel] - buffer >= OBUFFERSIZE) + { + std::cerr << "buffer overflow!\n"; + exit (1); + } +#endif + *bufferp[channel] = value; + bufferp[channel] += channels; +} + + +void NetBSDObuffer::write_buffer (int) +{ + int length = (int)((char *)bufferp[0] - (char *)buffer); + if (write (audio_fd, buffer, length) != length) + { + perror ("write to /dev/audio failed"); + exit (1); + } + for (int i = 0; i < channels; ++i) + bufferp[i] = buffer + i; +} + + +boolean NetBSDObuffer::class_suitable (uint32 number_of_channels) +{ + // open the dsp audio device: + audio_fd = open_audio_device (); + return True; +} + +#endif /* NETBSD */ @ 1.1 log @Fix a compilation problem on 1.6 and above. Split patch files out into one file per patch-file. @ text @d1 1 a1 1 $NetBSD$ d3 86 a88 3 --- obuffer.cc 2002/06/27 15:41:04 1.1 +++ obuffer.cc 2002/06/27 15:41:40 @@@@ -217,10 +217,10 @@@@ d101 60 a160 1 @@@@ -406,9 +406,9 @@@@ d172 71 a242 1 @@@@ -537,6 +537,7 @@@@ d250 1 a250 1 @@@@ -549,6 +550,7 @@@@ d258 34 a291 1 @@@@ -629,7 +631,7 @@@@ d300 1 a300 1 @@@@ -637,3 +639,122 @@@@ d315 1 a315 1 + cerr << "Sorry, the audio device is busy!\n"; d345 1 a345 1 + cerr << "NetBSDObuffer: 0 < number of channels < " << MAXCHANNELS << "!\n"; d355 1 a355 1 + cerr << "Internal error, NetBSDObuffer::audio_fd has to be initialized\n" d388 1 a388 1 + cerr << "illegal channelnumber in NetBSDObuffer::append()!\n"; d393 1 a393 1 + cerr << "buffer overflow!\n"; @